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
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports DX.STF.Application.ClientApi.Messages.CustomerMaster
Imports DX.STF.Models.Dto.MasterData
Imports DX.STF.Models.Dto.GS1

Namespace Global

    Namespace DX.STF.Application.ClientApi.Messages.CustomerMaster

        '''<Summary>
        '''Customer Master
        '''</Summary>
        <Api(Description:="Customer Master")>
        <ApiResponse(Description:="Customer Master data", IsDefaultResponse:=true, StatusCode:=200)>
        <ApiResponse(Description:="No Content", ResponseType:=GetType(IReturnVoid), StatusCode:=204)>
        <ApiResponse(Description:="Specified argument was out of the range of valid values.", ResponseType:=GetType(ArgumentOutOfRangeException), StatusCode:=400)>
        Public Partial Class GetCustomerMasterByIdentification
            '''<Summary>
            '''Owner GLN
            '''</Summary>
            <ApiMember(Description:="Owner GLN", ExcludeInSchema:=true, ParameterType:="path")>
            Public Overridable Property OwnerGln As String

            '''<Summary>
            '''Customer Master Identification
            '''</Summary>
            <ApiMember(Description:="Customer Master Identification", ExcludeInSchema:=true, ParameterType:="path")>
            Public Overridable Property CustomerMasterIdentification As String
        End Class
    End Namespace

    Namespace DX.STF.Models.Dto.GS1

        Public Partial Class Address
            Public Overridable Property StreetAddressOne As String
            Public Overridable Property StreetAddressTwo As String
            Public Overridable Property StreetAddressThree As String
            Public Overridable Property City As String
            Public Overridable Property PostalCode As String
            Public Overridable Property ProvinceCode As String
            Public Overridable Property CountryCode As String
        End Class

        Public Partial Class AvpList
            Public Overridable Property Code As String
            Public Overridable Property Value As String
        End Class

        Public Partial Class CommunicationChannel
            Public Overridable Property CommunicationChannelCode As String
            Public Overridable Property CommunicationChannelName As String
            Public Overridable Property CommunicationValue As String
        End Class

        Public Partial Class Contact
            Public Overridable Property ContactTypeCode As String
            Public Overridable Property PersonName As String
            Public Overridable Property DepartmentName As String
            Public Overridable Property JobTitle As String
            Public Overridable Property Responsibility As String
            Public Overridable Property CommunicationChannel As List(Of CommunicationChannel) = New List(Of CommunicationChannel)
        End Class

        Public Partial Class Ecom_PartyIdentificationType
            Public Overridable Property Gln As String
            Public Overridable Property Name As String
            Public Overridable Property AdditionalPartyIdentification As List(Of AvpList) = New List(Of AvpList)
        End Class

        Public Partial Class FinancialAccount
            Public Overridable Property Number As String
            Public Overridable Property NumberTypeCode As String
            Public Overridable Property Name As String
        End Class

        Public Partial Class FinancialInstitutionInformation
            Public Overridable Property FinancialInstitutionBranchName As String
            Public Overridable Property FinancialInstitutionName As String
            Public Overridable Property FinancialRoutingNumber As FinancialRoutingNumber
            Public Overridable Property FinancialAccount As FinancialAccount
            Public Overridable Property SwiftCode As String
            Public Overridable Property ExportersCode As String
        End Class

        Public Partial Class FinancialRoutingNumber
            Public Overridable Property Number As String
            Public Overridable Property NumberTypeCode As String
        End Class

        Public Partial Class TransactionalParty
            Inherits Ecom_PartyIdentificationType
            Public Overridable Property Contact As List(Of Contact) = New List(Of Contact)
            Public Overridable Property Address As Address
            Public Overridable Property CommunicationChannel As List(Of AvpList) = New List(Of AvpList)
            Public Overridable Property FinancialInstitutionInformation As FinancialInstitutionInformation
            Public Overridable Property DutyFeeTaxRegistration As String
            Public Overridable Property EntityIdentification As String
        End Class
    End Namespace

    Namespace DX.STF.Models.Dto.MasterData

        Public Partial Class CreditLimit
            Public Overridable Property Limit As Decimal
            Public Overridable Property Balance As Decimal
            Public Overridable Property Available As Decimal
            Public Overridable Property EffectiveDateTime As Date?
        End Class

        Public Partial Class CustomerMasterAddress
            Inherits Address
            Public Overridable Property AddressType As String
        End Class

        Public Partial Class CustomerMasterMessage
            Public Overridable Property DataSource As TransactionalParty
            Public Overridable Property DataRecipient As TransactionalParty
            Public Overridable Property CustomerMasterIdentification As String
            Public Overridable Property Customer As List(Of CustomerMasterType) = New List(Of CustomerMasterType)
            Public Overridable Property DocumentStatusCode As String
            Public Overridable Property DocumentActionCode As String
            Public Overridable Property CreationDateTime As Date
            Public Overridable Property LastUpdateDateTime As Date
        End Class

        Public Partial Class CustomerMasterType
            Inherits CustomerRecord
            Public Overridable Property PayByCustomer As CustomerRecord
            Public Overridable Property BillToCustomer As CustomerRecord
            Public Overridable Property RoutingCode As String
            Public Overridable Property StoreType As String
            Public Overridable Property CurrencyCode As String
            Public Overridable Property Type As String
            Public Overridable Property Group As String
            Public Overridable Property Region As String
            Public Overridable Property ZoneRate As String
            Public Overridable Property TaxRule As String
            Public Overridable Property PaymentTerm As String
            Public Overridable Property ShipmentSite As String
            Public Overridable Property ShipmentSiteName As String
            Public Overridable Property ShipmentSiteGln As String
            Public Overridable Property AccountingCode As String
            Public Overridable Property CommercialRepresentative As String
            Public Overridable Property CommercialTerritory As String
            Public Overridable Property Credit As CreditLimit
            Public Overridable Property NOD As List(Of String) = New List(Of String)
            Public Overridable Property NDD As List(Of String) = New List(Of String)
        End Class

        Public Partial Class CustomerRecord
            Public Overridable Property Gln As String
            Public Overridable Property Code As String
            Public Overridable Property Name As String
            Public Overridable Property BuyerAssignedVendorNo As String
            Public Overridable Property SupplierAssignedVendorNo As String
            Public Overridable Property DutyFeeTaxRegistration As String
            Public Overridable Property EntityIdentification As String
            Public Overridable Property Contact As List(Of Contact) = New List(Of Contact)
            Public Overridable Property Address As CustomerMasterAddress
            Public Overridable Property AvpList As List(Of AvpList) = New List(Of AvpList)
        End Class
    End Namespace
End Namespace

VB.NET 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
}