| GET | /api/customerMaster/{OwnerGln}/{CustomerMasterIdentification} | Get specific customer by customerMasterIdentification Id |
|---|
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
Object = TypeVar('Object')
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AvpList:
code: Optional[str] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Ecom_PartyIdentificationType:
gln: Optional[str] = None
name: Optional[str] = None
additional_party_identification: List[AvpList] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CommunicationChannel:
communication_channel_code: Optional[str] = None
communication_channel_name: Optional[str] = None
communication_value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Contact:
contact_type_code: Optional[str] = None
person_name: Optional[str] = None
department_name: Optional[str] = None
job_title: Optional[str] = None
responsibility: Optional[str] = None
communication_channel: List[CommunicationChannel] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Address:
street_address_one: Optional[str] = None
street_address_two: Optional[str] = None
street_address_three: Optional[str] = None
city: Optional[str] = None
postal_code: Optional[str] = None
province_code: Optional[str] = None
country_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FinancialRoutingNumber:
number: Optional[str] = None
number_type_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FinancialAccount:
number: Optional[str] = None
number_type_code: Optional[str] = None
name: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FinancialInstitutionInformation:
financial_institution_branch_name: Optional[str] = None
financial_institution_name: Optional[str] = None
financial_routing_number: Optional[FinancialRoutingNumber] = None
financial_account: Optional[FinancialAccount] = None
swift_code: Optional[str] = None
exporters_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionalParty(Ecom_PartyIdentificationType):
contact: List[Contact] = field(default_factory=list)
address: Optional[Address] = None
communication_channel: List[AvpList] = field(default_factory=list)
financial_institution_information: Optional[FinancialInstitutionInformation] = None
duty_fee_tax_registration: Optional[str] = None
entity_identification: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerMasterAddress(Address):
address_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerRecord:
gln: Optional[str] = None
code: Optional[str] = None
name: Optional[str] = None
buyer_assigned_vendor_no: Optional[str] = None
supplier_assigned_vendor_no: Optional[str] = None
duty_fee_tax_registration: Optional[str] = None
entity_identification: Optional[str] = None
contact: List[Contact] = field(default_factory=list)
address: Optional[CustomerMasterAddress] = None
avp_list: List[AvpList] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CreditLimit:
limit: Decimal = decimal.Decimal(0)
balance: Decimal = decimal.Decimal(0)
available: Decimal = decimal.Decimal(0)
effective_date_time: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerMasterType(CustomerRecord):
pay_by_customer: Optional[CustomerRecord] = None
bill_to_customer: Optional[CustomerRecord] = None
routing_code: Optional[str] = None
store_type: Optional[str] = None
currency_code: Optional[str] = None
type: Optional[str] = None
group: Optional[str] = None
region: Optional[str] = None
zone_rate: Optional[str] = None
tax_rule: Optional[str] = None
payment_term: Optional[str] = None
shipment_site: Optional[str] = None
shipment_site_name: Optional[str] = None
shipment_site_gln: Optional[str] = None
accounting_code: Optional[str] = None
commercial_representative: Optional[str] = None
commercial_territory: Optional[str] = None
credit: Optional[CreditLimit] = None
nod: List[str] = field(default_factory=list)
ndd: List[str] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerMasterMessage:
data_source: Optional[TransactionalParty] = None
data_recipient: Optional[TransactionalParty] = None
customer_master_identification: Optional[str] = None
customer: List[CustomerMasterType] = field(default_factory=list)
document_status_code: Optional[str] = None
document_action_code: Optional[str] = None
creation_date_time: datetime.datetime = datetime.datetime(1, 1, 1)
last_update_date_time: datetime.datetime = datetime.datetime(1, 1, 1)
# @Api(Description="Customer Master")
# @ApiResponse(Description="Customer Master data", IsDefaultResponse=true, StatusCode=200)
# @ApiResponse(Description="No Content", ResponseType=typeof(IReturnVoid), StatusCode=204)
# @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType=typeof(ArgumentOutOfRangeException), StatusCode=400)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetCustomerMasterByIdentification:
"""
Customer Master
"""
# @ApiMember(Description="Owner GLN", ExcludeInSchema=true, ParameterType="path")
owner_gln: Optional[str] = None
"""
Owner GLN
"""
# @ApiMember(Description="Customer Master Identification", ExcludeInSchema=true, ParameterType="path")
customer_master_identification: Optional[str] = None
"""
Customer Master Identification
"""
Python GetCustomerMasterByIdentification DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/customerMaster/{OwnerGln}/{CustomerMasterIdentification} HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CustomerMasterMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.MasterData">
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<Customer>
<CustomerMasterType>
<Address>
<City xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</City>
<CountryCode xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</CountryCode>
<PostalCode xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</PostalCode>
<ProvinceCode xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</ProvinceCode>
<StreetAddressOne xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</StreetAddressOne>
<StreetAddressThree xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</StreetAddressThree>
<StreetAddressTwo xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</StreetAddressTwo>
<AddressType>String</AddressType>
</Address>
<AvpList xmlns:d4p1="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<d4p1:AvpList>
<d4p1:Code>String</d4p1:Code>
<d4p1:Value>String</d4p1:Value>
</d4p1:AvpList>
</AvpList>
<BuyerAssignedVendorNo>String</BuyerAssignedVendorNo>
<Code>String</Code>
<Contact xmlns:d4p1="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<d4p1:Contact>
<d4p1:CommunicationChannel>
<d4p1:CommunicationChannel>
<d4p1:CommunicationChannelCode>String</d4p1:CommunicationChannelCode>
<d4p1:CommunicationChannelName>String</d4p1:CommunicationChannelName>
<d4p1:CommunicationValue>String</d4p1:CommunicationValue>
</d4p1:CommunicationChannel>
</d4p1:CommunicationChannel>
<d4p1:ContactTypeCode>String</d4p1:ContactTypeCode>
<d4p1:DepartmentName>String</d4p1:DepartmentName>
<d4p1:JobTitle>String</d4p1:JobTitle>
<d4p1:PersonName>String</d4p1:PersonName>
<d4p1:Responsibility>String</d4p1:Responsibility>
</d4p1:Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<Gln>String</Gln>
<Name>String</Name>
<SupplierAssignedVendorNo>String</SupplierAssignedVendorNo>
<AccountingCode>String</AccountingCode>
<BillToCustomer>
<Address>
<City xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</City>
<CountryCode xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</CountryCode>
<PostalCode xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</PostalCode>
<ProvinceCode xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</ProvinceCode>
<StreetAddressOne xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</StreetAddressOne>
<StreetAddressThree xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</StreetAddressThree>
<StreetAddressTwo xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</StreetAddressTwo>
<AddressType>String</AddressType>
</Address>
<AvpList xmlns:d5p1="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<d5p1:AvpList>
<d5p1:Code>String</d5p1:Code>
<d5p1:Value>String</d5p1:Value>
</d5p1:AvpList>
</AvpList>
<BuyerAssignedVendorNo>String</BuyerAssignedVendorNo>
<Code>String</Code>
<Contact xmlns:d5p1="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<d5p1:Contact>
<d5p1:CommunicationChannel>
<d5p1:CommunicationChannel>
<d5p1:CommunicationChannelCode>String</d5p1:CommunicationChannelCode>
<d5p1:CommunicationChannelName>String</d5p1:CommunicationChannelName>
<d5p1:CommunicationValue>String</d5p1:CommunicationValue>
</d5p1:CommunicationChannel>
</d5p1:CommunicationChannel>
<d5p1:ContactTypeCode>String</d5p1:ContactTypeCode>
<d5p1:DepartmentName>String</d5p1:DepartmentName>
<d5p1:JobTitle>String</d5p1:JobTitle>
<d5p1:PersonName>String</d5p1:PersonName>
<d5p1:Responsibility>String</d5p1:Responsibility>
</d5p1:Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<Gln>String</Gln>
<Name>String</Name>
<SupplierAssignedVendorNo>String</SupplierAssignedVendorNo>
</BillToCustomer>
<CommercialRepresentative>String</CommercialRepresentative>
<CommercialTerritory>String</CommercialTerritory>
<Credit>
<Available>0</Available>
<Balance>0</Balance>
<EffectiveDateTime>0001-01-01T00:00:00</EffectiveDateTime>
<Limit>0</Limit>
</Credit>
<CurrencyCode>String</CurrencyCode>
<Group>String</Group>
<NDD xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</NDD>
<NOD xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</NOD>
<PayByCustomer>
<Address>
<City xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</City>
<CountryCode xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</CountryCode>
<PostalCode xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</PostalCode>
<ProvinceCode xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</ProvinceCode>
<StreetAddressOne xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</StreetAddressOne>
<StreetAddressThree xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</StreetAddressThree>
<StreetAddressTwo xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">String</StreetAddressTwo>
<AddressType>String</AddressType>
</Address>
<AvpList xmlns:d5p1="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<d5p1:AvpList>
<d5p1:Code>String</d5p1:Code>
<d5p1:Value>String</d5p1:Value>
</d5p1:AvpList>
</AvpList>
<BuyerAssignedVendorNo>String</BuyerAssignedVendorNo>
<Code>String</Code>
<Contact xmlns:d5p1="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<d5p1:Contact>
<d5p1:CommunicationChannel>
<d5p1:CommunicationChannel>
<d5p1:CommunicationChannelCode>String</d5p1:CommunicationChannelCode>
<d5p1:CommunicationChannelName>String</d5p1:CommunicationChannelName>
<d5p1:CommunicationValue>String</d5p1:CommunicationValue>
</d5p1:CommunicationChannel>
</d5p1:CommunicationChannel>
<d5p1:ContactTypeCode>String</d5p1:ContactTypeCode>
<d5p1:DepartmentName>String</d5p1:DepartmentName>
<d5p1:JobTitle>String</d5p1:JobTitle>
<d5p1:PersonName>String</d5p1:PersonName>
<d5p1:Responsibility>String</d5p1:Responsibility>
</d5p1:Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<Gln>String</Gln>
<Name>String</Name>
<SupplierAssignedVendorNo>String</SupplierAssignedVendorNo>
</PayByCustomer>
<PaymentTerm>String</PaymentTerm>
<Region>String</Region>
<RoutingCode>String</RoutingCode>
<ShipmentSite>String</ShipmentSite>
<ShipmentSiteGln>String</ShipmentSiteGln>
<ShipmentSiteName>String</ShipmentSiteName>
<StoreType>String</StoreType>
<TaxRule>String</TaxRule>
<Type>String</Type>
<ZoneRate>String</ZoneRate>
</CustomerMasterType>
</Customer>
<CustomerMasterIdentification>String</CustomerMasterIdentification>
<DataRecipient xmlns:d2p1="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<d2p1:AdditionalPartyIdentification>
<d2p1:AvpList>
<d2p1:Code>String</d2p1:Code>
<d2p1:Value>String</d2p1:Value>
</d2p1:AvpList>
</d2p1:AdditionalPartyIdentification>
<d2p1:Gln>String</d2p1:Gln>
<d2p1:Name>String</d2p1:Name>
<d2p1:Address>
<d2p1:City>String</d2p1:City>
<d2p1:CountryCode>String</d2p1:CountryCode>
<d2p1:PostalCode>String</d2p1:PostalCode>
<d2p1:ProvinceCode>String</d2p1:ProvinceCode>
<d2p1:StreetAddressOne>String</d2p1:StreetAddressOne>
<d2p1:StreetAddressThree>String</d2p1:StreetAddressThree>
<d2p1:StreetAddressTwo>String</d2p1:StreetAddressTwo>
</d2p1:Address>
<d2p1:CommunicationChannel>
<d2p1:AvpList>
<d2p1:Code>String</d2p1:Code>
<d2p1:Value>String</d2p1:Value>
</d2p1:AvpList>
</d2p1:CommunicationChannel>
<d2p1:Contact>
<d2p1:Contact>
<d2p1:CommunicationChannel>
<d2p1:CommunicationChannel>
<d2p1:CommunicationChannelCode>String</d2p1:CommunicationChannelCode>
<d2p1:CommunicationChannelName>String</d2p1:CommunicationChannelName>
<d2p1:CommunicationValue>String</d2p1:CommunicationValue>
</d2p1:CommunicationChannel>
</d2p1:CommunicationChannel>
<d2p1:ContactTypeCode>String</d2p1:ContactTypeCode>
<d2p1:DepartmentName>String</d2p1:DepartmentName>
<d2p1:JobTitle>String</d2p1:JobTitle>
<d2p1:PersonName>String</d2p1:PersonName>
<d2p1:Responsibility>String</d2p1:Responsibility>
</d2p1:Contact>
</d2p1:Contact>
<d2p1:DutyFeeTaxRegistration>String</d2p1:DutyFeeTaxRegistration>
<d2p1:EntityIdentification>String</d2p1:EntityIdentification>
<d2p1:FinancialInstitutionInformation>
<d2p1:ExportersCode>String</d2p1:ExportersCode>
<d2p1:FinancialAccount>
<d2p1:Name>String</d2p1:Name>
<d2p1:Number>String</d2p1:Number>
<d2p1:NumberTypeCode>String</d2p1:NumberTypeCode>
</d2p1:FinancialAccount>
<d2p1:FinancialInstitutionBranchName>String</d2p1:FinancialInstitutionBranchName>
<d2p1:FinancialInstitutionName>String</d2p1:FinancialInstitutionName>
<d2p1:FinancialRoutingNumber>
<d2p1:Number>String</d2p1:Number>
<d2p1:NumberTypeCode>String</d2p1:NumberTypeCode>
</d2p1:FinancialRoutingNumber>
<d2p1:SwiftCode>String</d2p1:SwiftCode>
</d2p1:FinancialInstitutionInformation>
</DataRecipient>
<DataSource xmlns:d2p1="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<d2p1:AdditionalPartyIdentification>
<d2p1:AvpList>
<d2p1:Code>String</d2p1:Code>
<d2p1:Value>String</d2p1:Value>
</d2p1:AvpList>
</d2p1:AdditionalPartyIdentification>
<d2p1:Gln>String</d2p1:Gln>
<d2p1:Name>String</d2p1:Name>
<d2p1:Address>
<d2p1:City>String</d2p1:City>
<d2p1:CountryCode>String</d2p1:CountryCode>
<d2p1:PostalCode>String</d2p1:PostalCode>
<d2p1:ProvinceCode>String</d2p1:ProvinceCode>
<d2p1:StreetAddressOne>String</d2p1:StreetAddressOne>
<d2p1:StreetAddressThree>String</d2p1:StreetAddressThree>
<d2p1:StreetAddressTwo>String</d2p1:StreetAddressTwo>
</d2p1:Address>
<d2p1:CommunicationChannel>
<d2p1:AvpList>
<d2p1:Code>String</d2p1:Code>
<d2p1:Value>String</d2p1:Value>
</d2p1:AvpList>
</d2p1:CommunicationChannel>
<d2p1:Contact>
<d2p1:Contact>
<d2p1:CommunicationChannel>
<d2p1:CommunicationChannel>
<d2p1:CommunicationChannelCode>String</d2p1:CommunicationChannelCode>
<d2p1:CommunicationChannelName>String</d2p1:CommunicationChannelName>
<d2p1:CommunicationValue>String</d2p1:CommunicationValue>
</d2p1:CommunicationChannel>
</d2p1:CommunicationChannel>
<d2p1:ContactTypeCode>String</d2p1:ContactTypeCode>
<d2p1:DepartmentName>String</d2p1:DepartmentName>
<d2p1:JobTitle>String</d2p1:JobTitle>
<d2p1:PersonName>String</d2p1:PersonName>
<d2p1:Responsibility>String</d2p1:Responsibility>
</d2p1:Contact>
</d2p1:Contact>
<d2p1:DutyFeeTaxRegistration>String</d2p1:DutyFeeTaxRegistration>
<d2p1:EntityIdentification>String</d2p1:EntityIdentification>
<d2p1:FinancialInstitutionInformation>
<d2p1:ExportersCode>String</d2p1:ExportersCode>
<d2p1:FinancialAccount>
<d2p1:Name>String</d2p1:Name>
<d2p1:Number>String</d2p1:Number>
<d2p1:NumberTypeCode>String</d2p1:NumberTypeCode>
</d2p1:FinancialAccount>
<d2p1:FinancialInstitutionBranchName>String</d2p1:FinancialInstitutionBranchName>
<d2p1:FinancialInstitutionName>String</d2p1:FinancialInstitutionName>
<d2p1:FinancialRoutingNumber>
<d2p1:Number>String</d2p1:Number>
<d2p1:NumberTypeCode>String</d2p1:NumberTypeCode>
</d2p1:FinancialRoutingNumber>
<d2p1:SwiftCode>String</d2p1:SwiftCode>
</d2p1:FinancialInstitutionInformation>
</DataSource>
<DocumentActionCode>String</DocumentActionCode>
<DocumentStatusCode>String</DocumentStatusCode>
<LastUpdateDateTime>0001-01-01T00:00:00</LastUpdateDateTime>
</CustomerMasterMessage>