DX STF Client API

<back to all web services

AddClaim

Claim Requests

Claim

Requires Authentication
The following routes are available for this service:
POST/api/claimAdd new claim
AddClaim Parameters:
NameParameterData TypeRequiredDescription
ClaimmodelClaimMessageYesClaim model containing all of the claim data
ClaimMessage Parameters:
NameParameterData TypeRequiredDescription
HeaderformHeaderYes
ClaimNotificationformClaimNotificationYes
Header Parameters:
NameParameterData TypeRequiredDescription
DocumentIdentificationformDocumentIdentificationYes
SenderformPartnerYes
ReceiverformPartnerYes
DocumentIdentification Parameters:
NameParameterData TypeRequiredDescription
IdentifierformstringYes
TypeformstringYes
CreationDateAndTimeformDateTimeNo
Partner Parameters:
NameParameterData TypeRequiredDescription
IdentifierformIdentifierYes
ContactInformationformList<ContactInformation>Yes
Identifier Parameters:
NameParameterData TypeRequiredDescription
AuthorityformstringYes
TextformstringYes
ClaimNotification Parameters:
NameParameterData TypeRequiredDescription
ClaimsNotificationTypeCodeformstringYes
IsManualProcessNeededForClaimsResolutionformboolNo
IsSupplementalMessageBeingSentformboolNo
SupplementalMessageDescriptionformstringYes
ClaimsNotificationIdentificationformstringYes
BuyerformTransactionalPartyYes
RemitToformTransactionalPartyYes
SellerformTransactionalPartyYes
BillOfLadingformBillOfLadingYes
ClaimsNotificationformDocumentReferenceYes
DispatchAdviceformDocumentReferenceYes
PurchaseOrderformDocumentReferenceYes
InvoiceformDocumentReferenceYes
ClaimsNotificationDiscrepancyInformationformList<ClaimsNotificationDiscrepancyInformation>Yes
ExtensionformClaimExtensionYes
BaseDocument Parameters:
NameParameterData TypeRequiredDescription
CurrencyCodeformstringYes
CreationDateTimeformDateTimeNo
DocumentActionCodeformDocumentActionNo
DocumentStatusCodeformDocumentStatusNo
DocumentStructureVersionformstringYes
LastUpdateDateTimeformDateTime?No
RevisionNumberformlong?No
AvpListformList<AvpList>Yes
DocumentAction Enum:
ADD
CHANGE_BY_REFRESH
DELETE
REJECTED
DocumentStatus Enum:
ADDITIONAL_TRANSMISSION
COPY
ORIGINAL
AvpList Parameters:
NameParameterData TypeRequiredDescription
CodeformstringYes
ValueformstringYes
TransactionalParty Parameters:
NameParameterData TypeRequiredDescription
ContactformList<Contact>Yes
AddressformAddressYes
CommunicationChannelformList<AvpList>Yes
FinancialInstitutionInformationformFinancialInstitutionInformationYes
DutyFeeTaxRegistrationformstringYes
EntityIdentificationformstringYes
Ecom_PartyIdentificationType Parameters:
NameParameterData TypeRequiredDescription
GlnformstringYes
NameformstringYes
AdditionalPartyIdentificationformList<AvpList>Yes
Contact Parameters:
NameParameterData TypeRequiredDescription
ContactTypeCodeformstringYes
PersonNameformstringYes
DepartmentNameformstringYes
JobTitleformstringYes
ResponsibilityformstringYes
CommunicationChannelformList<CommunicationChannel>Yes
CommunicationChannel Parameters:
NameParameterData TypeRequiredDescription
CommunicationChannelCodeformstringYes
CommunicationChannelNameformstringYes
CommunicationValueformstringYes
Address Parameters:
NameParameterData TypeRequiredDescription
StreetAddressOneformstringYes
StreetAddressTwoformstringYes
StreetAddressThreeformstringYes
CityformstringYes
PostalCodeformstringYes
ProvinceCodeformstringYes
CountryCodeformstringYes
FinancialInstitutionInformation Parameters:
NameParameterData TypeRequiredDescription
FinancialInstitutionBranchNameformstringYes
FinancialInstitutionNameformstringYes
FinancialRoutingNumberformFinancialRoutingNumberYes
FinancialAccountformFinancialAccountYes
SwiftCodeformstringYes
ExportersCodeformstringYes
FinancialRoutingNumber Parameters:
NameParameterData TypeRequiredDescription
NumberformstringYes
NumberTypeCodeformstringYes
FinancialAccount Parameters:
NameParameterData TypeRequiredDescription
NumberformstringYes
NumberTypeCodeformstringYes
NameformstringYes
BillOfLading Parameters:
NameParameterData TypeRequiredDescription
CreationDateformDateTimeOffsetNo
RevisionNumberformlongNo
EntityIdentificationformstringYes
TagNumbersformList<string>Yes
TotalBagsformlongNo
DocumentReference Parameters:
NameParameterData TypeRequiredDescription
CreationDateTimeformDateTime?No
RevisionNumberformlong?No
LineItemNumberformlong?No
EntityIdentificationformstringYes
ClaimsNotificationDiscrepancyInformation Parameters:
NameParameterData TypeRequiredDescription
ClaimAmountformdecimalNo
ClaimReasonCodeformstringYes
DiscrepancyDescriptionformstringYes
ActualReceivedformClaimsNotificationItemDiscrepancyYes
ExpectedToReceiveformClaimsNotificationItemDiscrepancyYes
AvpListformList<AvpList>Yes
ClaimsNotificationItemDiscrepancy Parameters:
NameParameterData TypeRequiredDescription
PriceformdecimalNo
QuantityformQuantityYes
TransactionalTradeItemformTransactionalTradeItemYes
Quantity Parameters:
NameParameterData TypeRequiredDescription
Valueformdecimal?No
MeasurementUnitCodeformstringYes
CodeListVersionformstringYes
TransactionalTradeItem Parameters:
NameParameterData TypeRequiredDescription
GtinformstringYes
AdditionalTradeItemIdentificationformList<AvpList>Yes
TradeItemQuantityformdecimal?No
TradeItemDescriptionformstringYes
ProductVariantIdentifierformstringYes
ItemTypeCodeformstringYes
TradeItemDataOwnerformstringYes
ButterFatReferenceformstringYes
TransactionalItemDataformList<TransactionalItemData>Yes
ColourformList<Colour>Yes
SizeformSizeYes
TradeItemClassificationformTradeItemClassificationYes
AvpListformList<AvpList>Yes
TransactionalItemData Parameters:
NameParameterData TypeRequiredDescription
AvailableForSaleDateformDateTime?No
BatchNumberformstringYes
BestBeforeDateformDateTime?No
CountryOfOriginformstringYes
ItemExpirationDateformDateTime?No
LotNumberformstringYes
PackagingDateformDateTime?No
ProductionDateformDateTime?No
ProductQualityIndicationformstringYes
SellByDateformDateTime?No
SerialNumberformList<string>Yes
ShelfLifeformstringYes
TradeItemQuantityformlong?No
ItemInContactWithFoodProductformbool?No
TransactionalItemWeightformList<TransactionalItem>Yes
TransactionalItemVolumeformList<TransactionalItem>Yes
SerialNumberRangeformList<SerialNumberRange>Yes
TransactionalItemDimensionsformList<TransactionalItemDimension>Yes
TransactionalItemLogisticUnitInformationformTransactionalItemLogisticUnitInformationYes
TransactionalItemDataCarrierAndIdentificationformTransactionalItemDataCarrierAndIdentificationYes
TradeItemWasteformList<TradeItemWaste>Yes
TransactionalItemOrganicInformationformTransactionalItemOrganicInformationYes
AvpListformList<AvpList>Yes
TransactionalItem Parameters:
NameParameterData TypeRequiredDescription
MeasurementUnitCodeformstringYes
MeasurementTypeformstringYes
MeasurementValueformstringYes
SerialNumberRange Parameters:
NameParameterData TypeRequiredDescription
MaximumValueformstringYes
MinimumValueformstringYes
TransactionalItemDimension Parameters:
NameParameterData TypeRequiredDescription
MeasurementUnitCodeformstringYes
DepthformstringYes
HeightformstringYes
WidthformstringYes
TransactionalItemLogisticUnitInformation Parameters:
NameParameterData TypeRequiredDescription
NumberOfLayersformlong?No
NumberOfUnitsPerLayerformlong?No
NumberOfUnitsPerPalletformlong?No
PackagingTermsformstringYes
PackageTypeCodeformstringYes
MaximumStackingFactorformlong?No
ReturnablePackageTransportCostPaymentformstringYes
DimensionsOfLogisticUnitformList<TransactionalItemDimension>Yes
TransactionalItemDataCarrierAndIdentification Parameters:
NameParameterData TypeRequiredDescription
Gs1TransactionalItemIdentificationKeyformstringYes
DataCarrierformstringYes
TradeItemWaste Parameters:
NameParameterData TypeRequiredDescription
WasteIdentificationformstringYes
TypeOfWasteformList<AvpList>Yes
TransactionalItemOrganicInformation Parameters:
NameParameterData TypeRequiredDescription
IsTradeItemOrganicformbool?No
OrganicCertificationformstringYes
Colour Parameters:
NameParameterData TypeRequiredDescription
ColourCodeformstringYes
ColourDescriptionformstringYes
Size Parameters:
NameParameterData TypeRequiredDescription
DescriptiveSizeformstringYes
SizeCodeformstringYes
TradeItemClassification Parameters:
NameParameterData TypeRequiredDescription
GpcCategoryCodeformstringYes
AdditionalTradeItemClassificationCodeformList<AvpList>Yes
GpcCategoryNameformstringYes
GpcAttributeformList<AvpList>Yes
ClaimExtension Parameters:
NameParameterData TypeRequiredDescription
ClaimTotalsformClaimTotalsYes
ShipFromformTransactionalPartyYes
ShipToformTransactionalPartyYes
ClaimTotals Parameters:
NameParameterData TypeRequiredDescription
BaseAmountformdecimal?No
TotalTaxAmountformdecimal?No
TotalClaimAmountformdecimal?No
TokenDto Parameters:
NameParameterData TypeRequiredDescription
TokenformGuidNo

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/claim HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: text/jsv
Content-Type: text/jsv
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: 0001-01-01T00:00:00.0000000+00:00,
				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/jsv
Content-Length: length

{
	
}