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
"use strict";
export class AvpList {
    /** @param {{code?:string,value?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    code;
    /** @type {string} */
    value;
}
export class Ecom_PartyIdentificationType {
    /** @param {{gln?:string,name?:string,additionalPartyIdentification?:AvpList[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    gln;
    /** @type {string} */
    name;
    /** @type {AvpList[]} */
    additionalPartyIdentification = [];
}
export class CommunicationChannel {
    /** @param {{communicationChannelCode?:string,communicationChannelName?:string,communicationValue?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    communicationChannelCode;
    /** @type {string} */
    communicationChannelName;
    /** @type {string} */
    communicationValue;
}
export class Contact {
    /** @param {{contactTypeCode?:string,personName?:string,departmentName?:string,jobTitle?:string,responsibility?:string,communicationChannel?:CommunicationChannel[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    contactTypeCode;
    /** @type {string} */
    personName;
    /** @type {string} */
    departmentName;
    /** @type {string} */
    jobTitle;
    /** @type {string} */
    responsibility;
    /** @type {CommunicationChannel[]} */
    communicationChannel = [];
}
export class Address {
    /** @param {{streetAddressOne?:string,streetAddressTwo?:string,streetAddressThree?:string,city?:string,postalCode?:string,provinceCode?:string,countryCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    streetAddressOne;
    /** @type {string} */
    streetAddressTwo;
    /** @type {string} */
    streetAddressThree;
    /** @type {string} */
    city;
    /** @type {string} */
    postalCode;
    /** @type {string} */
    provinceCode;
    /** @type {string} */
    countryCode;
}
export class FinancialRoutingNumber {
    /** @param {{number?:string,numberTypeCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    number;
    /** @type {string} */
    numberTypeCode;
}
export class FinancialAccount {
    /** @param {{number?:string,numberTypeCode?:string,name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    number;
    /** @type {string} */
    numberTypeCode;
    /** @type {string} */
    name;
}
export class FinancialInstitutionInformation {
    /** @param {{financialInstitutionBranchName?:string,financialInstitutionName?:string,financialRoutingNumber?:FinancialRoutingNumber,financialAccount?:FinancialAccount,swiftCode?:string,exportersCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    financialInstitutionBranchName;
    /** @type {string} */
    financialInstitutionName;
    /** @type {FinancialRoutingNumber} */
    financialRoutingNumber;
    /** @type {FinancialAccount} */
    financialAccount;
    /** @type {string} */
    swiftCode;
    /** @type {string} */
    exportersCode;
}
export class TransactionalParty extends Ecom_PartyIdentificationType {
    /** @param {{contact?:Contact[],address?:Address,communicationChannel?:AvpList[],financialInstitutionInformation?:FinancialInstitutionInformation,dutyFeeTaxRegistration?:string,entityIdentification?:string,gln?:string,name?:string,additionalPartyIdentification?:AvpList[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {Contact[]} */
    contact = [];
    /** @type {Address} */
    address;
    /** @type {AvpList[]} */
    communicationChannel = [];
    /** @type {FinancialInstitutionInformation} */
    financialInstitutionInformation;
    /** @type {string} */
    dutyFeeTaxRegistration;
    /** @type {string} */
    entityIdentification;
}
export class CustomerMasterAddress extends Address {
    /** @param {{addressType?:string,streetAddressOne?:string,streetAddressTwo?:string,streetAddressThree?:string,city?:string,postalCode?:string,provinceCode?:string,countryCode?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    addressType;
}
export class CustomerRecord {
    /** @param {{gln?:string,code?:string,name?:string,buyerAssignedVendorNo?:string,supplierAssignedVendorNo?:string,dutyFeeTaxRegistration?:string,entityIdentification?:string,contact?:Contact[],address?:CustomerMasterAddress,avpList?:AvpList[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    gln;
    /** @type {string} */
    code;
    /** @type {string} */
    name;
    /** @type {string} */
    buyerAssignedVendorNo;
    /** @type {string} */
    supplierAssignedVendorNo;
    /** @type {string} */
    dutyFeeTaxRegistration;
    /** @type {string} */
    entityIdentification;
    /** @type {Contact[]} */
    contact = [];
    /** @type {CustomerMasterAddress} */
    address;
    /** @type {AvpList[]} */
    avpList = [];
}
export class CreditLimit {
    /** @param {{limit?:number,balance?:number,available?:number,effectiveDateTime?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    limit;
    /** @type {number} */
    balance;
    /** @type {number} */
    available;
    /** @type {?string} */
    effectiveDateTime;
}
export class CustomerMasterType extends CustomerRecord {
    /** @param {{payByCustomer?:CustomerRecord,billToCustomer?:CustomerRecord,routingCode?:string,storeType?:string,currencyCode?:string,type?:string,group?:string,region?:string,zoneRate?:string,taxRule?:string,paymentTerm?:string,shipmentSite?:string,shipmentSiteName?:string,shipmentSiteGln?:string,accountingCode?:string,commercialRepresentative?:string,commercialTerritory?:string,credit?:CreditLimit,nod?:string[],ndd?:string[],gln?:string,code?:string,name?:string,buyerAssignedVendorNo?:string,supplierAssignedVendorNo?:string,dutyFeeTaxRegistration?:string,entityIdentification?:string,contact?:Contact[],address?:CustomerMasterAddress,avpList?:AvpList[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {CustomerRecord} */
    payByCustomer;
    /** @type {CustomerRecord} */
    billToCustomer;
    /** @type {string} */
    routingCode;
    /** @type {string} */
    storeType;
    /** @type {string} */
    currencyCode;
    /** @type {string} */
    type;
    /** @type {string} */
    group;
    /** @type {string} */
    region;
    /** @type {string} */
    zoneRate;
    /** @type {string} */
    taxRule;
    /** @type {string} */
    paymentTerm;
    /** @type {string} */
    shipmentSite;
    /** @type {string} */
    shipmentSiteName;
    /** @type {string} */
    shipmentSiteGln;
    /** @type {string} */
    accountingCode;
    /** @type {string} */
    commercialRepresentative;
    /** @type {string} */
    commercialTerritory;
    /** @type {CreditLimit} */
    credit;
    /** @type {string[]} */
    nod = [];
    /** @type {string[]} */
    ndd = [];
}
export class CustomerMasterMessage {
    /** @param {{dataSource?:TransactionalParty,dataRecipient?:TransactionalParty,customerMasterIdentification?:string,customer?:CustomerMasterType[],documentStatusCode?:string,documentActionCode?:string,creationDateTime?:string,lastUpdateDateTime?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {TransactionalParty} */
    dataSource;
    /** @type {TransactionalParty} */
    dataRecipient;
    /** @type {string} */
    customerMasterIdentification;
    /** @type {CustomerMasterType[]} */
    customer = [];
    /** @type {string} */
    documentStatusCode;
    /** @type {string} */
    documentActionCode;
    /** @type {string} */
    creationDateTime;
    /** @type {string} */
    lastUpdateDateTime;
}
export class GetCustomerMasterByIdentification {
    /** @param {{ownerGln?:string,customerMasterIdentification?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Owner GLN */
    ownerGln;
    /**
     * @type {string}
     * @description Customer Master Identification */
    customerMasterIdentification;
}

