FIBUdataServiceStack

<back to all web services

OnlinehandelAbrechnungSpeichernRequest

The following routes are available for this service:
GET, POST/fibuscan/Onlinehandel/AbrechnungSpeichern
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 onlinehandel_abrechnung_light(IPrimaryKey, IMandnr, IDel, ITableBase):
    id: Optional[int] = None
    mandant: Optional[int] = None
    del_: Optional[int] = field(metadata=config(field_name='del'), default=None)
    bezeichnung: Optional[str] = None
    guid: Optional[str] = None
    parent_guid: Optional[str] = None
    _erstellt: Optional[datetime.datetime] = None
    _aenderung: Optional[datetime.datetime] = None
    nutzer_id: Optional[int] = None
    in_arbeit: Optional[int] = None
    ausgewaehlte_treffertypen: Optional[str] = None
    ausgewaehlte_zahlsysteme: Optional[str] = None
    zip_dateiname: Optional[str] = None
    exportdatum: Optional[datetime.datetime] = None
    # @Ignore()
    primary_key: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class onlinehandel_abrechnung(onlinehandel_abrechnung_light):
    geparste_results_keys: Optional[bytes] = None
    geparste_results_values: Optional[bytes] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OnlinehandelAbrechnungSpeichernResponse:
    error_m_s_g: Optional[str] = None
    warnung_m_s_g: Optional[str] = None
    in_arbeit: Optional[int] = None
    tmp_pfad: Optional[str] = None
    inserted_datei: Optional[onlinehandel_abrechnung] = None


class FortschrittsDetailsTyp(str, Enum):
    ONLINEHANDEL_DATEI = 'onlinehandel_datei'
    ONLINEHANDEL_ABRECHNUNG = 'onlinehandel_abrechnung'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class onlinehandel_datei(IPrimaryKey, IMandnr, IDel, ITableBase):
    id: Optional[int] = None
    mandant: Optional[int] = None
    bankindex: Optional[int] = None
    del_: Optional[int] = field(metadata=config(field_name='del'), default=None)
    dateiname: Optional[str] = None
    kopf_hash: Optional[str] = None
    betragskonvertierung: Optional[int] = None
    datumskonvertierung: Optional[int] = None
    trennzeichen: Optional[str] = None
    originalname: Optional[str] = None
    textcodierung: Optional[int] = None
    dateityp: Optional[int] = None
    kopfspalte_vorhanden: Optional[int] = None
    dateiinhalt: Optional[str] = None
    _erstellt: Optional[datetime.datetime] = None
    _aenderung: Optional[datetime.datetime] = None
    _checked: Optional[datetime.datetime] = None
    originaldatei: Optional[bytes] = None
    anfangsdatum: Optional[datetime.datetime] = None
    enddatum: Optional[datetime.datetime] = None
    positionen_anzahl: Optional[int] = None
    betragssumme: Optional[Decimal] = None
    abrechnung_id: Optional[int] = None
    offene_positionen_id: Optional[int] = None
    bemerkung: Optional[str] = None
    guid: Optional[str] = None
    naechste_datei_id: Optional[int] = None
    letzte_datei_id: Optional[int] = None
    id2_text: Optional[str] = None
    kopf_faengt_mit: Optional[str] = None
    muster: Optional[int] = None
    schnittstelle: Optional[int] = None
    subpfad: Optional[str] = None
    originaldateiname: Optional[str] = None
    dateiinhalt_pfad: Optional[str] = None
    anfangssaldo: Optional[Decimal] = None
    endsaldo: Optional[Decimal] = None
    aktueller_saldo: Optional[Decimal] = None
    json_data: Optional[str] = None
    waehrung: Optional[str] = None
    # @Ignore()
    primary_key: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FortschrittsDetails:
    wert: Decimal = decimal.Decimal(0)
    server_name: Optional[str] = None
    server_id: Optional[int] = None
    last_update: datetime.datetime = datetime.datetime(1, 1, 1)
    vorgang_guid: Optional[str] = None
    inserted_datei_guid: Optional[str] = None
    details: Optional[str] = None
    regel: Optional[str] = None
    dauer: Optional[str] = None
    gesamt: Optional[str] = None
    mandnr: int = 0
    server: Optional[str] = None
    von: Optional[datetime.datetime] = None
    bis: Optional[datetime.datetime] = None
    typ: Optional[FortschrittsDetailsTyp] = None
    status: Optional[int] = None
    schnittstelle_id: Optional[int] = None
    bank_id: Optional[int] = None
    ausgangsrechnung_kontonummer: Optional[int] = None
    succes_lst: Optional[List[str]] = None
    error_lst: Optional[List[str]] = None
    warnungs_lst: Optional[List[str]] = None
    selected__schnittstellen: Optional[Dict[str, List[str]]] = None
    datei: Optional[onlinehandel_datei] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OnlinehandelAbrechnungSpeichernRequest:
    guid: Optional[str] = None
    abrechnung_guid: Optional[str] = None
    lst_filters: Optional[List[int]] = None
    lst_zahl_system_filter: Optional[List[str]] = None
    direkt_speichern: bool = False
    zip_datei: Optional[bytes] = None
    parser_vorgang_guid: Optional[str] = None
    source_server_name: Optional[str] = None
    parser_fortschritte_liste: Optional[List[FortschrittsDetails]] = None

Python OnlinehandelAbrechnungSpeichernRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /fibuscan/Onlinehandel/AbrechnungSpeichern HTTP/1.1 
Host: ws4.fibudata.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	guid: String,
	abrechnung_guid: String,
	lstFilters: 
	[
		0
	],
	lstZahlSystemFilter: 
	[
		String
	],
	DirektSpeichern: False,
	ZipDatei: AA==,
	ParserVorgangGuid: String,
	SourceServerName: String,
	ParserFortschritteListe: 
	[
		{
			Wert: 0,
			server_name: String,
			server_id: 0,
			LastUpdate: 0001-01-01,
			VorgangGuid: String,
			InsertedDateiGuid: String,
			Details: String,
			Regel: String,
			Dauer: String,
			Gesamt: String,
			Mandnr: 0,
			Server: String,
			Von: 0001-01-01,
			Bis: 0001-01-01,
			Typ: onlinehandel_datei,
			Status: 0,
			Schnittstelle_id: 0,
			Bank_id: 0,
			AusgangsrechnungKontonummer: 0,
			SuccesLst: 
			[
				String
			],
			ErrorLst: 
			[
				String
			],
			WarnungsLst: 
			[
				String
			],
			Selected_Schnittstellen: 
			{
				String: 
				[
					String
				]
			},
			datei: 
			{
				id: 0,
				mandant: 0,
				bankindex: 0,
				del: 0,
				dateiname: String,
				kopf_hash: String,
				betragskonvertierung: 0,
				datumskonvertierung: 0,
				trennzeichen: String,
				originalname: String,
				textcodierung: 0,
				dateityp: 0,
				kopfspalte_vorhanden: 0,
				dateiinhalt: String,
				_erstellt: 0001-01-01,
				_aenderung: 0001-01-01,
				_checked: 0001-01-01,
				originaldatei: AA==,
				anfangsdatum: 0001-01-01,
				enddatum: 0001-01-01,
				positionen_anzahl: 0,
				betragssumme: 0,
				abrechnung_id: 0,
				offene_positionen_id: 0,
				bemerkung: String,
				guid: String,
				naechste_datei_id: 0,
				letzte_datei_id: 0,
				id2_text: String,
				kopf_faengt_mit: String,
				muster: 0,
				schnittstelle: 0,
				subpfad: String,
				originaldateiname: String,
				dateiinhalt_pfad: String,
				anfangssaldo: 0,
				endsaldo: 0,
				aktueller_saldo: 0,
				json_data: String,
				waehrung: String,
				PrimaryKey: 0
			}
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	errorMSG: String,
	warnungMSG: String,
	in_arbeit: 0,
	tmpPfad: String,
	inserted_datei: 
	{
		geparste_results_keys: AA==,
		geparste_results_values: AA==,
		id: 0,
		mandant: 0,
		del: 0,
		bezeichnung: String,
		guid: String,
		parent_guid: String,
		_erstellt: 0001-01-01,
		_aenderung: 0001-01-01,
		nutzer_id: 0,
		in_arbeit: 0,
		ausgewaehlte_treffertypen: String,
		ausgewaehlte_zahlsysteme: String,
		zip_dateiname: String,
		exportdatum: 0001-01-01,
		PrimaryKey: 0
	}
}