| POST | /api/itemDataNotification | Add new ItemDataNotification |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
/**
* Item Data Notification
*/
@Api(Description="Item Data Notification")
@ApiResponse(Description="Add ItemDataNotification request received", IsDefaultResponse=true, StatusCode=200)
// @ApiResponse(Description="ItemDataNotification not accepted, Confirm Sender GLN", ResponseType=UnauthorizedAccessException::class, StatusCode=403)
open class AddItemDataNotification
{
/**
* ItemDataNotification model containing all of the ItemDataNotification data
*/
@ApiMember(Description="ItemDataNotification model containing all of the ItemDataNotification data", ParameterType="model")
open var itemDataNotification:ItemDataNotificationMessage? = null
}
open class ItemDataNotificationMessage : BaseDocument()
{
open var dataRecipient:TransactionalParty? = null
open var dataSource:TransactionalParty? = null
open var itemDataNotificationIdentification:String? = null
open var itemDataNotificationLineItem:ArrayList<ItemDataNotificationLineItem> = ArrayList<ItemDataNotificationLineItem>()
}
open class BaseDocument
{
open var currencyCode:String? = null
open var creationDateTime:Date? = null
open var documentActionCode:DocumentAction? = null
open var documentStatusCode:DocumentStatus? = null
open var documentStructureVersion:String? = null
open var lastUpdateDateTime:Date? = null
open var revisionNumber:Long? = null
open var avpList:ArrayList<AvpList> = ArrayList<AvpList>()
}
enum class DocumentAction
{
Add,
ChangeByRefresh,
Delete,
Rejected,
}
enum class DocumentStatus
{
AdditionalTransmission,
Copy,
Original,
}
open class AvpList
{
open var code:String? = null
open var value:String? = null
}
open class TransactionalParty : Ecom_PartyIdentificationType()
{
open var contact:ArrayList<Contact> = ArrayList<Contact>()
open var address:Address? = null
open var communicationChannel:ArrayList<AvpList> = ArrayList<AvpList>()
open var financialInstitutionInformation:FinancialInstitutionInformation? = null
open var dutyFeeTaxRegistration:String? = null
open var entityIdentification:String? = null
}
open class Ecom_PartyIdentificationType
{
open var gln:String? = null
open var name:String? = null
open var additionalPartyIdentification:ArrayList<AvpList> = ArrayList<AvpList>()
}
open class Contact
{
open var contactTypeCode:String? = null
open var personName:String? = null
open var departmentName:String? = null
open var jobTitle:String? = null
open var responsibility:String? = null
open var communicationChannel:ArrayList<CommunicationChannel> = ArrayList<CommunicationChannel>()
}
open class CommunicationChannel
{
open var communicationChannelCode:String? = null
open var communicationChannelName:String? = null
open var communicationValue:String? = null
}
open class Address
{
open var streetAddressOne:String? = null
open var streetAddressTwo:String? = null
open var streetAddressThree:String? = null
open var city:String? = null
open var postalCode:String? = null
open var provinceCode:String? = null
open var countryCode:String? = null
}
open class FinancialInstitutionInformation
{
open var financialInstitutionBranchName:String? = null
open var financialInstitutionName:String? = null
open var financialRoutingNumber:FinancialRoutingNumber? = null
open var financialAccount:FinancialAccount? = null
open var swiftCode:String? = null
open var exportersCode:String? = null
}
open class FinancialRoutingNumber
{
open var number:String? = null
open var numberTypeCode:String? = null
}
open class FinancialAccount
{
open var number:String? = null
open var numberTypeCode:String? = null
open var name:String? = null
}
open class ItemDataNotificationLineItem : Ecom_TradeItemIdentification()
{
open var brandName:String? = null
open var gpcCategoryCode:String? = null
open var isTheProductVariantPreferred:Boolean? = null
open var lineItemNumber:Long? = null
open var parentLineItemNumber:Long? = null
open var productVariantIdentifier:IdentifierType? = null
open var quantityOfItemTypes:BigDecimal? = null
open var quantityOfItemUnits:BigDecimal? = null
open var tradeItemDescription:ArrayList<String> = ArrayList<String>()
open var tradeItemUnitDescriptorCode:String? = null
open var itemDataTradingPartnerNeutral:ItemDataTradingPartnerNeutral? = null
open var itemDataTradingPartnerDependent:ArrayList<ItemDataTradingPartnerDependent> = ArrayList<ItemDataTradingPartnerDependent>()
open var lowerLevelTradeItem:ArrayList<LowerLevelTradeItem> = ArrayList<LowerLevelTradeItem>()
open var avpList:ArrayList<AvpList> = ArrayList<AvpList>()
}
open class Ecom_TradeItemIdentification
{
open var additionalTradeItemIdentification:ArrayList<AdditionalTradeItemIdentification> = ArrayList<AdditionalTradeItemIdentification>()
open var gtin:String? = null
}
open class AdditionalTradeItemIdentification
{
open var value:String? = null
open var code:String? = null
}
open class IdentifierType
{
open var value:String? = null
open var identificationSchemeAgencyCodeCodeListVersion:String? = null
open var identificationSchemeAgencyName:String? = null
open var identificationSchemeName:String? = null
}
open class ItemDataTradingPartnerNeutral
{
open var cancelledDateTime:Date? = null
open var discontinuedDateTime:Date? = null
open var effectiveDateTime:Date? = null
open var endAvailabilityDateTime:Date? = null
open var maximumStackingFactor:Int? = null
open var startAvailabilityDateTime:Date? = null
open var tradeItemBaseUnitOfMeasure:String? = null
open var tradeItemClassificationCode:ArrayList<AdditionalTradeItemClassificationCode> = ArrayList<AdditionalTradeItemClassificationCode>()
open var warehouseABCClassificationCode:String? = null
open var itemDataWeightAndDimension:ItemDataWeightAndDimension? = null
open var handlingInstruction:ArrayList<HandlingInstruction> = ArrayList<HandlingInstruction>()
open var dangerousGoodsInformation:ArrayList<DangerousGoodsInformation> = ArrayList<DangerousGoodsInformation>()
open var administrativeUnitOfLogisticServiceBuyer:AdministrativeUnit? = null
open var avpList:ArrayList<AvpList> = ArrayList<AvpList>()
}
open class AdditionalTradeItemClassificationCode
{
open var value:String? = null
open var additionalTradeItemClassificationCodeListCode:String? = null
open var additionalTradeItemClassificationCodeListVersion:String? = null
open var codeDescription:String? = null
}
open class ItemDataWeightAndDimension
{
open var depth:Measurement? = null
open var diameter:Measurement? = null
open var grossWeight:Measurement? = null
open var height:Measurement? = null
open var netWeight:Measurement? = null
open var width:Measurement? = null
}
open class Measurement
{
open var value:BigDecimal? = null
open var codeListVersion:String? = null
open var measurementUnitCode:String? = null
}
open class HandlingInstruction
{
open var handlingInstructionCode:String? = null
open var handlingInstructionText:String? = null
open var printingInstructionCode:ArrayList<String> = ArrayList<String>()
open var storageTemperature:TemperatureRange? = null
open var transportTemperature:TemperatureRange? = null
}
open class TemperatureRange
{
open var maximumTemperature:TemperatureMeasurement? = null
open var minimumTemperature:TemperatureMeasurement? = null
}
open class TemperatureMeasurement
{
open var value:BigDecimal? = null
open var temperatureMeasurementUnitCode:String? = null
}
open class DangerousGoodsInformation
{
open var dangerousGoodsDescription:String? = null
open var dangerousGoodsShippingName:String? = null
open var dangerousGoodsTechnicalName:String? = null
open var dangerousGoodsUNIdentifier:Identifier? = null
open var contact:ArrayList<Contact> = ArrayList<Contact>()
}
@DataContract
open class Identifier
{
@DataMember(Name="authority")
@SerializedName("authority")
open var authority:String? = null
@DataMember(Name="text")
@SerializedName("text")
open var text:String? = null
}
open class AdministrativeUnit
{
open var typeCode:String? = null
open var gln:String? = null
open var internalIdentification:String? = null
}
open class ItemDataTradingPartnerDependent
{
open var countryOfOrigin:String? = null
open var minimumRemainingShelfLifeInbound:TimeMeasurement? = null
open var minimumRemainingShelfLifeOutbound:TimeMeasurement? = null
open var orderQuantityMaximum:Quantity? = null
open var orderQuantityMinimum:Quantity? = null
open var orderQuantityMultiple:Quantity? = null
open var qualityControlCode:String? = null
open var quarantinePeriod:TimeMeasurement? = null
open var tradeItemProductionLeadTime:TimeMeasurement? = null
open var tradeItemShipmentLeadTime:TimeMeasurement? = null
open var tradeItemSpecificUnitOfMeasure:String? = null
open var tradeItemSubstitutionDateTime:Date? = null
open var itemDataLogisticUnitInformation:ArrayList<ItemDataLogisticUnitInformation> = ArrayList<ItemDataLogisticUnitInformation>()
open var itemDataStockRequirements:ArrayList<ItemDataStockRequirements> = ArrayList<ItemDataStockRequirements>()
open var administrativeUnitOfReceiver:ArrayList<AdministrativeUnit> = ArrayList<AdministrativeUnit>()
open var avpList:AvpList? = null
open var originatingParty:ArrayList<TransactionalPartyInRole> = ArrayList<TransactionalPartyInRole>()
open var receiver:TransactionalParty? = null
open var shipper:TransactionalParty? = null
open var substituteItem:Ecom_TradeItemIdentification? = null
}
open class TimeMeasurement
{
open var timeMeasurementUnitCode:String? = null
open var value:BigDecimal? = null
}
open class Quantity
{
open var value:BigDecimal? = null
open var measurementUnitCode:String? = null
open var codeListVersion:String? = null
}
open class ItemDataLogisticUnitInformation
{
open var grossWeight:Measurement? = null
open var maximumStackingFactor:Long? = null
open var netWeight:Measurement? = null
open var numberOfLayers:Long? = null
open var packageLevelCode:String? = null
open var packageTypeCode:String? = null
open var tradeItemQuantity:Quantity? = null
open var tradeItemQuantityPerLayer:Quantity? = null
open var avpList:AvpList? = null
open var dimensionsOfLogisticUnit:ArrayList<Dimension> = ArrayList<Dimension>()
}
open class Dimension
{
open var depth:Measurement? = null
open var height:Measurement? = null
open var width:Measurement? = null
}
open class ItemDataStockRequirements
{
open var requiredStockLevel:Quantity? = null
open var requiredStockLevelValidityDateTime:Date? = null
open var stockRequirementTypeCode:String? = null
}
open class TransactionalPartyInRole
{
open var partyRoleCode:String? = null
open var transactionalParty:TransactionalParty? = null
}
open class LowerLevelTradeItem : Ecom_TradeItemIdentification()
{
open var quantityOfLowerLevelTradeItem:BigDecimal? = null
}
open class TokenDto : ICommandResponse
{
open var token:UUID? = null
}
Kotlin AddItemDataNotification DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/itemDataNotification HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"itemDataNotification":{"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"}]}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{}