DX STF Client API

<back to all web services

GetItemDataNotificationByGtin

Item Data Notification Requests

Item Data Notification

Requires Authentication
The following routes are available for this service:
GET/api/itemDataNotification/gtin/{Gtin}Get specific ItemDataNotification by Gtin

export enum DocumentAction
{
    ADD = 'ADD',
    CHANGE_BY_REFRESH = 'CHANGE_BY_REFRESH',
    DELETE = 'DELETE',
    REJECTED = 'REJECTED',
}

export enum DocumentStatus
{
    ADDITIONAL_TRANSMISSION = 'ADDITIONAL_TRANSMISSION',
    COPY = 'COPY',
    ORIGINAL = 'ORIGINAL',
}

export class AvpList
{
    public code: string;
    public value: string;

    public constructor(init?: Partial<AvpList>) { (Object as any).assign(this, init); }
}

export class BaseDocument
{
    public currencyCode: string;
    public creationDateTime: string;
    public documentActionCode: DocumentAction;
    public documentStatusCode: DocumentStatus;
    public documentStructureVersion: string;
    public lastUpdateDateTime?: string;
    public revisionNumber?: number;
    public avpList: AvpList[] = [];

    public constructor(init?: Partial<BaseDocument>) { (Object as any).assign(this, init); }
}

export class Ecom_PartyIdentificationType
{
    public gln: string;
    public name: string;
    public additionalPartyIdentification: AvpList[] = [];

    public constructor(init?: Partial<Ecom_PartyIdentificationType>) { (Object as any).assign(this, init); }
}

export class CommunicationChannel
{
    public communicationChannelCode: string;
    public communicationChannelName: string;
    public communicationValue: string;

    public constructor(init?: Partial<CommunicationChannel>) { (Object as any).assign(this, init); }
}

export class Contact
{
    public contactTypeCode: string;
    public personName: string;
    public departmentName: string;
    public jobTitle: string;
    public responsibility: string;
    public communicationChannel: CommunicationChannel[] = [];

    public constructor(init?: Partial<Contact>) { (Object as any).assign(this, init); }
}

export class Address
{
    public streetAddressOne: string;
    public streetAddressTwo: string;
    public streetAddressThree: string;
    public city: string;
    public postalCode: string;
    public provinceCode: string;
    public countryCode: string;

    public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}

export class FinancialRoutingNumber
{
    public number: string;
    public numberTypeCode: string;

    public constructor(init?: Partial<FinancialRoutingNumber>) { (Object as any).assign(this, init); }
}

export class FinancialAccount
{
    public number: string;
    public numberTypeCode: string;
    public name: string;

    public constructor(init?: Partial<FinancialAccount>) { (Object as any).assign(this, init); }
}

export class FinancialInstitutionInformation
{
    public financialInstitutionBranchName: string;
    public financialInstitutionName: string;
    public financialRoutingNumber: FinancialRoutingNumber;
    public financialAccount: FinancialAccount;
    public swiftCode: string;
    public exportersCode: string;

    public constructor(init?: Partial<FinancialInstitutionInformation>) { (Object as any).assign(this, init); }
}

export class TransactionalParty extends Ecom_PartyIdentificationType
{
    public contact: Contact[] = [];
    public address: Address;
    public communicationChannel: AvpList[] = [];
    public financialInstitutionInformation: FinancialInstitutionInformation;
    public dutyFeeTaxRegistration: string;
    public entityIdentification: string;

    public constructor(init?: Partial<TransactionalParty>) { super(init); (Object as any).assign(this, init); }
}

export class AdditionalTradeItemIdentification
{
    public value: string;
    public code: string;

    public constructor(init?: Partial<AdditionalTradeItemIdentification>) { (Object as any).assign(this, init); }
}

export class Ecom_TradeItemIdentification
{
    public additionalTradeItemIdentification: AdditionalTradeItemIdentification[] = [];
    public gtin: string;

    public constructor(init?: Partial<Ecom_TradeItemIdentification>) { (Object as any).assign(this, init); }
}

export class IdentifierType
{
    public value: string;
    public identificationSchemeAgencyCodeCodeListVersion: string;
    public identificationSchemeAgencyName: string;
    public identificationSchemeName: string;

    public constructor(init?: Partial<IdentifierType>) { (Object as any).assign(this, init); }
}

export class AdditionalTradeItemClassificationCode
{
    public value: string;
    public additionalTradeItemClassificationCodeListCode: string;
    public additionalTradeItemClassificationCodeListVersion: string;
    public codeDescription: string;

