FIBUdataServiceStack

<back to all web services

PayPalListeRequest

The following routes are available for this service:
GET, POST/fibuscan/Onlinehandel/PayPalListe
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 TransactionAmount:
    currency_code: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FeeAmount:
    currency_code: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EndingBalance:
    currency_code: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AvailableBalance:
    currency_code: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionInfo:
    paypal_account_id: Optional[str] = None
    transaction_id: Optional[str] = None
    transaction_event_code: Optional[str] = None
    transaction_initiation_date: datetime.datetime = datetime.datetime(1, 1, 1)
    transaction_updated_date: datetime.datetime = datetime.datetime(1, 1, 1)
    transaction_amount: Optional[TransactionAmount] = None
    fee_amount: Optional[FeeAmount] = None
    transaction_status: Optional[str] = None
    transaction_subject: Optional[str] = None
    ending_balance: Optional[EndingBalance] = None
    available_balance: Optional[AvailableBalance] = None
    invoice_id: Optional[str] = None
    custom_field: Optional[str] = None
    protection_eligibility: Optional[str] = None
    paypal_reference_id: Optional[str] = None
    paypal_reference_id_type: Optional[str] = None
    bank_reference_id: Optional[str] = None
    credit_term: Optional[str] = None
    transaction_note: Optional[str] = None
    payment_method_type: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PayerName:
    given_name: Optional[str] = None
    surname: Optional[str] = None
    alternate_full_name: Optional[str] = None
    middle_name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PayerInfo:
    account_id: Optional[str] = None
    email_address: Optional[str] = None
    address_status: Optional[str] = None
    payer_status: Optional[str] = None
    payer_name: Optional[PayerName] = None
    country_code: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Address:
    line1: Optional[str] = None
    city: Optional[str] = None
    country_code: Optional[str] = None
    postal_code: Optional[str] = None
    address_line_1: Optional[str] = None
    admin_area_2: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ShippingInfo:
    name: Optional[str] = None
    address: Optional[Address] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ItemUnitPrice:
    currency_code: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ItemAmount:
    currency_code: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TotalItemAmount:
    currency_code: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BasicShippingAmount:
    currency_code: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ItemDetail:
    item_code: Optional[str] = None
    item_name: Optional[str] = None
    item_description: Optional[str] = None
    item_quantity: Optional[str] = None
    item_unit_price: Optional[ItemUnitPrice] = None
    item_amount: Optional[ItemAmount] = None
    total_item_amount: Optional[TotalItemAmount] = None
    basic_shipping_amount: Optional[BasicShippingAmount] = None
    invoice_number: Optional[str] = None
    tax_percentage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CartInfo:
    item_details: Optional[List[ItemDetail]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StoreInfo:
    pass


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AuctionInfo:
    auction_site: Optional[str] = None
    auction_item_site: Optional[str] = None
    auction_buyer_id: Optional[str] = None
    auction_closing_date: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IncentiveInfo:
    pass


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionDetail:
    transaction_info: Optional[TransactionInfo] = None
    payer_info: Optional[PayerInfo] = None
    shipping_info: Optional[ShippingInfo] = None
    cart_info: Optional[CartInfo] = None
    store_info: Optional[StoreInfo] = None
    auction_info: Optional[AuctionInfo] = None
    incentive_info: Optional[IncentiveInfo] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PayPalListeListeResponse:
    transaction_details: Optional[List[TransactionDetail]] = None
    pay_pal_json: Optional[List[str]] = None
    liste: Optional[List[List[OnlinehandelItem]]] = None
    neue_datei_i_d: Optional[int] = None


class Oem(IntEnum):
    FIBUDATA = 0
    SPECTRUM = 3


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PayPalListeRequest:
    oem: Optional[Oem] = None
    von_datum: Optional[datetime.datetime] = None
    bis_datum: Optional[datetime.datetime] = None
    bank_i_d: Optional[int] = None
    alle_neue_laden: bool = False
    pay_pal_client_i_d: Optional[str] = None
    pay_pal_secret: Optional[str] = None
    pay_pal_waehrung: Optional[str] = None
    onlinehande_datei_genieren: Optional[bool] = None

Python PayPalListeRequest 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/PayPalListe HTTP/1.1 
Host: ws4.fibudata.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	oem: fibudata,
	VonDatum: 0001-01-01,
	BisDatum: 0001-01-01,
	BankID: 0,
	AlleNeueLaden: False,
	PayPalClientID: String,
	PayPalSecret: String,
	PayPalWaehrung: String,
	OnlinehandeDateiGenieren: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	transaction_details: 
	[
		{
			transaction_info: 
			{
				paypal_account_id: String,
				transaction_id: String,
				transaction_event_code: String,
				transaction_initiation_date: 0001-01-01,
				transaction_updated_date: 0001-01-01,
				transaction_amount: 
				{
					currency_code: String,
					value: String
				},
				fee_amount: 
				{
					currency_code: String,
					value: String
				},
				transaction_status: String,
				transaction_subject: String,
				ending_balance: 
				{
					currency_code: String,
					value: String
				},
				available_balance: 
				{
					currency_code: String,
					value: String
				},
				invoice_id: String,
				custom_field: String,
				protection_eligibility: String,
				paypal_reference_id: String,
				paypal_reference_id_type: String,
				bank_reference_id: String,
				credit_term: String,
				transaction_note: String,
				payment_method_type: String
			},
			payer_info: 
			{
				account_id: String,
				email_address: String,
				address_status: String,
				payer_status: String,
				payer_name: 
				{
					given_name: String,
					surname: String,
					alternate_full_name: String,
					middle_name: String
				},
				country_code: String
			},
			shipping_info: 
			{
				name: String,
				address: 
				{
					line1: String,
					city: String,
					country_code: String,
					postal_code: String,
					address_line_1: String,
					admin_area_2: String
				}
			},
			cart_info: 
			{
				item_details: 
				[
					{
						item_code: String,
						item_name: String,
						item_description: String,
						item_quantity: String,
						item_unit_price: 
						{
							currency_code: String,
							value: String
						},
						item_amount: 
						{
							currency_code: String,
							value: String
						},
						total_item_amount: 
						{
							currency_code: String,
							value: String
						},
						basic_shipping_amount: 
						{
							currency_code: String,
							value: String
						},
						invoice_number: String,
						tax_percentage: String
					}
				]
			},
			store_info: {},
			auction_info: 
			{
				auction_site: String,
				auction_item_site: String,
				auction_buyer_id: String,
				auction_closing_date: 0001-01-01
			},
			incentive_info: {}
		}
	],
	PayPalJson: 
	[
		String
	],
	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
}