DX STF Client API

<back to all web services

AddCustomerMaster

Customer Master Requests

Customer Master

Requires Authentication
The following routes are available for this service:
POST/api/customerMasterAdd new customer master
"use strict";
export class TokenDto {
    /** @param {{token?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    token;
}
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 AddCustomerMaster {
    /** @param {{customerMaster?:CustomerMasterMessage}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {CustomerMasterMessage}
     * @description Customer Master model containing all of the Customer Master data */
    customerMaster;
}

JavaScript AddCustomerMaster DTOs

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

HTTP + CSV

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

POST /api/customerMaster HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"customerMaster":{"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"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{}