    public constructor(init?: Partial<AdditionalTradeItemClassificationCode>) { (Object as any).assign(this, init); }
}

export class Measurement
{
    public value?: number;
    public codeListVersion: string;
    public measurementUnitCode: string;

    public constructor(init?: Partial<Measurement>) { (Object as any).assign(this, init); }
}

export class ItemDataWeightAndDimension
{
    public depth: Measurement;
    public diameter: Measurement;
    public grossWeight: Measurement;
    public height: Measurement;
    public netWeight: Measurement;
    public width: Measurement;

    public constructor(init?: Partial<ItemDataWeightAndDimension>) { (Object as any).assign(this, init); }
}

export class TemperatureMeasurement
{
    public value?: number;
    public temperatureMeasurementUnitCode: string;

    public constructor(init?: Partial<TemperatureMeasurement>) { (Object as any).assign(this, init); }
}

export class TemperatureRange
{
    public maximumTemperature: TemperatureMeasurement;
    public minimumTemperature: TemperatureMeasurement;

    public constructor(init?: Partial<TemperatureRange>) { (Object as any).assign(this, init); }
}

export class HandlingInstruction
{
    public handlingInstructionCode: string;
    public handlingInstructionText: string;
    public printingInstructionCode: string[] = [];
    public storageTemperature: TemperatureRange;
    public transportTemperature: TemperatureRange;

    public constructor(init?: Partial<HandlingInstruction>) { (Object as any).assign(this, init); }
}

// @DataContract
export class Identifier
{
    // @DataMember(Name="authority")
    public authority: string;

    // @DataMember(Name="text")
    public text: string;

    public constructor(init?: Partial<Identifier>) { (Object as any).assign(this, init); }
}

export class DangerousGoodsInformation
{
    public dangerousGoodsDescription: string;
    public dangerousGoodsShippingName: string;
    public dangerousGoodsTechnicalName: string;
    public dangerousGoodsUNIdentifier: Identifier;
    public contact: Contact[] = [];

    public constructor(init?: Partial<DangerousGoodsInformation>) { (Object as any).assign(this, init); }
}

export class AdministrativeUnit
{
    public typeCode: string;
    public gln: string;
    public internalIdentification: string;

    public constructor(init?: Partial<AdministrativeUnit>) { (Object as any).assign(this, init); }
}

export class ItemDataTradingPartnerNeutral
{
    public cancelledDateTime?: string;
    public discontinuedDateTime?: string;
    public effectiveDateTime: string;
    public endAvailabilityDateTime?: string;
    public maximumStackingFactor?: number;
    public startAvailabilityDateTime: string;
    public tradeItemBaseUnitOfMeasure: string;
    public tradeItemClassificationCode: AdditionalTradeItemClassificationCode[] = [];
    public warehouseABCClassificationCode: string;
    public itemDataWeightAndDimension: ItemDataWeightAndDimension;
    public handlingInstruction: HandlingInstruction[] = [];
    public dangerousGoodsInformation: DangerousGoodsInformation[] = [];
    public administrativeUnitOfLogisticServiceBuyer: AdministrativeUnit;
    public avpList: AvpList[] = [];

    public constructor(init?: Partial<ItemDataTradingPartnerNeutral>) { (Object as any).assign(this, init); }
}

export class TimeMeasurement
{
    public timeMeasurementUnitCode: string;
    public value?: number;

    public constructor(init?: Partial<TimeMeasurement>) { (Object as any).assign(this, init); }
}

export class Quantity
{
    public value?: number;
    public measurementUnitCode: string;
    public codeListVersion: string;

    public constructor(init?: Partial<Quantity>) { (Object as any).assign(this, init); }
}

export class Dimension
{
    public depth: Measurement;
    public height: Measurement;
    public width: Measurement;

    public constructor(init?: Partial<Dimension>) { (Object as any).assign(this, init); }
}

export class ItemDataLogisticUnitInformation
{
    public grossWeight: Measurement;
    public maximumStackingFactor?: number;
    public netWeight: Measurement;
    public numberOfLayers?: number;
    public packageLevelCode: string;
    public packageTypeCode: string;
    public tradeItemQuantity: Quantity;
    public tradeItemQuantityPerLayer: Quantity;
    public avpList: AvpList;
    public dimensionsOfLogisticUnit: Dimension[] = [];

    public constructor(init?: Partial<ItemDataLogisticUnitInformation>) { (Object as any).assign(this, init); }
}

export class ItemDataStockRequirements
{
    public requiredStockLevel: Quantity;
    public requiredStockLevelValidityDateTime?: string;
    public stockRequirementTypeCode: string;

