| POST | /api/claim | Add new claim |
|---|
import Foundation
import ServiceStack
/**
* Claim
*/
// @Api(Description="Claim")
// @ApiResponse(Description="Add claim request received", IsDefaultResponse=true, ResponseType=typeof(TokenDto), StatusCode=202)
// @ApiResponse(Description="Claim not accepted, Confirm Sender GLN", ResponseType=typeof(ErrorResponse), StatusCode=403)
public class AddClaim : Codable
{
/**
* Claim model containing all of the claim data
*/
// @ApiMember(Description="Claim model containing all of the claim data", Name="claim", ParameterType="model")
public var claim:ClaimMessage
required public init(){}
}
public class ClaimMessage : Codable
{
public var header:Header
public var claimNotification:ClaimNotification
required public init(){}
}
// @DataContract
public class Header : Codable
{
// @DataMember(Name="documentIdentification")
public var documentIdentification:DocumentIdentification
// @DataMember(Name="sender")
public var sender:Partner
// @DataMember(Name="receiver")
public var receiver:Partner
required public init(){}
}
// @DataContract
public class DocumentIdentification : Codable
{
// @DataMember(Name="identifier")
public var identifier:String
// @DataMember(Name="type")
public var type:String
// @DataMember(Name="creationDateAndTime")
public var creationDateAndTime:Date
required public init(){}
}
// @DataContract
public class Partner : Codable
{
// @DataMember(Name="identifier")
public var identifier:Identifier
// @DataMember(Name="contactInformation")
public var contactInformation:[ContactInformation] = []
required public init(){}
}
// @DataContract
public class Identifier : Codable
{
// @DataMember(Name="authority")
public var authority:String
// @DataMember(Name="text")
public var text:String
required public init(){}
}
// @DataContract
public class ContactInformation : Codable
{
required public init(){}
}
public class ClaimNotification : BaseDocument
{
public var claimsNotificationTypeCode:String
public var isManualProcessNeededForClaimsResolution:Bool
public var isSupplementalMessageBeingSent:Bool
public var supplementalMessageDescription:String
public var claimsNotificationIdentification:String
public var buyer:TransactionalParty
public var remitTo:TransactionalParty
public var seller:TransactionalParty
public var billOfLading:BillOfLading
public var claimsNotification:DocumentReference
public var dispatchAdvice:DocumentReference
public var purchaseOrder:DocumentReference
public var invoice:DocumentReference
public var claimsNotificationDiscrepancyInformation:[ClaimsNotificationDiscrepancyInformation] = []
public var `extension`:ClaimExtension
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case claimsNotificationTypeCode
case isManualProcessNeededForClaimsResolution
case isSupplementalMessageBeingSent
case supplementalMessageDescription
case claimsNotificationIdentification
case buyer
case remitTo
case seller
case billOfLading
case claimsNotification
case dispatchAdvice
case purchaseOrder
case invoice
case claimsNotificationDiscrepancyInformation
case `extension`
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
claimsNotificationTypeCode = try container.decodeIfPresent(String.self, forKey: .claimsNotificationTypeCode)
isManualProcessNeededForClaimsResolution = try container.decodeIfPresent(Bool.self, forKey: .isManualProcessNeededForClaimsResolution)
isSupplementalMessageBeingSent = try container.decodeIfPresent(Bool.self, forKey: .isSupplementalMessageBeingSent)
supplementalMessageDescription = try container.decodeIfPresent(String.self, forKey: .supplementalMessageDescription)
claimsNotificationIdentification = try container.decodeIfPresent(String.self, forKey: .claimsNotificationIdentification)
buyer = try container.decodeIfPresent(TransactionalParty.self, forKey: .buyer)
remitTo = try container.decodeIfPresent(TransactionalParty.self, forKey: .remitTo)
seller = try container.decodeIfPresent(TransactionalParty.self, forKey: .seller)
billOfLading = try container.decodeIfPresent(BillOfLading.self, forKey: .billOfLading)
claimsNotification = try container.decodeIfPresent(DocumentReference.self, forKey: .claimsNotification)
dispatchAdvice = try container.decodeIfPresent(DocumentReference.self, forKey: .dispatchAdvice)
purchaseOrder = try container.decodeIfPresent(DocumentReference.self, forKey: .purchaseOrder)
invoice = try container.decodeIfPresent(DocumentReference.self, forKey: .invoice)
claimsNotificationDiscrepancyInformation = try container.decodeIfPresent([ClaimsNotificationDiscrepancyInformation].self, forKey: .claimsNotificationDiscrepancyInformation) ?? []
`extension` = try container.decodeIfPresent(ClaimExtension.self, forKey: .`extension`)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if claimsNotificationTypeCode != nil { try container.encode(claimsNotificationTypeCode, forKey: .claimsNotificationTypeCode) }
if isManualProcessNeededForClaimsResolution != nil { try container.encode(isManualProcessNeededForClaimsResolution, forKey: .isManualProcessNeededForClaimsResolution) }
if isSupplementalMessageBeingSent != nil { try container.encode(isSupplementalMessageBeingSent, forKey: .isSupplementalMessageBeingSent) }
if supplementalMessageDescription != nil { try container.encode(supplementalMessageDescription, forKey: .supplementalMessageDescription) }
if claimsNotificationIdentification != nil { try container.encode(claimsNotificationIdentification, forKey: .claimsNotificationIdentification) }
if buyer != nil { try container.encode(buyer, forKey: .buyer) }
if remitTo != nil { try container.encode(remitTo, forKey: .remitTo) }
if seller != nil { try container.encode(seller, forKey: .seller) }
if billOfLading != nil { try container.encode(billOfLading, forKey: .billOfLading) }
if claimsNotification != nil { try container.encode(claimsNotification, forKey: .claimsNotification) }
if dispatchAdvice != nil { try container.encode(dispatchAdvice, forKey: .dispatchAdvice) }
if purchaseOrder != nil { try container.encode(purchaseOrder, forKey: .purchaseOrder) }
if invoice != nil { try container.encode(invoice, forKey: .invoice) }
if claimsNotificationDiscrepancyInformation.count > 0 { try container.encode(claimsNotificationDiscrepancyInformation, forKey: .claimsNotificationDiscrepancyInformation) }
if `extension` != nil { try container.encode(`extension`, forKey: .`extension`) }
}
}
public class BaseDocument : Codable
{
public var currencyCode:String
public var creationDateTime:Date
public var documentActionCode:DocumentAction
public var documentStatusCode:DocumentStatus
public var documentStructureVersion:String
public var lastUpdateDateTime:Date?
public var revisionNumber:Int?
public var avpList:[AvpList] = []
required public init(){}
}
public enum DocumentAction : String, Codable
{
case ADD
case CHANGE_BY_REFRESH
case DELETE
case REJECTED
}
public enum DocumentStatus : String, Codable
{
case ADDITIONAL_TRANSMISSION
case COPY
case ORIGINAL
}
public class AvpList : Codable
{
public var code:String
public var value:String
required public init(){}
}
public class TransactionalParty : Ecom_PartyIdentificationType
{
public var contact:[Contact] = []
public var address:Address
public var communicationChannel:[AvpList] = []
public var financialInstitutionInformation:FinancialInstitutionInformation
public var dutyFeeTaxRegistration:String
public var entityIdentification:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case contact
case address
case communicationChannel
case financialInstitutionInformation
case dutyFeeTaxRegistration
case entityIdentification
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
contact = try container.decodeIfPresent([Contact].self, forKey: .contact) ?? []
address = try container.decodeIfPresent(Address.self, forKey: .address)
communicationChannel = try container.decodeIfPresent([AvpList].self, forKey: .communicationChannel) ?? []
financialInstitutionInformation = try container.decodeIfPresent(FinancialInstitutionInformation.self, forKey: .financialInstitutionInformation)
dutyFeeTaxRegistration = try container.decodeIfPresent(String.self, forKey: .dutyFeeTaxRegistration)
entityIdentification = try container.decodeIfPresent(String.self, forKey: .entityIdentification)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if contact.count > 0 { try container.encode(contact, forKey: .contact) }
if address != nil { try container.encode(address, forKey: .address) }
if communicationChannel.count > 0 { try container.encode(communicationChannel, forKey: .communicationChannel) }
if financialInstitutionInformation != nil { try container.encode(financialInstitutionInformation, forKey: .financialInstitutionInformation) }
if dutyFeeTaxRegistration != nil { try container.encode(dutyFeeTaxRegistration, forKey: .dutyFeeTaxRegistration) }
if entityIdentification != nil { try container.encode(entityIdentification, forKey: .entityIdentification) }
}
}
public class Ecom_PartyIdentificationType : Codable
{
public var gln:String
public var name:String
public var additionalPartyIdentification:[AvpList] = []
required public init(){}
}
public class Contact : Codable
{
public var contactTypeCode:String
public var personName:String
public var departmentName:String
public var jobTitle:String
public var responsibility:String
public var communicationChannel:[CommunicationChannel] = []
required public init(){}
}
public class CommunicationChannel : Codable
{
public var communicationChannelCode:String
public var communicationChannelName:String
public var communicationValue:String
required public init(){}
}
public class Address : Codable
{
public var streetAddressOne:String
public var streetAddressTwo:String
public var streetAddressThree:String
public var city:String
public var postalCode:String
public var provinceCode:String
public var countryCode:String
required public init(){}
}
public class FinancialInstitutionInformation : Codable
{
public var financialInstitutionBranchName:String
public var financialInstitutionName:String
public var financialRoutingNumber:FinancialRoutingNumber
public var financialAccount:FinancialAccount
public var swiftCode:String
public var exportersCode:String
required public init(){}
}
public class FinancialRoutingNumber : Codable
{
public var number:String
public var numberTypeCode:String
required public init(){}
}
public class FinancialAccount : Codable
{
public var number:String
public var numberTypeCode:String
public var name:String
required public init(){}
}
public class BillOfLading : Codable
{
public var creationDate:Date
public var revisionNumber:Int
public var entityIdentification:String
public var tagNumbers:[String] = []
public var totalBags:Int
required public init(){}
}
public class DocumentReference : Codable
{
public var creationDateTime:Date?
public var revisionNumber:Int?
public var lineItemNumber:Int?
public var entityIdentification:String
required public init(){}
}
public class ClaimsNotificationDiscrepancyInformation : Codable
{
public var claimAmount:Double
public var claimReasonCode:String
public var discrepancyDescription:String
public var actualReceived:ClaimsNotificationItemDiscrepancy
public var expectedToReceive:ClaimsNotificationItemDiscrepancy
public var avpList:[AvpList] = []
required public init(){}
}
public class ClaimsNotificationItemDiscrepancy : Codable
{
public var price:Double
public var quantity:Quantity
public var transactionalTradeItem:TransactionalTradeItem
required public init(){}
}
public class Quantity : Codable
{
public var value:Double?
public var measurementUnitCode:String
public var codeListVersion:String
required public init(){}
}
public class TransactionalTradeItem : Codable
{
public var gtin:String
public var additionalTradeItemIdentification:[AvpList] = []
public var tradeItemQuantity:Double?
public var tradeItemDescription:String
public var productVariantIdentifier:String
public var itemTypeCode:String
public var tradeItemDataOwner:String
public var butterFatReference:String
public var transactionalItemData:[TransactionalItemData] = []
public var colour:[Colour] = []
public var size:Size
public var tradeItemClassification:TradeItemClassification
public var avpList:[AvpList] = []
required public init(){}
}
public class TransactionalItemData : Codable
{
public var availableForSaleDate:Date?
public var batchNumber:String
public var bestBeforeDate:Date?
public var countryOfOrigin:String
public var itemExpirationDate:Date?
public var lotNumber:String
public var packagingDate:Date?
public var productionDate:Date?
public var productQualityIndication:String
public var sellByDate:Date?
public var serialNumber:[String] = []
public var shelfLife:String
public var tradeItemQuantity:Int?
public var itemInContactWithFoodProduct:Bool?
public var transactionalItemWeight:[TransactionalItem] = []
public var transactionalItemVolume:[TransactionalItem] = []
public var serialNumberRange:[SerialNumberRange] = []
public var transactionalItemDimensions:[TransactionalItemDimension] = []
public var transactionalItemLogisticUnitInformation:TransactionalItemLogisticUnitInformation
public var transactionalItemDataCarrierAndIdentification:TransactionalItemDataCarrierAndIdentification
public var tradeItemWaste:[TradeItemWaste] = []
public var transactionalItemOrganicInformation:TransactionalItemOrganicInformation
public var avpList:[AvpList] = []
required public init(){}
}
public class TransactionalItem : Codable
{
public var measurementUnitCode:String
public var measurementType:String
public var measurementValue:String
required public init(){}
}
public class SerialNumberRange : Codable
{
public var maximumValue:String
public var minimumValue:String
required public init(){}
}
public class TransactionalItemDimension : Codable
{
public var measurementUnitCode:String
public var depth:String
public var height:String
public var width:String
required public init(){}
}
public class TransactionalItemLogisticUnitInformation : Codable
{
public var numberOfLayers:Int?
public var numberOfUnitsPerLayer:Int?
public var numberOfUnitsPerPallet:Int?
public var packagingTerms:String
public var packageTypeCode:String
public var maximumStackingFactor:Int?
public var returnablePackageTransportCostPayment:String
public var dimensionsOfLogisticUnit:[TransactionalItemDimension] = []
required public init(){}
}
public class TransactionalItemDataCarrierAndIdentification : Codable
{
public var gs1TransactionalItemIdentificationKey:String
public var dataCarrier:String
required public init(){}
}
public class TradeItemWaste : Codable
{
public var wasteIdentification:String
public var typeOfWaste:[AvpList] = []
required public init(){}
}
public class TransactionalItemOrganicInformation : Codable
{
public var isTradeItemOrganic:Bool?
public var organicCertification:String
required public init(){}
}
public class Colour : Codable
{
public var colourCode:String
public var colourDescription:String
required public init(){}
}
public class Size : Codable
{
public var descriptiveSize:String
public var sizeCode:String
required public init(){}
}
public class TradeItemClassification : Codable
{
public var gpcCategoryCode:String
public var additionalTradeItemClassificationCode:[AvpList] = []
public var gpcCategoryName:String
public var gpcAttribute:[AvpList] = []
required public init(){}
}
public class ClaimExtension : Codable
{
public var claimTotals:ClaimTotals
public var shipFrom:TransactionalParty
public var shipTo:TransactionalParty
required public init(){}
}
public class ClaimTotals : Codable
{
public var baseAmount:Double?
public var totalTaxAmount:Double?
public var totalClaimAmount:Double?
required public init(){}
}
public class TokenDto : ICommandResponse, Codable
{
public var token:String
required public init(){}
}
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/claim HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"claim":{"header":{"documentIdentification":{"identifier":"String","type":"String"},"sender":{"identifier":{"authority":"String","text":"String"},"contactInformation":[{}]},"receiver":{"identifier":{"authority":"String","text":"String"},"contactInformation":[{}]}},"claimNotification":{"claimsNotificationTypeCode":"String","isManualProcessNeededForClaimsResolution":false,"isSupplementalMessageBeingSent":false,"supplementalMessageDescription":"String","claimsNotificationIdentification":"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"}]},"remitTo":{"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"}]},"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"}]},"billOfLading":{"creationDate":"\/Date(-62135596800000)\/","revisionNumber":0,"entityIdentification":"String","tagNumbers":["String"],"totalBags":0},"claimsNotification":{"creationDateTime":"0001-01-01","revisionNumber":0,"lineItemNumber":0,"entityIdentification":"String"},"dispatchAdvice":{"creationDateTime":"0001-01-01","revisionNumber":0,"lineItemNumber":0,"entityIdentification":"String"},"purchaseOrder":{"creationDateTime":"0001-01-01","revisionNumber":0,"lineItemNumber":0,"entityIdentification":"String"},"invoice":{"creationDateTime":"0001-01-01","revisionNumber":0,"lineItemNumber":0,"entityIdentification":"String"},"claimsNotificationDiscrepancyInformation":[{"claimAmount":0,"claimReasonCode":"String","discrepancyDescription":"String","actualReceived":{"price":0,"quantity":{"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"}]}},"expectedToReceive":{"price":0,"quantity":{"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"}]}},"avpList":[{"code":"String","value":"String"}]}],"extension":{"claimTotals":{"baseAmount":0,"totalTaxAmount":0,"totalClaimAmount":0},"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"}]},"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"}]}},"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
{}