JavaScript GetCustomerMasterByIdentification 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.

GET /api/customerMaster/{OwnerGln}/{CustomerMasterIdentification} HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	dataSource: 
	{
		contact: 
		[
			{
				contactTypeCode: String,
				personName: String,
				departmentName: String,
				jobTitle: String,
				responsibility: String,
				communicationChannel: 
				[
					{
						communicationChannelCode: String,
						communicationChannelName: String,
						communicationValue: String
					}
				]
			}
		],
		address: 
		{
			streetAddressOne: String,
			streetAddressTwo: String,
			streetAddressThree: String,
			city: String,
			postalCode: String,
			provinceCode: String,
			countryCode: String
		},
		communicationChannel: 
		[
			{
				code: String,
				value: String
			}
		],
		financialInstitutionInformation: 
		{
			financialInstitutionBranchName: String,
			financialInstitutionName: String,
			financialRoutingNumber: 
			{
				number: String,
				numberTypeCode: String
			},
			financialAccount: 
			{
				number: String,
				numberTypeCode: String,
				name: String
			},
			swiftCode: String,
			exportersCode: String
		},
		dutyFeeTaxRegistration: String,
		entityIdentification: String,
		gln: String,
		name: String,
		additionalPartyIdentification: 
		[
			{
				code: String,
				value: String
			}
		]
	},
	dataRecipient: 
	{
		contact: 
		[
			{
				contactTypeCode: String,
				personName: String,
				departmentName: String,
				jobTitle: String,
				responsibility: String,
				communicationChannel: 
				[
					{
						communicationChannelCode: String,
						communicationChannelName: String,
						communicationValue: String
					}
				]
			}
		],
		address: 
		{
			streetAddressOne: String,
			streetAddressTwo: String,
			streetAddressThree: String,
			city: String,
			postalCode: String,
			provinceCode: String,
			countryCode: String
		},
		communicationChannel: 
		[
			{
				code: String,
				value: String
			}
		],
		financialInstitutionInformation: 
		{
			financialInstitutionBranchName: String,
			financialInstitutionName: String,
			financialRoutingNumber: 
			{
				number: String,
				numberTypeCode: String
			},
			financialAccount: 
			{
				number: String,
				numberTypeCode: String,
				name: String
			},
			swiftCode: String,
			exportersCode: String
		},
		dutyFeeTaxRegistration: String,
		entityIdentification: String,
		gln: String,
		name: String,
		additionalPartyIdentification: 
		[
			{
				code: String,
				value: String
			}
		]
	},
	customerMasterIdentification: String,
	customer: 
	[
		{
			payByCustomer: 
			{
				gln: String,
				code: String,
				name: String,
				buyerAssignedVendorNo: String,
				supplierAssignedVendorNo: String,
				dutyFeeTaxRegistration: String,
				entityIdentification: String,
				contact: 
				[
					{
						contactTypeCode: String,
						personName: String,
						departmentName: String,
						jobTitle: String,
						responsibility: String,
						communicationChannel: 
						[
							{
								communicationChannelCode: String,
								communicationChannelName: String,
								communicationValue: String
							}
						]
					}
				],
				address: 
				{
					addressType: String,
					streetAddressOne: String,
					streetAddressTwo: String,
					streetAddressThree: String,
					city: String,
					postalCode: String,
					provinceCode: String,
					countryCode: String
				},
				avpList: 
				[
					{
						code: String,
						value: String
					}
				]
			},
			billToCustomer: 
			{
				gln: String,
				code: String,
				name: String,
				buyerAssignedVendorNo: String,
				supplierAssignedVendorNo: String,
				dutyFeeTaxRegistration: String,
				entityIdentification: String,
				contact: 
				[
					{
						contactTypeCode: String,
						personName: String,
						departmentName: String,
						jobTitle: String,
						responsibility: String,
						communicationChannel: 
						[
							{
								communicationChannelCode: String,
								communicationChannelName: String,
								communicationValue: String
							}
						]
					}
				],
				address: 
				{
					addressType: String,
					streetAddressOne: String,
					streetAddressTwo: String,
					streetAddressThree: String,
					city: String,
					postalCode: String,
					provinceCode: String,
					countryCode: String
				},
				avpList: 
				[
					{
						code: String,
						value: String
					}
				]
			},
			routingCode: String,
			storeType: String,
			currencyCode: String,
			type: String,
			group: String,
			region: String,
			zoneRate: String,
			taxRule: String,
			paymentTerm: String,
			shipmentSite: String,
			shipmentSiteName: String,
			shipmentSiteGln: String,
			accountingCode: String,
			commercialRepresentative: String,
			commercialTerritory: String,
			credit: 
			{
				limit: 0,
				balance: 0,
				available: 0,
				effectiveDateTime: 0001-01-01
			},
			nod: 
			[
				String
			],
			ndd: 
			[
				String
			],
			gln: String,
			code: String,
			name: String,
			buyerAssignedVendorNo: String,
			supplierAssignedVendorNo: String,
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				addressType: String,
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			avpList: 
			[
				{
					code: String,
					value: String
				}
			]
		}
	],
	documentStatusCode: String,
	documentActionCode: String
}