    public constructor(init?: Partial<ItemDataStockRequirements>) { (Object as any).assign(this, init); }
}

export class TransactionalPartyInRole
{
    public partyRoleCode: string;
    public transactionalParty: TransactionalParty;

    public constructor(init?: Partial<TransactionalPartyInRole>) { (Object as any).assign(this, init); }
}

export class ItemDataTradingPartnerDependent
{
    public countryOfOrigin: string;
    public minimumRemainingShelfLifeInbound: TimeMeasurement;
    public minimumRemainingShelfLifeOutbound: TimeMeasurement;
    public orderQuantityMaximum: Quantity;
    public orderQuantityMinimum: Quantity;
    public orderQuantityMultiple: Quantity;
    public qualityControlCode: string;
    public quarantinePeriod: TimeMeasurement;
    public tradeItemProductionLeadTime: TimeMeasurement;
    public tradeItemShipmentLeadTime: TimeMeasurement;
    public tradeItemSpecificUnitOfMeasure: string;
    public tradeItemSubstitutionDateTime?: string;
    public itemDataLogisticUnitInformation: ItemDataLogisticUnitInformation[] = [];
    public itemDataStockRequirements: ItemDataStockRequirements[] = [];
    public administrativeUnitOfReceiver: AdministrativeUnit[] = [];
    public avpList: AvpList;
    public originatingParty: TransactionalPartyInRole[] = [];
    public receiver: TransactionalParty;
    public shipper: TransactionalParty;
    public substituteItem: Ecom_TradeItemIdentification;

    public constructor(init?: Partial<ItemDataTradingPartnerDependent>) { (Object as any).assign(this, init); }
}

export class LowerLevelTradeItem extends Ecom_TradeItemIdentification
{
    public quantityOfLowerLevelTradeItem?: number;

    public constructor(init?: Partial<LowerLevelTradeItem>) { super(init); (Object as any).assign(this, init); }
}

export class ItemDataNotificationLineItem extends Ecom_TradeItemIdentification
{
    public brandName: string;
    public gpcCategoryCode: string;
    public isTheProductVariantPreferred?: boolean;
    public lineItemNumber?: number;
    public parentLineItemNumber?: number;
    public productVariantIdentifier: IdentifierType;
    public quantityOfItemTypes?: number;
    public quantityOfItemUnits?: number;
    public tradeItemDescription: string[] = [];
    public tradeItemUnitDescriptorCode: string;
    public itemDataTradingPartnerNeutral: ItemDataTradingPartnerNeutral;
    public itemDataTradingPartnerDependent: ItemDataTradingPartnerDependent[] = [];
    public lowerLevelTradeItem: LowerLevelTradeItem[] = [];
    public avpList: AvpList[] = [];

    public constructor(init?: Partial<ItemDataNotificationLineItem>) { super(init); (Object as any).assign(this, init); }
}

export class ItemDataNotificationMessage extends BaseDocument
{
    public dataRecipient: TransactionalParty;
    public dataSource: TransactionalParty;
    public itemDataNotificationIdentification: string;
    public itemDataNotificationLineItem: ItemDataNotificationLineItem[] = [];

    public constructor(init?: Partial<ItemDataNotificationMessage>) { super(init); (Object as any).assign(this, init); }
}

/** @description Item Data Notification */
// @Api(Description="Item Data Notification")
// @ApiResponse(Description="ItemDataNotification data", IsDefaultResponse=true, StatusCode=200)
// @ApiResponse(Description="No Content", ResponseType="typeof(ServiceStack.IReturnVoid)", StatusCode=204)
// @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType="typeof(System.ArgumentOutOfRangeException)", StatusCode=400)
export class GetItemDataNotificationByGtin
{
    /** @description Global Trade Item Number (GTIN) */
    // @ApiMember(Description="Global Trade Item Number (GTIN)", ExcludeInSchema=true, ParameterType="path")
    public gtin: string;

    public constructor(init?: Partial<GetItemDataNotificationByGtin>) { (Object as any).assign(this, init); }
}

TypeScript GetItemDataNotificationByGtin 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.

