Table of Contents

Integration Cheat Sheet

Keep this open next to Postman.


Linking rules — one line each

  • RFQ → Quote: set AGI = RFQ.interchange.controlReference (the long unique string from the RFQ envelope) and UC = your own Quote reference number
  • Quote → PO: set AAG = the supplier's quotation number as it appears in the Quote payload (e.g. Quote:26021613490115_8128) and UC = Buyer's PO number
  • PO → POC: set ON = PO.interchange.controlReference (the long unique string from the PO envelope) and UC = same PO number as in the PO
Warning

ON is only valid in POC and Order Response messages. Do NOT put ON in a PO payload — it will be rejected. AAG must be the formatted quote number (e.g. Quote:XXXXX_XXXX), not the raw controlReference string.


Mandatory blocks per stage

Block RFQ Quote PO POC
interchange envelope
dateTimePeriod _137 (Document Date) ✓ required ✓ required ✓ required ✓ required
references UC recommended ✓ required ✓ required ✓ required
references AGI ✓ required
references AAG ✓ required
references ON ❌ invalid ✓ required
party BY
party BA
party VN
party CN
party IV
party UD
comments ZTP ✓ required optional optional optional
comments ZTC ✓ required optional optional
comments PUR ✓ required optional optional
comments ZAT ✓ required optional optional optional
lineItem
monetaryAmount _79 + _259 ✓ required ✓ required ✓ required

Hardcoded fields (same in every payload)

Field Value
interchange.identifier UNOC
interchange.versionNumber 2
interchange.senderCodeQualifier ZEX
interchange.recipientCodeQualifier ZEX
releaseNumber 96A
versionNumber (document level) D
controllingAgency UN
associationAssignedCode MARL10
functionCode (new document) _9

Date formats

Field Format Example
interchange.preparationDate YYYYMMDD 20260406
interchange.preparationTime HHMM 1255
dateTimePeriod value (most) YYYYMMDDHHMM 202604061255
dateTimePeriod _69 (delivery days) Number of days 10
dateTimePeriod _69 formatQualifier _804
All other dateTimePeriod formatQualifier _203

dateTimePeriod qualifiers

Qualifier Meaning Used in
_137 Document Date All stages — required
_132 Vessel ETA (local time) All stages — optional
_133 Vessel ETD (local time) All stages — optional
_175 Advise By (GMT) / validity deadline RFQ, Quote — optional
_2 Requested Delivery Date (local time) All stages — optional
_69 Supplier Delivery Time (days) Quote only — optional
_36 Good Until (quote validity) Quote only — optional

monetaryAmount qualifiers

Qualifier Meaning Required?
_259 Total Charge ✓ Required (Quote, PO, POC)
_79 Line-Item Amount (sum of all lines) ✓ Required (Quote, PO, POC)
_64 Freight Cost Optional
_106 Packaging Cost Optional
_204 Discount % (order level) Optional
Tip

_259 = _79 + _106 + _64_204


Test environment

What Value
Base URL https://test.procurelink.global
Auth endpoint POST /api/Auth/Token
RFQ POST /api/Transaction/RFQ
Quote POST /api/Transaction/Quote
PO POST /api/Transaction/Order
POC POST /api/Transaction/OrderConfirm
Get transaction GET /api/Transaction/GetTransactionDetails
List transactions GET /api/Transaction/List
Auth header Authorization: Bearer <token>
Content-Type application/json

Troubleshooting

Warning

Quote appears as a Direct Quote (not linked to any RFQ) AGI is missing or wrong. Check that AGI.referenceNumber equals the RFQ interchange.controlReference exactly — full string, correct casing. UC alone does not create the link. AGI is the hard key.

Warning

PO appears as a Direct PO (not linked to any Quote) Check that AAG.referenceNumber equals the supplier's quotation number from the Quote payload (e.g. Quote:26021613490115_8128). Also confirm that ON is NOT present anywhere in the PO payload.

Warning

POC is not linking back to the PO Check that ON.referenceNumber equals the PO interchange.controlReference exactly. Do not confuse the PO controlReference with the POC's own controlReference — they are different values.


See also: Document Linking · Quote Field Table · PO Field Table · POC Field Table