Adds or corrects identifiers on a shipment that's already tracked
| Name | Type | Description |
|---|---|---|
| input | UpdateShipmentIdentifiersInput | A list of up to 200 shipments to update. |
businessDataMapping
| Name | Type | Description |
|---|---|---|
| purchaseOrderNumber | String | Purchase order number (PO number): A unique identifier assigned to a specific order. |
| Commodity | String | A high-level description of goods to be shipped. |
| consignee | String | The contracted receiver of the goods shipped. |
| Shipper | String | The contracted shipper of goods. |
| username | String | The individual or entity currently responsible for performing administrative tasks related to the shipment. |
| department | String | The department responsible for overseeing the current stage of administrative tasks associated with the shipment. |
Example Code
Sample Mutation
mutation UpdateShipmentIdentifiers($input: [UpdateShipmentIdentifiersInput!]!) {
updateShipmentIdentifiers(input: $input) {
shipmentId
clientReference
isAccepted
changed {
type
previousValue
currentValue
operation
}
rejectionReason
rejectionDescription
refetchTriggered
collidingShipmentIds
}
}Variables
{
"input": [
{
"shipmentId": "66f1c2a9e4b0a1b2c3d4e5f6",
"bol": "ABC124",
"clientReference": "TMS-8812"
}
]
}UpdateShipmentIdentifiersResult
{
"data": {
"updateShipmentIdentifiers": [
{
"shipmentId": "66f1c2a9e4b0a1b2c3d4e5f6",
"clientReference": "TMS-8812",
"isAccepted": true,
"changed": [
{
"type": "BILL_OF_LADING",
"previousValue": "ABC123",
"currentValue": "ABC124",
"operation": "CHANGED"
}
],
"rejectionReason": null,
"rejectionDescription": null,
"refetchTriggered": true,
"collidingShipmentIds": null
}
]
}
}UpdateShipmentIdentifiersResult
| Name | Type | Description |
|---|---|---|
| shipmentId | ObjectId | Echoes the input shipmentId. |
| clientReference | String | Echoes the input clientReference, if sent. |
| isAccepted | Boolean | The new identifiers were saved and will be tried. Whether the carrier recognises them shows up after the refresh, in winningIdentifier and message (see trackedShipments). |
| changed | IdentifierChange | Each identifier that changed. Empty if the values were already current. |
| rejectionReason | IdentifierUpdateRejectionReason | Why this element was rejected. Null if accepted. |
| rejectionDescription | String | Human-readable detail for rejectionReason. |
| refetchTriggered | Boolean | Whether an immediate refresh from the carrier was triggered. |
| collidingShipmentIds | ObjectId | With IDENTIFIER_COLLISION, the other shipments in your organization that already hold these identifiers. |
| Name | Type | Description |
|---|---|---|
| type | ShipmentIdentifierKind | Which identifier changed. |
| previousValue | String | Null for an ADDED operation. |
| currentValue | String | The new value. |
| operation | IdentifierChangeOperation | ADDED or CHANGED. |
IdentifierUpdateRejectionReason
| Value | Description |
|---|---|
| NOT_ENTITLED | The shipment doesn't exist or isn't tracked by your organization. |
| SHIPMENT_NOT_FOUND | The shipment could not be found. |
| NO_IDENTIFIER_SUPPLIED | No identifier field was sent. |
| SHIPMENT_NOT_ACTIVE | The shipment is disabled or completed. |
| IDENTIFIER_NOT_CHANGEABLE | The carrier hasn't rejected this identifier (for SCAC: the status isn't SCAC_INPUT_ERROR). |
| CONTAINER_NUMBER_CANNOT_BE_ADDED | The shipment was registered without a container number. |
| IDENTIFIER_CANNOT_BE_REMOVED | A null or blank value was sent. |
| IDENTIFIER_TOO_LONG | Over 100 characters. |
| CONTAINER_NUMBER_MALFORMED | Not a valid ISO 6346 number (4 letters, 6 digits, correct check digit). |
| BOL_MALFORMED | Only letters, digits, "-" and "/" are allowed. |
| CARRIER_SCAC_NOT_SUPPORTED | The SCAC isn't supported. |
| IDENTIFIER_COLLISION | The value already belongs to another of your shipments — see collidingShipmentIds. |
| UPDATE_IN_PROGRESS | Another update of the same |