GET /api/itemDataNotification/gtin/{Gtin} HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"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"}]},"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"}]},"itemDataNotificationIdentification":"String","itemDataNotificationLineItem":[{"brandName":"String","gpcCategoryCode":"String","isTheProductVariantPreferred":false,"lineItemNumber":0,"parentLineItemNumber":0,"productVariantIdentifier":{"value":"String","identificationSchemeAgencyCodeCodeListVersion":"String","identificationSchemeAgencyName":"String","identificationSchemeName":"String"},"quantityOfItemTypes":0,"quantityOfItemUnits":0,"tradeItemDescription":["String"],"tradeItemUnitDescriptorCode":"String","itemDataTradingPartnerNeutral":{"cancelledDateTime":"0001-01-01","discontinuedDateTime":"0001-01-01","endAvailabilityDateTime":"0001-01-01","maximumStackingFactor":0,"tradeItemBaseUnitOfMeasure":"String","tradeItemClassificationCode":[{"value":"String","additionalTradeItemClassificationCodeListCode":"String","additionalTradeItemClassificationCodeListVersion":"String","codeDescription":"String"}],"warehouseABCClassificationCode":"String","itemDataWeightAndDimension":{"depth":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"diameter":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"grossWeight":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"height":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"netWeight":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"width":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"}},"handlingInstruction":[{"handlingInstructionCode":"String","handlingInstructionText":"String","printingInstructionCode":["String"],"storageTemperature":{"maximumTemperature":{"value":0,"temperatureMeasurementUnitCode":"String"},"minimumTemperature":{"value":0,"temperatureMeasurementUnitCode":"String"}},"transportTemperature":{"maximumTemperature":{"value":0,"temperatureMeasurementUnitCode":"String"},"minimumTemperature":{"value":0,"temperatureMeasurementUnitCode":"String"}}}],"dangerousGoodsInformation":[{"dangerousGoodsDescription":"String","dangerousGoodsShippingName":"String","dangerousGoodsTechnicalName":"String","dangerousGoodsUNIdentifier":{"authority":"String","text":"String"},"contact":[{"contactTypeCode":"String","personName":"String","departmentName":"String","jobTitle":"String","responsibility":"String","communicationChannel":[{"communicationChannelCode":"String","communicationChannelName":"String","communicationValue":"String"}]}]}],"administrativeUnitOfLogisticServiceBuyer":{"typeCode":"String","gln":"String","internalIdentification":"String"},"avpList":[{"code":"String","value":"String"}]},"itemDataTradingPartnerDependent":[{"countryOfOrigin":"String","minimumRemainingShelfLifeInbound":{"timeMeasurementUnitCode":"String","value":0},"minimumRemainingShelfLifeOutbound":{"timeMeasurementUnitCode":"String","value":0},"orderQuantityMaximum":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"orderQuantityMinimum":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"orderQuantityMultiple":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"qualityControlCode":"String","quarantinePeriod":{"timeMeasurementUnitCode":"String","value":0},"tradeItemProductionLeadTime":{"timeMeasurementUnitCode":"String","value":0},"tradeItemShipmentLeadTime":{"timeMeasurementUnitCode":"String","value":0},"tradeItemSpecificUnitOfMeasure":"String","tradeItemSubstitutionDateTime":"0001-01-01","itemDataLogisticUnitInformation":[{"grossWeight":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"maximumStackingFactor":0,"netWeight":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"numberOfLayers":0,"packageLevelCode":"String","packageTypeCode":"String","tradeItemQuantity":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"tradeItemQuantityPerLayer":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"avpList":{"code":"String","value":"String"},"dimensionsOfLogisticUnit":[{"depth":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"height":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"width":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"}}]}],"itemDataStockRequirements":[{"requiredStockLevel":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"requiredStockLevelValidityDateTime":"0001-01-01","stockRequirementTypeCode":"String"}],"administrativeUnitOfReceiver":[{"typeCode":"String","gln":"String","internalIdentification":"String"}],"avpList":{"code":"String","value":"String"},"originatingParty":[{"partyRoleCode":"String","transactionalParty":{"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"}]}}],"receiver":{"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"}]},"shipper":{"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"}]},"substituteItem":{"additionalTradeItemIdentification":[{"value":"String","code":"String"}],"gtin":"String"}}],"lowerLevelTradeItem":[{"quantityOfLowerLevelTradeItem":0,"additionalTradeItemIdentification":[{"value":"String","code":"String"}],"gtin":"String"}],"avpList":[{"code":"String","value":"String"}],"additionalTradeItemIdentification":[{"value":"String","code":"String"}],"gtin":"String"}],"currencyCode":"String","documentActionCode":"ADD","documentStatusCode":"ADDITIONAL_TRANSMISSION","documentStructureVersion":"String","lastUpdateDateTime":"0001-01-01","revisionNumber":0,"avpList":[{"code":"String","value":"String"}]}