DX STF Client API

<back to all web services

GetCustomerMasterByIdentification

Customer Master Requests

Customer Master

Requires Authentication
The following routes are available for this service:
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

HTTP + 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>