| POST | /api/receivingAdvice | Add new ReceivingAdvice |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
/**
* Receiving Advice
*/
@Api(Description="Receiving Advice")
@ApiResponse(Description="Add ReceivingAdvice request received", IsDefaultResponse=true, StatusCode=200)
// @ApiResponse(Description="ReceivingAdvice not accepted, Confirm Sender GLN", ResponseType=UnauthorizedAccessException::class, StatusCode=403)
open class AddReceivingAdvice
{
/**
* ReceivingAdvice model containing all of the ReceivingAdvice data
*/
@ApiMember(Description="ReceivingAdvice model containing all of the ReceivingAdvice data", ParameterType="model")
open var receivingAdvice:ReceivingAdviceMessage? = null
}
open class ReceivingAdviceMessage
{
open var header:Header? = null
open var receivingAdvice:ReceivingAdvice? = null
}
@DataContract
open class Header
{
@DataMember(Name="documentIdentification")
@SerializedName("documentIdentification")
open var documentIdentification:DocumentIdentification? = null
@DataMember(Name="sender")
@SerializedName("sender")
open var sender:Partner? = null
@DataMember(Name="receiver")
@SerializedName("receiver")
open var receiver:Partner? = null
}
@DataContract
open class DocumentIdentification
{
@DataMember(Name="identifier")
@SerializedName("identifier")
open var identifier:String? = null
@DataMember(Name="type")
@SerializedName("type")
open var Type:String? = null
@DataMember(Name="creationDateAndTime")
@SerializedName("creationDateAndTime")
open var creationDateAndTime:Date? = null
}
@DataContract
open class Partner
{
@DataMember(Name="identifier")
@SerializedName("identifier")
open var identifier:Identifier? = null
@DataMember(Name="contactInformation")
@SerializedName("contactInformation")
open var contactInformation:ArrayList<ContactInformation> = ArrayList<ContactInformation>()
}
@DataContract
open class Identifier
{
@DataMember(Name="authority")
@SerializedName("authority")
open var authority:String? = null
@DataMember(Name="text")
@SerializedName("text")
open var text:String? = null
}
@DataContract
open class ContactInformation
{
}
open class ReceivingAdvice : BaseDocument()
{
open var despatchAdviceDeliveryDateTime:Date? = null
open var note:String? = null
open var paymentDateTime:Date? = null
open var receivingDateTime:Date? = null
open var reportingCode:String? = null
open var totalDepositAmount:BigDecimal? = null
open var receivingAdviceTransportInformation:ReceivingAdviceTransportInformation? = null
open var billOfLadingNumber:DocumentReference? = null
open var buyer:TransactionalParty? = null
open var carrier:TransactionalParty? = null
open var consignmentIdentification:ConsignmentIdentification? = null
open var deliveryNote:DocumentReference? = null
open var despatchAdvice:String? = null
open var inventoryLocation:TransactionalParty? = null
open var purchaseOrder:DocumentReference? = null
open var receiver:TransactionalParty? = null
open var receivingAdviceIdentification:String? = null
open var seller:TransactionalParty? = null
open var shipFrom:TransactionalParty? = null
open var shipmentIdentification:ConsignmentIdentification? = null
open var shipper:TransactionalParty? = null
open var shipTo:TransactionalParty? = null
open var receivingAdviceLogisticUnit:ArrayList<ReceivingAdviceLogisticUnit> = ArrayList<ReceivingAdviceLogisticUnit>()
}
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 ReceivingAdviceTransportInformation
{
open var routeID:Identifier? = null
open var transportMeansID:Identifier? = null
open var transportMeansName:String? = null
open var driver:Contact? = null
open var driverID:Person? = null
open var receiver:Contact? = null
open var receiverID:Person? = null
}
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 Person
{
open var dateOfBirth:Date? = null
open var gender:String? = null
open var nationality:String? = null
open var personName:String? = null
open var identityDocument:ArrayList<IdentityDocument> = ArrayList<IdentityDocument>()
}
open class IdentityDocument
{
open var identityDocumentIssuer:String? = null
open var identityDocumentNumber:String? = null
open var identityDocumentType:String? = null
}
open class DocumentReference
{
open var creationDateTime:Date? = null
open var revisionNumber:Long? = null
open var lineItemNumber:Long? = null
open var entityIdentification: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 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 ConsignmentIdentification
{
open var ginc:String? = null
open var additionalConsignmentIdentification:AdditionalConsignmentIdentification? = null
}
open class AdditionalConsignmentIdentification
{
open var text:String? = null
open var additionalConsignmentIdentificationTypeCode:String? = null
}
open class ReceivingAdviceLogisticUnit : LogisticUnits()
{
open var receivingAdviceLineItem:ArrayList<ReceivingAdviceLineItem> = ArrayList<ReceivingAdviceLineItem>()
}
open class LogisticUnits
{
open var childPackageTypeCode:String? = null
open var levelIdentification:Long? = null
open var packageTypeCode:String? = null
open var parentLevelIdentification:Long? = null
open var quantityOfChildren:Long? = null
open var quantityOfLogisticUnits:Long? = null
open var logisticUnitMeasurement:LogisticUnitMeasurement? = null
open var returnablePackaging:ArrayList<ReturnablePackaging> = ArrayList<ReturnablePackaging>()
open var carrierTrackAndTraceInformation:CarrierTrackAndTraceInformation? = null
open var avpList:AvpList? = null
open var individualAssetIdentification:ArrayList<Ecom_IndividualAssetIdentification> = ArrayList<Ecom_IndividualAssetIdentification>()
open var logisticUnitIdentification:Ecom_LogisticUnitIdentification? = null
}
open class LogisticUnitMeasurement
{
open var dimension:Dimension? = null
open var unitMeasurement:UnitMeasurement? = null
}
open class Dimension
{
open var depth:Measurement? = null
open var height: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 UnitMeasurement
{
open var measurementType:String? = null
open var measurementValue:Measurement? = null
}
open class ReturnablePackaging
{
open var currentHolderRegistration:Identifier? = null
open var newHolderRegistration:Identifier? = null
open var packagingConditionCode:String? = null
open var packagingQuantity:Long? = null
open var individualReturnableAssetIdentification:ArrayList<ReturnableAssetIdentification> = ArrayList<ReturnableAssetIdentification>()
open var returnableAssetIdentification:ReturnableAssetIdentification? = null
}
open class ReturnableAssetIdentification
{
open var additionalReturnableAssetIdentification:ArrayList<AdditionalReturnableAssetIdentification> = ArrayList<AdditionalReturnableAssetIdentification>()
open var grai:String? = null
}
open class AdditionalReturnableAssetIdentification
{
open var value:String? = null
open var additionalReturnableAssetIdentificationTypeCode:String? = null
}
open class CarrierTrackAndTraceInformation
{
open var carrierTrackAndTraceURL:String? = null
open var packageTrackingNumber:String? = null
}
open class Ecom_IndividualAssetIdentification
{
open var additionalIndividualAssetIdentification:ArrayList<AdditionalIndividualAssetIdentification> = ArrayList<AdditionalIndividualAssetIdentification>()
open var giai:String? = null
}
open class AdditionalIndividualAssetIdentification
{
open var value:BigDecimal? = null
open var additionalIndividualAssetIdentificationTypeCode:String? = null
}
open class Ecom_LogisticUnitIdentification
{
open var additionalLogisiticUnitIdentification:ArrayList<AdditionalLogisticUnitIdentification> = ArrayList<AdditionalLogisticUnitIdentification>()
open var sscc:String? = null
}
open class AdditionalLogisticUnitIdentification
{
open var value:BigDecimal? = null
open var additionalLogisticUnitIdentificationTypeCode:String? = null
}
open class ReceivingAdviceLineItem
{
open var extension:String? = null
open var lineItemNumber:Long? = null
open var note:String? = null
open var parentLineItemNumber:Long? = null
open var quantityAccepted:Quantity? = null
open var quantityDespatched:Quantity? = null
open var quantityReceived:Quantity? = null
open var receivingConditionInformation:ArrayList<ReceivingConditionInformation> = ArrayList<ReceivingConditionInformation>()
open var transactionalTradeItem:TransactionalTradeItem? = null
open var consignmentIdentification:ConsignmentIdentification? = null
open var avpList:AvpList? = null
open var contract:DocumentReference? = null
open var customerReference:DocumentReference? = null
open var deliveryNote:DocumentReference? = null
open var despatchAdvice:DocumentReference? = null
open var productCertification:DocumentReference? = null
open var promotionalDeal:DocumentReference? = null
open var purchaseConditions:DocumentReference? = null
open var purchaseOrder:DocumentReference? = null
open var requestedItemIdentification:TradeItemIdentification? = null
open var specification:DocumentReference? = null
}
open class Quantity
{
open var value:BigDecimal? = null
open var measurementUnitCode:String? = null
open var codeListVersion:String? = null
}
open class ReceivingConditionInformation
{
open var receivedGoodsDisposition:String? = null
open var receivingConditionCode:String? = null
open var receivingConditionQuantity:Quantity? = null
}
open class TransactionalTradeItem
{
open var gtin:String? = null
open var additionalTradeItemIdentification:ArrayList<AvpList> = ArrayList<AvpList>()
open var tradeItemQuantity:BigDecimal? = null
open var tradeItemDescription:String? = null
open var productVariantIdentifier:String? = null
open var itemTypeCode:String? = null
open var tradeItemDataOwner:String? = null
open var butterFatReference:String? = null
open var transactionalItemData:ArrayList<TransactionalItemData> = ArrayList<TransactionalItemData>()
open var colour:ArrayList<Colour> = ArrayList<Colour>()
open var size:Size? = null
open var tradeItemClassification:TradeItemClassification? = null
open var avpList:ArrayList<AvpList> = ArrayList<AvpList>()
}
open class TransactionalItemData
{
open var availableForSaleDate:Date? = null
open var batchNumber:String? = null
open var bestBeforeDate:Date? = null
open var countryOfOrigin:String? = null
open var itemExpirationDate:Date? = null
open var lotNumber:String? = null
open var packagingDate:Date? = null
open var productionDate:Date? = null
open var productQualityIndication:String? = null
open var sellByDate:Date? = null
open var serialNumber:ArrayList<String> = ArrayList<String>()
open var shelfLife:String? = null
open var tradeItemQuantity:Long? = null
open var itemInContactWithFoodProduct:Boolean? = null
open var transactionalItemWeight:ArrayList<TransactionalItem> = ArrayList<TransactionalItem>()
open var transactionalItemVolume:ArrayList<TransactionalItem> = ArrayList<TransactionalItem>()
open var serialNumberRange:ArrayList<SerialNumberRange> = ArrayList<SerialNumberRange>()
open var transactionalItemDimensions:ArrayList<TransactionalItemDimension> = ArrayList<TransactionalItemDimension>()
open var transactionalItemLogisticUnitInformation:TransactionalItemLogisticUnitInformation? = null
open var transactionalItemDataCarrierAndIdentification:TransactionalItemDataCarrierAndIdentification? = null
open var tradeItemWaste:ArrayList<TradeItemWaste> = ArrayList<TradeItemWaste>()
open var transactionalItemOrganicInformation:TransactionalItemOrganicInformation? = null
open var avpList:ArrayList<AvpList> = ArrayList<AvpList>()
}
open class TransactionalItem
{
open var measurementUnitCode:String? = null
open var measurementType:String? = null
open var measurementValue:String? = null
}
open class SerialNumberRange
{
open var maximumValue:String? = null
open var minimumValue:String? = null
}
open class TransactionalItemDimension
{
open var measurementUnitCode:String? = null
open var depth:String? = null
open var height:String? = null
open var width:String? = null
}
open class TransactionalItemLogisticUnitInformation
{
open var numberOfLayers:Long? = null
open var numberOfUnitsPerLayer:Long? = null
open var numberOfUnitsPerPallet:Long? = null
open var packagingTerms:String? = null
open var packageTypeCode:String? = null
open var maximumStackingFactor:Long? = null
open var returnablePackageTransportCostPayment:String? = null
open var dimensionsOfLogisticUnit:ArrayList<TransactionalItemDimension> = ArrayList<TransactionalItemDimension>()
}
open class TransactionalItemDataCarrierAndIdentification
{
open var gs1TransactionalItemIdentificationKey:String? = null
open var dataCarrier:String? = null
}
open class TradeItemWaste
{
open var wasteIdentification:String? = null
open var typeOfWaste:ArrayList<AvpList> = ArrayList<AvpList>()
}
open class TransactionalItemOrganicInformation
{
open var isTradeItemOrganic:Boolean? = null
open var organicCertification:String? = null
}
open class Colour
{
open var colourCode:String? = null
open var colourDescription:String? = null
}
open class Size
{
open var descriptiveSize:String? = null
open var sizeCode:String? = null
}
open class TradeItemClassification
{
open var gpcCategoryCode:String? = null
open var additionalTradeItemClassificationCode:ArrayList<AvpList> = ArrayList<AvpList>()
open var gpcCategoryName:String? = null
open var gpcAttribute:ArrayList<AvpList> = ArrayList<AvpList>()
}
open class TradeItemIdentification
{
open var additionalTradeItemIdentification:ArrayList<AvpList> = ArrayList<AvpList>()
open var gtin:String? = null
}
open class TokenDto : ICommandResponse
{
open var token:UUID? = null
}
Kotlin AddReceivingAdvice DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/receivingAdvice HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
receivingAdvice:
{
header:
{
documentIdentification:
{
identifier: String,
type: String
},
sender:
{
identifier:
{
authority: String,
text: String
},
contactInformation:
[
{
}
]
},
receiver:
{
identifier:
{
authority: String,
text: String
},
contactInformation:
[
{
}
]
}
},
receivingAdvice:
{
despatchAdviceDeliveryDateTime: 0001-01-01,
note: String,
paymentDateTime: 0001-01-01,
receivingDateTime: 0001-01-01,
reportingCode: String,
totalDepositAmount: 0,
receivingAdviceTransportInformation:
{
routeID:
{
authority: String,
text: String
},
transportMeansID:
{
authority: String,
text: String
},
transportMeansName: String,
driver:
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
},
driverID:
{
dateOfBirth: 0001-01-01,
gender: String,
nationality: String,
personName: String,
identityDocument:
[
{
identityDocumentIssuer: String,
identityDocumentNumber: String,
identityDocumentType: String
}
]
},
receiver:
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
},
receiverID:
{
dateOfBirth: 0001-01-01,
gender: String,
nationality: String,
personName: String,
identityDocument:
[
{
identityDocumentIssuer: String,
identityDocumentNumber: String,
identityDocumentType: String
}
]
}
},
billOfLadingNumber:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
buyer:
{
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
}
]
},
carrier:
{
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
}
]
},
consignmentIdentification:
{
ginc: String,
additionalConsignmentIdentification:
{
text: String,
additionalConsignmentIdentificationTypeCode: String
}
},
deliveryNote:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
despatchAdvice: String,
inventoryLocation:
{
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
}
]
},
purchaseOrder:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: 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
}
]
},
receivingAdviceIdentification: String,
seller:
{
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
}
]
},
shipFrom:
{
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
}
]
},
shipmentIdentification:
{
ginc: String,
additionalConsignmentIdentification:
{
text: String,
additionalConsignmentIdentificationTypeCode: 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
}
]
},
shipTo:
{
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
}
]
},
receivingAdviceLogisticUnit:
[
{
receivingAdviceLineItem:
[
{
extension: String,
lineItemNumber: 0,
note: String,
parentLineItemNumber: 0,
quantityAccepted:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
quantityDespatched:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
quantityReceived:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
receivingConditionInformation:
[
{
receivedGoodsDisposition: String,
receivingConditionCode: String,
receivingConditionQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
}
}
],
transactionalTradeItem:
{
gtin: String,
additionalTradeItemIdentification:
[
{
code: String,
value: String
}
],
tradeItemQuantity: 0,
tradeItemDescription: String,
productVariantIdentifier: String,
itemTypeCode: String,
tradeItemDataOwner: String,
butterFatReference: String,
transactionalItemData:
[
{
availableForSaleDate: 0001-01-01,
batchNumber: String,
bestBeforeDate: 0001-01-01,
countryOfOrigin: String,
itemExpirationDate: 0001-01-01,
lotNumber: String,
packagingDate: 0001-01-01,
productionDate: 0001-01-01,
productQualityIndication: String,
sellByDate: 0001-01-01,
serialNumber:
[
String
],
shelfLife: String,
tradeItemQuantity: 0,
itemInContactWithFoodProduct: False,
transactionalItemWeight:
[
{
measurementUnitCode: String,
measurementType: String,
measurementValue: String
}
],
transactionalItemVolume:
[
{
measurementUnitCode: String,
measurementType: String,
measurementValue: String
}
],
serialNumberRange:
[
{
maximumValue: String,
minimumValue: String
}
],
transactionalItemDimensions:
[
{
measurementUnitCode: String,
depth: String,
height: String,
width: String
}
],
transactionalItemLogisticUnitInformation:
{
numberOfLayers: 0,
numberOfUnitsPerLayer: 0,
numberOfUnitsPerPallet: 0,
packagingTerms: String,
packageTypeCode: String,
maximumStackingFactor: 0,
returnablePackageTransportCostPayment: String,
dimensionsOfLogisticUnit:
[
{
measurementUnitCode: String,
depth: String,
height: String,
width: String
}
]
},
transactionalItemDataCarrierAndIdentification:
{
gs1TransactionalItemIdentificationKey: String,
dataCarrier: String
},
tradeItemWaste:
[
{
wasteIdentification: String,
typeOfWaste:
[
{
code: String,
value: String
}
]
}
],
transactionalItemOrganicInformation:
{
isTradeItemOrganic: False,
organicCertification: String
},
avpList:
[
{
code: String,
value: String
}
]
}
],
colour:
[
{
colourCode: String,
colourDescription: String
}
],
size:
{
descriptiveSize: String,
sizeCode: String
},
tradeItemClassification:
{
gpcCategoryCode: String,
additionalTradeItemClassificationCode:
[
{
code: String,
value: String
}
],
gpcCategoryName: String,
gpcAttribute:
[
{
code: String,
value: String
}
]
},
avpList:
[
{
code: String,
value: String
}
]
},
consignmentIdentification:
{
ginc: String,
additionalConsignmentIdentification:
{
text: String,
additionalConsignmentIdentificationTypeCode: String
}
},
avpList:
{
code: String,
value: String
},
contract:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
customerReference:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
deliveryNote:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
despatchAdvice:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
productCertification:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
promotionalDeal:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
purchaseConditions:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
purchaseOrder:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
requestedItemIdentification:
{
additionalTradeItemIdentification:
[
{
code: String,
value: String
}
],
gtin: String
},
specification:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
}
}
],
childPackageTypeCode: String,
levelIdentification: 0,
packageTypeCode: String,
parentLevelIdentification: 0,
quantityOfChildren: 0,
quantityOfLogisticUnits: 0,
logisticUnitMeasurement:
{
dimension:
{
depth:
{
value: 0,
codeListVersion: String,
measurementUnitCode: String
},
height:
{
value: 0,
codeListVersion: String,
measurementUnitCode: String
},
width:
{
value: 0,
codeListVersion: String,
measurementUnitCode: String
}
},
unitMeasurement:
{
measurementType: String,
measurementValue:
{
value: 0,
codeListVersion: String,
measurementUnitCode: String
}
}
},
returnablePackaging:
[
{
currentHolderRegistration:
{
authority: String,
text: String
},
newHolderRegistration:
{
authority: String,
text: String
},
packagingConditionCode: String,
packagingQuantity: 0,
individualReturnableAssetIdentification:
[
{
additionalReturnableAssetIdentification:
[
{
value: String,
additionalReturnableAssetIdentificationTypeCode: String
}
],
grai: String
}
],
returnableAssetIdentification:
{
additionalReturnableAssetIdentification:
[
{
value: String,
additionalReturnableAssetIdentificationTypeCode: String
}
],
grai: String
}
}
],
carrierTrackAndTraceInformation:
{
carrierTrackAndTraceURL: String,
packageTrackingNumber: String
},
avpList:
{
code: String,
value: String
},
individualAssetIdentification:
[
{
additionalIndividualAssetIdentification:
[
{
value: 0,
additionalIndividualAssetIdentificationTypeCode: String
}
],
giai: String
}
],
logisticUnitIdentification:
{
additionalLogisiticUnitIdentification:
[
{
value: 0,
additionalLogisticUnitIdentificationTypeCode: String
}
],
sscc: 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/jsv
Content-Length: length
{
}