| GET, POST | /fibuscan/Onlinehandel/SchnittstellenImport |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class KontoauszugUmsatzDetailsModel:
ultimater__creditor__name: Optional[str] = None
mandatsreferenz: Optional[str] = None
schecknummer: Optional[str] = None
banktransactioncode: Optional[str] = None
amount: Decimal = decimal.Decimal(0)
code: Optional[str] = None
creditor__name: Optional[str] = None
creditor__i_b_a_n: Optional[str] = None
verwendungszweck: Optional[str] = None
return_information_reason_code: Optional[str] = None
transaction_identification: Optional[str] = None
zusätzliche_transaktiondetails: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class KontoauszugUmsatzModel:
id: Optional[str] = None
amount: Decimal = decimal.Decimal(0)
is_storno: bool = False
status: Optional[str] = None
buchungsdatum: datetime.datetime = datetime.datetime(1, 1, 1)
wertstellungsdatum: datetime.datetime = datetime.datetime(1, 1, 1)
service_reference: Optional[str] = None
bank_transaction_code: Optional[str] = None
is_sammler: bool = False
sammler__information: Optional[str] = None
sammler__i_d: Optional[str] = None
sammler__anzahl: int = 0
zusatzinformation: Optional[str] = None
umsatz_detail_liste: Optional[List[KontoauszugUmsatzDetailsModel]] = None
rechnungsnummer: Optional[str] = None
auftraggeber_b_l_z: Optional[str] = None
auftraggeber_kto: Optional[str] = None
auftraggeber: Optional[str] = None
buchungstyp: Optional[str] = None
end_saldo: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SchnittstellenImportResponse:
liste: Optional[List[List[OnlinehandelItem]]] = None
neue_datei_i_d: Optional[int] = None
error: Optional[str] = None
warnungen: Optional[str] = None
keine_daten: bool = False
real_report_id: Optional[int] = None
buchungen: Optional[List[KontoauszugUmsatzModel]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CheckAmazonDataResponse:
error: Optional[str] = None
anzahl: int = 0
start_saldo: Decimal = decimal.Decimal(0)
end_saldo: Decimal = decimal.Decimal(0)
orders_id: Optional[List[str]] = None
rueckmeldung: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SchnittstellenImportRequest:
von_datum: Optional[datetime.datetime] = None
bis_datum: Optional[datetime.datetime] = None
bank_i_d: Optional[int] = None
schnittstelle: int = 0
auth_wert1: Optional[str] = None
auth_wert2: Optional[str] = None
auth_wert3: Optional[str] = None
auth_wert4: Optional[str] = None
auth_wert5: Optional[str] = None
ausgangsrechnung_kontonummer: Optional[str] = None
auth__dropdown1: Optional[str] = None
onlinehande_datei_genieren: Optional[bool] = None
bestehende_real_report_id: Optional[int] = None
zugangsdaten_speichern: bool = False
i_d1_checked: bool = False
id_checked: bool = False
nur_neue: bool = False
alle_daten_importieren: bool = False
is_web_client: bool = False
schnittstelle_ausnahmen: Optional[List[int]] = None
amazon_alle_maerkte: bool = False
mit_warenbewegung: bool = False
mit_offene_posten: bool = False
mit_verkauf_an_amazon: bool = False
mit_commingling: bool = False
tagesgenau_abruf: bool = False
response_support_tools: Optional[CheckAmazonDataResponse] = None
Python SchnittstellenImportRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /fibuscan/Onlinehandel/SchnittstellenImport HTTP/1.1
Host: ws4.fibudata.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
VonDatum: 0001-01-01,
BisDatum: 0001-01-01,
BankID: 0,
Schnittstelle: 0,
Auth_wert1: String,
Auth_wert2: String,
Auth_wert3: String,
Auth_wert4: String,
Auth_wert5: String,
AusgangsrechnungKontonummer: String,
Auth_Dropdown1: String,
OnlinehandeDateiGenieren: False,
bestehende_real_report_id: 0,
ZugangsdatenSpeichern: False,
ID1Checked: False,
IDChecked: False,
NurNeue: False,
AlleDatenImportieren: False,
IsWebClient: False,
SchnittstelleAusnahmen:
[
0
],
AmazonAlleMaerkte: False,
MitWarenbewegung: False,
MitOffenePosten: False,
MitVerkaufAnAmazon: False,
MitCommingling: False,
TagesgenauAbruf: False,
ResponseSupportTools:
{
error: String,
anzahl: 0,
startSaldo: 0,
endSaldo: 0,
orders_id:
[
String
],
rueckmeldung: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Liste:
[
[
{
fehler: False,
original: String,
header: String,
col_nummer: 0,
konfiguration: OrderiD,
summenkonfiguration: False,
value: {},
datum: 0001-01-01,
zahl: 0,
datum_string: String,
zahl_string: String
}
]
],
NeueDateiID: 0,
error: String,
warnungen: String,
KeineDaten: False,
real_report_id: 0,
Buchungen:
[
{
ID: String,
Amount: 0,
IsStorno: False,
Status: String,
Buchungsdatum: 0001-01-01,
Wertstellungsdatum: 0001-01-01,
ServiceReference: String,
BankTransactionCode: String,
IsSammler: False,
Sammler_Information: String,
Sammler_ID: String,
Sammler_Anzahl: 0,
Zusatzinformation: String,
UmsatzDetailListe:
[
{
Ultimater_Creditor_Name: String,
Mandatsreferenz: String,
Schecknummer: String,
Banktransactioncode: String,
Amount: 0,
Code: String,
Creditor_Name: String,
Creditor_IBAN: String,
Verwendungszweck: String,
ReturnInformationReasonCode: String,
TransactionIdentification: String,
ZusätzlicheTransaktiondetails: String
}
],
Rechnungsnummer: String,
AuftraggeberBLZ: String,
AuftraggeberKto: String,
Auftraggeber: String,
Buchungstyp: String,
EndSaldo: 0
}
]
}