Unfortunately, this feature is not supported on mobile devices. For the best experience, please use a computer.

project44 REST API (4.0.0)

Version 4.0.0 of project44's API

Download OpenAPI description
Languages
Servers
Mock server
https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/
API endpoint for project44 tenants created in NA region
https://na12.api.project44.com/
API endpoint for project44 tenants created in EU region
https://eu12.api.project44.com/
API endpoint for project44 tenants created in the Sandbox environment
https://na12.api.sandbox.p-44.com/

Manage Client Applications

Operations

Generate Tokens

Operations

Unified Shipment Tracking

Operations

FTL Modal Tracking

Operations

start tracking a truckload shipment

Request

Use this POST call to start a tracking job, initializing Truckload Tracking. Note that If the shipment is initialized by using GeoCoordinates instead of an address, it may be possible that a street address will not be returned in the response.


Required Fields

  • carrierIdentifier:
    • type
    • value
  • shipmentIdentifiers:
    • type
    • value
  • shipmentStops: (at least two)
    • stopNumber
    • appointmentWindow:
      • startDateTime
      • endDateTime
    • location:
      • address: (if no geoCoordinates provided)
        • postalCode
        • addressLines
        • city
        • state (for USA, Mexico, and Canada)
      • contact:
        • companyName
    • geoCoordinates: (if no address provided)
      • latitude
      • longitude
  • capacityProviderAccountGroup: (by a few capacity providers)
    • accounts:
      • code
  • equipmentIdentifiers: (by most capacity providers)
    • type
    • value
Bodyrequired

shipment

apiConfigurationobject(TruckloadShipmentApiConfiguration)

Contains fields used to configure the truckload shipment API.

attributesArray of objects(ShipmentAttribute)

A list of up to 5 attributes (name/value pairs) to associate with this shipment. These values will be returned unchanged with each status response for the shipment and can also be used to group together related shipments in reporting scenarios, e.g. all shipments tracked for "division":"Central". The attribute names have to be unique within the list. These attributes may optionally be predefined by your organization's admin

capacityProviderAccountGroupobject(CapacityProviderAccountGroup)

The requested capacity provider account group containing the account used for authentication with the capacity provider's API.

carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

equipmentIdentifierChangesArray of objects(TruckloadEquipmentIdentifierChange)

A list of equipment identifier changes that should be applied to the shipment

equipmentIdentifiersArray of objects(TruckloadEquipmentIdentifier)

A user-defined list of equipment identifiers identifying truckload equipment that can be tracked, such as cell phones and electronic logging devices (ELDs). These need not be unique to this shipment.

idinteger(int64)

The project44-generated id for the shipment. This may not be provided when creating a shipment, but will always be returned in the shipment confirmation. This id may be used in subsequent API calls to reference a shipment.

idleDurationinteger(int64)

Computed value representing how long (in minutes) shipment is being Idle. This value is available while whole status history is being requested.

masterShipmentIdstring(uuid)

The project44-generated id for tracking an intermodal shipment. This id may be used in subsequent API calls to reference a shipment.

pointsOfInterestArray of objects(TruckloadShipmentPointOfInterest)

A user-defined list of all the point of interest for the shipment.

sensorsArray of objects(TruckloadShipmentSensor)

A list of sensors to track.

shipmentDetailsobject(TruckloadTrackingShipmentDetails)

Contains fields which pertain to the shipment contents.

shipmentIdentifiersArray of objects(TruckloadShipmentIdentifier)

A user-defined list of shipment identifiers that are unique to this shipment and carrier identifier. These may be used in subsequent API calls along with the carrier identifier to reference a shipment. They may also be used by project44 to track the shipment. Only one shipment identifier of each type may be provided.

shipmentLegIdstring(uuid)

The project44-generated id for the truckload shipment. This id may be used in subsequent API calls to reference a shipment.

shipmentStopsArray of objects(TruckloadShipmentStop)

A user-defined list of all the shipment stops for the shipment, including stop locations and appointment windows. This list must contain the shipment's origin and destination and any stops of interest in between (other pickup or delivery locations).

shippingDetailsobject(TruckloadShippingDetails)

Contains fields which influence the way project44 calculates arrival estimates for stops.

trackingDetailsArray of objects(TruckloadTrackingMethodDetails)

Contains information about how we obtain tracking data for the shipment. Currently, this list always includes either zero or one active tracking method. Future versions will be able to combine data from more than one tracking method. In that case, the primary tracking method will be listed first.

curl -i -X POST \
  https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/tl/shipments \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "apiConfiguration": {
      "fallBackToDefaultAccountGroup": true,
      "webhookEndpointConfigName": "string",
      "enableIntelligentMatching": true
    },
    "attributes": [
      {
        "name": "string",
        "predefined": true,
        "value": "string",
        "values": [
          "string"
        ]
      }
    ],
    "capacityProviderAccountGroup": {
      "code": "string",
      "accounts": [
        {
          "code": "string"
        }
      ]
    },
    "carrierIdentifier": {
      "type": "SCAC",
      "value": "string"
    },
    "equipmentIdentifierChanges": [
      {
        "timestamp": "string",
        "type": "MOBILE_PHONE_NUMBER",
        "value": "string"
      }
    ],
    "equipmentIdentifiers": [
      {
        "shouldDelete": true,
        "type": "MOBILE_PHONE_NUMBER",
        "value": "string"
      }
    ],
    "id": 0,
    "idleDuration": 0,
    "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
    "pointsOfInterest": [
      {
        "geoCoordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "location": {
          "address": {
            "postalCode": "string",
            "addressLines": [
              "str"
            ],
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "phoneNumber": "string",
            "phoneNumberCountryCode": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string"
          }
        },
        "locationIdentifiers": [
          {
            "type": "EXTERNAL",
            "value": "string"
          }
        ],
        "pointOfInterestDescription": "string",
        "pointOfInterestId": "string",
        "pointOfInterestName": "string",
        "pointOfInterestType": "GENERAL",
        "shouldDelete": true
      }
    ],
    "sensors": [
      {
        "identifier": {
          "type": "TEMPERATURE",
          "value": "string"
        },
        "max": 0.1,
        "min": 0.1,
        "target": 0.1
      }
    ],
    "shipmentDetails": {
      "lineItems": [
        {
          "commodityCode": "string",
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "phoneNumber": "string",
            "phoneNumberCountryCode": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string"
          },
          "deliveryStopNumber": 0,
          "description": "string",
          "freightClass": "50",
          "handlingUnitPackageType": "PLT",
          "handlingUnitQuantity": 0,
          "involvedParties": [
            {
              "partyIdentifiers": [
                {}
              ]
            }
          ],
          "itemIdentifiers": [
            {
              "type": "PURCHASE_ORDER",
              "value": "string"
            }
          ],
          "itemPackageType": "BAG",
          "itemQuantity": 0,
          "monetaryValue": {
            "currency": "USD",
            "amount": 0
          },
          "pickupStopNumber": 0,
          "subLineItems": [
            {
              "commodityCode": "string",
              "contact": {
                "companyName": "string",
                "contactName": "string",
                "phoneNumber": "string",
                "phoneNumberCountryCode": "string",
                "phoneNumber2": "string",
                "phoneNumber2CountryCode": "string",
                "email": "string",
                "faxNumber": "string",
                "faxNumberCountryCode": "string"
              },
              "description": "string",
              "freightClass": "50",
              "involvedParties": [
                {
                  "partyIdentifiers": []
                }
              ],
              "itemIdentifiers": [
                {}
              ],
              "itemPackageType": "BAG",
              "itemQuantity": 0,
              "monetaryValue": {
                "currency": "USD",
                "amount": 0
              },
              "totalWeight": {
                "weight": 0,
                "weightUnit": "LB"
              }
            }
          ],
          "totalWeight": {
            "weight": 0,
            "weightUnit": "LB"
          }
        }
      ]
    },
    "shipmentIdentifiers": [
      {
        "type": "BILL_OF_LADING",
        "value": "string"
      }
    ],
    "shipmentLegId": "6798b072-0783-4009-baaf-2b9780277fbd",
    "shipmentStops": [
      {
        "stopNumber": 1,
        "appointmentWindow": {
          "startDateTime": "2019-08-24T14:15:22Z",
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string"
        },
        "additionalAppointmentWindows": [
          {
            "type": "STRATEGIC",
            "appointmentWindow": {
              "startDateTime": "2019-08-24T14:15:22Z",
              "endDateTime": "2019-08-24T14:15:22Z",
              "localTimeZoneIdentifier": "string"
            },
            "appointmentStatus": "PENDING",
            "identifiers": [
              {
                "type": "DOCK",
                "value": "string"
              }
            ]
          }
        ],
        "location": {
          "address": {
            "postalCode": "string",
            "addressLines": [
              "str"
            ],
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "phoneNumber": "string",
            "phoneNumberCountryCode": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string"
          }
        },
        "locationIdentifiers": [
          {
            "type": "EXTERNAL",
            "value": "string"
          }
        ],
        "stopName": "string",
        "geoCoordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "stopType": "PICKUP",
        "stopDescription": "string",
        "involvedParties": [
          {
            "partyIdentifiers": [
              {
                "type": "ACCOUNT",
                "value": "string"
              }
            ]
          }
        ],
        "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
        "externalArrivalEstimate": {
          "source": "SHIPPER",
          "dateTime": "2019-08-24T14:15:22Z"
        }
      }
    ],
    "shippingDetails": {
      "multipleDrivers": true,
      "truckDetails": {
        "truckDimensions": {
          "length": 0,
          "width": 0,
          "height": 0,
          "unitOfMeasure": "IN"
        },
        "weight": 0,
        "weightUnitOfMeasure": "LB",
        "truckType": "AUTO_CARRIER"
      },
      "hazmatDetails": {
        "hazardClasses": [
          "string"
        ]
      }
    },
    "trackingDetails": [
      {
        "equipmentIdentifier": {
          "shouldDelete": true,
          "type": "MOBILE_PHONE_NUMBER",
          "value": "string"
        },
        "equipmentIdentifierSource": "CUSTOMER",
        "trackingType": "MOBILE_PHONE"
      }
    ]
  }'

Responses

Created

Body
infoMessagesArray of objects(Message)

System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.

shipmentobject(TruckloadShipment)
Response
{ "infoMessages": [ { … } ], "shipment": { "apiConfiguration": { … }, "attributes": [ … ], "capacityProviderAccountGroup": { … }, "carrierIdentifier": { … }, "equipmentIdentifierChanges": [ … ], "equipmentIdentifiers": [ … ], "id": 0, "idleDuration": 0, "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa", "pointsOfInterest": [ … ], "sensors": [ … ], "shipmentDetails": { … }, "shipmentIdentifiers": [ … ], "shipmentLegId": "6798b072-0783-4009-baaf-2b9780277fbd", "shipmentStops": [ … ], "shippingDetails": { … }, "trackingDetails": [ … ] } }

Update a truckload shipment by shipment identifier

Request

Use this endpoint to update a truckload shipment with a given shipment identifier.

Example: You can update location fields or appointment windows to reflect changes with this endpoint.

Note that tracking information updates are currently not supported. This includes shipmentIdentifiers, capacityProviderAccountGroup, and apiConfiguration changes.* It is suggested to first get the current shipment object from the GET shipment endpoint, make the desired modifications, and then PUT the modified shipment to this endpoint. After the modified shipment is successfully submitted, the updated stops, attributes, shipping details etc. will be applied and used in tracking from then on. If a shipment PUT request comes in with only GeoCoordinates, it is possible that a street address will not be returned in the response.


Required Fields

  • carrierIdentifier:
    • type
    • value
  • shipmentIdentifiers:
    • type
    • value
  • shipmentStops: (at least two)
    • stopNumber
    • appointmentWindow:
      • startDateTime
      • endDateTime
    • location:
      • address: (if no geoCoordinates provided)
        • postalCode
        • addressLines
        • city
        • state (for USA, Mexico, and Canada)
      • contact:
        • companyName
    • geoCoordinates: (if no address provided)
      • latitude
      • longitude
  • capacityProviderAccountGroup: (by a few capacity providers)
    • accounts:
      • code
  • equipmentIdentifiers: (by most capacity providers)
    • type
    • value
Bodyrequired

shipment

apiConfigurationobject(TruckloadShipmentApiConfiguration)

Contains fields used to configure the truckload shipment API.

attributesArray of objects(ShipmentAttribute)

A list of up to 5 attributes (name/value pairs) to associate with this shipment. These values will be returned unchanged with each status response for the shipment and can also be used to group together related shipments in reporting scenarios, e.g. all shipments tracked for "division":"Central". The attribute names have to be unique within the list. These attributes may optionally be predefined by your organization's admin

capacityProviderAccountGroupobject(CapacityProviderAccountGroup)

The requested capacity provider account group containing the account used for authentication with the capacity provider's API.

carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

equipmentIdentifierChangesArray of objects(TruckloadEquipmentIdentifierChange)

A list of equipment identifier changes that should be applied to the shipment

equipmentIdentifiersArray of objects(TruckloadEquipmentIdentifier)

A user-defined list of equipment identifiers identifying truckload equipment that can be tracked, such as cell phones and electronic logging devices (ELDs). These need not be unique to this shipment.

idinteger(int64)

The project44-generated id for the shipment. This may not be provided when creating a shipment, but will always be returned in the shipment confirmation. This id may be used in subsequent API calls to reference a shipment.

idleDurationinteger(int64)

Computed value representing how long (in minutes) shipment is being Idle. This value is available while whole status history is being requested.

masterShipmentIdstring(uuid)

The project44-generated id for tracking an intermodal shipment. This id may be used in subsequent API calls to reference a shipment.

pointsOfInterestArray of objects(TruckloadShipmentPointOfInterest)

A user-defined list of all the point of interest for the shipment.

sensorsArray of objects(TruckloadShipmentSensor)

A list of sensors to track.

shipmentDetailsobject(TruckloadTrackingShipmentDetails)

Contains fields which pertain to the shipment contents.

shipmentIdentifiersArray of objects(TruckloadShipmentIdentifier)

A user-defined list of shipment identifiers that are unique to this shipment and carrier identifier. These may be used in subsequent API calls along with the carrier identifier to reference a shipment. They may also be used by project44 to track the shipment. Only one shipment identifier of each type may be provided.

shipmentLegIdstring(uuid)

The project44-generated id for the truckload shipment. This id may be used in subsequent API calls to reference a shipment.

shipmentStopsArray of objects(TruckloadShipmentStop)

A user-defined list of all the shipment stops for the shipment, including stop locations and appointment windows. This list must contain the shipment's origin and destination and any stops of interest in between (other pickup or delivery locations).

shippingDetailsobject(TruckloadShippingDetails)

Contains fields which influence the way project44 calculates arrival estimates for stops.

trackingDetailsArray of objects(TruckloadTrackingMethodDetails)

Contains information about how we obtain tracking data for the shipment. Currently, this list always includes either zero or one active tracking method. Future versions will be able to combine data from more than one tracking method. In that case, the primary tracking method will be listed first.

curl -i -X PUT \
  https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/tl/shipments \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "apiConfiguration": {
      "fallBackToDefaultAccountGroup": true,
      "webhookEndpointConfigName": "string",
      "enableIntelligentMatching": true
    },
    "attributes": [
      {
        "name": "string",
        "predefined": true,
        "value": "string",
        "values": [
          "string"
        ]
      }
    ],
    "capacityProviderAccountGroup": {
      "code": "string",
      "accounts": [
        {
          "code": "string"
        }
      ]
    },
    "carrierIdentifier": {
      "type": "SCAC",
      "value": "string"
    },
    "equipmentIdentifierChanges": [
      {
        "timestamp": "string",
        "type": "MOBILE_PHONE_NUMBER",
        "value": "string"
      }
    ],
    "equipmentIdentifiers": [
      {
        "shouldDelete": true,
        "type": "MOBILE_PHONE_NUMBER",
        "value": "string"
      }
    ],
    "id": 0,
    "idleDuration": 0,
    "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
    "pointsOfInterest": [
      {
        "geoCoordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "location": {
          "address": {
            "postalCode": "string",
            "addressLines": [
              "str"
            ],
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "phoneNumber": "string",
            "phoneNumberCountryCode": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string"
          }
        },
        "locationIdentifiers": [
          {
            "type": "EXTERNAL",
            "value": "string"
          }
        ],
        "pointOfInterestDescription": "string",
        "pointOfInterestId": "string",
        "pointOfInterestName": "string",
        "pointOfInterestType": "GENERAL",
        "shouldDelete": true
      }
    ],
    "sensors": [
      {
        "identifier": {
          "type": "TEMPERATURE",
          "value": "string"
        },
        "max": 0.1,
        "min": 0.1,
        "target": 0.1
      }
    ],
    "shipmentDetails": {
      "lineItems": [
        {
          "commodityCode": "string",
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "phoneNumber": "string",
            "phoneNumberCountryCode": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string"
          },
          "deliveryStopNumber": 0,
          "description": "string",
          "freightClass": "50",
          "handlingUnitPackageType": "PLT",
          "handlingUnitQuantity": 0,
          "involvedParties": [
            {
              "partyIdentifiers": [
                {}
              ]
            }
          ],
          "itemIdentifiers": [
            {
              "type": "PURCHASE_ORDER",
              "value": "string"
            }
          ],
          "itemPackageType": "BAG",
          "itemQuantity": 0,
          "monetaryValue": {
            "currency": "USD",
            "amount": 0
          },
          "pickupStopNumber": 0,
          "subLineItems": [
            {
              "commodityCode": "string",
              "contact": {
                "companyName": "string",
                "contactName": "string",
                "phoneNumber": "string",
                "phoneNumberCountryCode": "string",
                "phoneNumber2": "string",
                "phoneNumber2CountryCode": "string",
                "email": "string",
                "faxNumber": "string",
                "faxNumberCountryCode": "string"
              },
              "description": "string",
              "freightClass": "50",
              "involvedParties": [
                {
                  "partyIdentifiers": []
                }
              ],
              "itemIdentifiers": [
                {}
              ],
              "itemPackageType": "BAG",
              "itemQuantity": 0,
              "monetaryValue": {
                "currency": "USD",
                "amount": 0
              },
              "totalWeight": {
                "weight": 0,
                "weightUnit": "LB"
              }
            }
          ],
          "totalWeight": {
            "weight": 0,
            "weightUnit": "LB"
          }
        }
      ]
    },
    "shipmentIdentifiers": [
      {
        "type": "BILL_OF_LADING",
        "value": "string"
      }
    ],
    "shipmentLegId": "6798b072-0783-4009-baaf-2b9780277fbd",
    "shipmentStops": [
      {
        "stopNumber": 1,
        "appointmentWindow": {
          "startDateTime": "2019-08-24T14:15:22Z",
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string"
        },
        "additionalAppointmentWindows": [
          {
            "type": "STRATEGIC",
            "appointmentWindow": {
              "startDateTime": "2019-08-24T14:15:22Z",
              "endDateTime": "2019-08-24T14:15:22Z",
              "localTimeZoneIdentifier": "string"
            },
            "appointmentStatus": "PENDING",
            "identifiers": [
              {
                "type": "DOCK",
                "value": "string"
              }
            ]
          }
        ],
        "location": {
          "address": {
            "postalCode": "string",
            "addressLines": [
              "str"
            ],
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "phoneNumber": "string",
            "phoneNumberCountryCode": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string"
          }
        },
        "locationIdentifiers": [
          {
            "type": "EXTERNAL",
            "value": "string"
          }
        ],
        "stopName": "string",
        "geoCoordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "stopType": "PICKUP",
        "stopDescription": "string",
        "involvedParties": [
          {
            "partyIdentifiers": [
              {
                "type": "ACCOUNT",
                "value": "string"
              }
            ]
          }
        ],
        "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
        "externalArrivalEstimate": {
          "source": "SHIPPER",
          "dateTime": "2019-08-24T14:15:22Z"
        }
      }
    ],
    "shippingDetails": {
      "multipleDrivers": true,
      "truckDetails": {
        "truckDimensions": {
          "length": 0,
          "width": 0,
          "height": 0,
          "unitOfMeasure": "IN"
        },
        "weight": 0,
        "weightUnitOfMeasure": "LB",
        "truckType": "AUTO_CARRIER"
      },
      "hazmatDetails": {
        "hazardClasses": [
          "string"
        ]
      }
    },
    "trackingDetails": [
      {
        "equipmentIdentifier": {
          "shouldDelete": true,
          "type": "MOBILE_PHONE_NUMBER",
          "value": "string"
        },
        "equipmentIdentifierSource": "CUSTOMER",
        "trackingType": "MOBILE_PHONE"
      }
    ]
  }'

Responses

OK

Body
infoMessagesArray of objects(Message)

System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.

shipmentobject(TruckloadShipment)
Response
{ "infoMessages": [ { … } ], "shipment": { "apiConfiguration": { … }, "attributes": [ … ], "capacityProviderAccountGroup": { … }, "carrierIdentifier": { … }, "equipmentIdentifierChanges": [ … ], "equipmentIdentifiers": [ … ], "id": 0, "idleDuration": 0, "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa", "pointsOfInterest": [ … ], "sensors": [ … ], "shipmentDetails": { … }, "shipmentIdentifiers": [ … ], "shipmentLegId": "6798b072-0783-4009-baaf-2b9780277fbd", "shipmentStops": [ … ], "shippingDetails": { … }, "trackingDetails": [ … ] } }

Delete truckload shipment by shipment identifier

Request

Use this endpoint to delete an existing truckload shipment with a given shipment identifier.

Required Fields

  • carrierIdentifier.type
  • carrierIdentifier.value
  • shipmentIdentifier.type
  • shipmentIdentifier.value
Query
carrierIdentifier.typestring

Capacity provider identifier type.

Enum"SCAC""DOT_NUMBER""MC_NUMBER""P44_EU""SYSTEM""P44_GLOBAL""VAT"
carrierIdentifier.valuestring

Capacity provider identifier value.

shipmentIdentifier.typestring

The type of the shipment identifier.

Enum"BILL_OF_LADING""ORDER"
shipmentIdentifier.valuestring

The value of the shipment identifier.

curl -i -X DELETE \
  'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/tl/shipments?carrierIdentifier.type=SCAC&carrierIdentifier.value=string&shipmentIdentifier.type=BILL_OF_LADING&shipmentIdentifier.value=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

No Content

Body
Response
{ "httpStatusCode": 0, "httpMessage": "string", "errorMessage": "string", "errors": [ { … } ], "supportReferenceId": "string" }

Get Truckload shipment by unique system id

Request

Use this endpoint to return a truckload shipment with a given unique system id.

Required Fields

  • id
Path
idinteger(int64)required

The project44-generated id of the shipment being queried.

curl -i -X GET \
  'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/tl/shipments/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
apiConfigurationobject(TruckloadShipmentApiConfiguration)

Contains fields used to configure the truckload shipment API.

attributesArray of objects(ShipmentAttribute)

A list of up to 5 attributes (name/value pairs) to associate with this shipment. These values will be returned unchanged with each status response for the shipment and can also be used to group together related shipments in reporting scenarios, e.g. all shipments tracked for "division":"Central". The attribute names have to be unique within the list. These attributes may optionally be predefined by your organization's admin

capacityProviderAccountGroupobject(CapacityProviderAccountGroup)

The requested capacity provider account group containing the account used for authentication with the capacity provider's API.

carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

equipmentIdentifierChangesArray of objects(TruckloadEquipmentIdentifierChange)

A list of equipment identifier changes that should be applied to the shipment

equipmentIdentifiersArray of objects(TruckloadEquipmentIdentifier)

A user-defined list of equipment identifiers identifying truckload equipment that can be tracked, such as cell phones and electronic logging devices (ELDs). These need not be unique to this shipment.

idinteger(int64)

The project44-generated id for the shipment. This may not be provided when creating a shipment, but will always be returned in the shipment confirmation. This id may be used in subsequent API calls to reference a shipment.

idleDurationinteger(int64)

Computed value representing how long (in minutes) shipment is being Idle. This value is available while whole status history is being requested.

masterShipmentIdstring(uuid)

The project44-generated id for tracking an intermodal shipment. This id may be used in subsequent API calls to reference a shipment.

pointsOfInterestArray of objects(TruckloadShipmentPointOfInterest)

A user-defined list of all the point of interest for the shipment.

sensorsArray of objects(TruckloadShipmentSensor)

A list of sensors to track.

shipmentDetailsobject(TruckloadTrackingShipmentDetails)

Contains fields which pertain to the shipment contents.

shipmentIdentifiersArray of objects(TruckloadShipmentIdentifier)

A user-defined list of shipment identifiers that are unique to this shipment and carrier identifier. These may be used in subsequent API calls along with the carrier identifier to reference a shipment. They may also be used by project44 to track the shipment. Only one shipment identifier of each type may be provided.

shipmentLegIdstring(uuid)

The project44-generated id for the truckload shipment. This id may be used in subsequent API calls to reference a shipment.

shipmentStopsArray of objects(TruckloadShipmentStop)

A user-defined list of all the shipment stops for the shipment, including stop locations and appointment windows. This list must contain the shipment's origin and destination and any stops of interest in between (other pickup or delivery locations).

shippingDetailsobject(TruckloadShippingDetails)

Contains fields which influence the way project44 calculates arrival estimates for stops.

trackingDetailsArray of objects(TruckloadTrackingMethodDetails)

Contains information about how we obtain tracking data for the shipment. Currently, this list always includes either zero or one active tracking method. Future versions will be able to combine data from more than one tracking method. In that case, the primary tracking method will be listed first.

Response
{ "apiConfiguration": { "fallBackToDefaultAccountGroup": true, "webhookEndpointConfigName": "string", "enableIntelligentMatching": true }, "attributes": [ { … } ], "capacityProviderAccountGroup": { "code": "string", "accounts": [ … ] }, "carrierIdentifier": { "type": "SCAC", "value": "string" }, "equipmentIdentifierChanges": [ { … } ], "equipmentIdentifiers": [ { … } ], "id": 0, "idleDuration": 0, "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa", "pointsOfInterest": [ { … } ], "sensors": [ { … } ], "shipmentDetails": { "lineItems": [ … ] }, "shipmentIdentifiers": [ { … } ], "shipmentLegId": "6798b072-0783-4009-baaf-2b9780277fbd", "shipmentStops": [ { … } ], "shippingDetails": { "multipleDrivers": true, "truckDetails": { … }, "hazmatDetails": { … } }, "trackingDetails": [ { … } ] }

Update a truckload shipment

Request

Use this endpoint to update a truckload shipment.

Example: You can update location fields or appointment windows to reflect changes with this endpoint.

Note that tracking information updates are currently not supported. This includes shipmentIdentifiers, capacityProviderAccountGroup, and apiConfiguration changes.* It is suggested to first get the current shipment object from the GET shipment endpoint, make the desired modifications, and then PUT the modified shipment to this endpoint. After the modified shipment is successfully submitted, the updated stops, attributes, shipping details etc. will be applied and used in tracking from then on. If a shipment PUT request comes in with only GeoCoordinates, it is possible that a street address will not be returned in the response.


Required Fields

  • carrierIdentifier:
    • type
    • value
  • shipmentIdentifiers:
    • type
    • value
  • shipmentStops: (at least two)
    • stopNumber
    • appointmentWindow:
      • startDateTime
      • endDateTime
    • location:
      • address: (if no geoCoordinates provided)
        • postalCode
        • addressLines
        • city
        • state (for USA, Mexico, and Canada)
      • contact:
        • companyName
    • geoCoordinates: (if no address provided)
      • latitude
      • longitude
  • capacityProviderAccountGroup: (by a few capacity providers)
    • accounts:
      • code
  • equipmentIdentifiers: (by most capacity providers)
    • type
    • value
Path
idinteger(int64)required

The project44-generated id of the shipment being updated.

Bodyrequired

shipment

apiConfigurationobject(TruckloadShipmentApiConfiguration)

Contains fields used to configure the truckload shipment API.

attributesArray of objects(ShipmentAttribute)

A list of up to 5 attributes (name/value pairs) to associate with this shipment. These values will be returned unchanged with each status response for the shipment and can also be used to group together related shipments in reporting scenarios, e.g. all shipments tracked for "division":"Central". The attribute names have to be unique within the list. These attributes may optionally be predefined by your organization's admin

capacityProviderAccountGroupobject(CapacityProviderAccountGroup)

The requested capacity provider account group containing the account used for authentication with the capacity provider's API.

carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

equipmentIdentifierChangesArray of objects(TruckloadEquipmentIdentifierChange)

A list of equipment identifier changes that should be applied to the shipment

equipmentIdentifiersArray of objects(TruckloadEquipmentIdentifier)

A user-defined list of equipment identifiers identifying truckload equipment that can be tracked, such as cell phones and electronic logging devices (ELDs). These need not be unique to this shipment.

idinteger(int64)

The project44-generated id for the shipment. This may not be provided when creating a shipment, but will always be returned in the shipment confirmation. This id may be used in subsequent API calls to reference a shipment.

idleDurationinteger(int64)

Computed value representing how long (in minutes) shipment is being Idle. This value is available while whole status history is being requested.

masterShipmentIdstring(uuid)

The project44-generated id for tracking an intermodal shipment. This id may be used in subsequent API calls to reference a shipment.

pointsOfInterestArray of objects(TruckloadShipmentPointOfInterest)

A user-defined list of all the point of interest for the shipment.

sensorsArray of objects(TruckloadShipmentSensor)

A list of sensors to track.

shipmentDetailsobject(TruckloadTrackingShipmentDetails)

Contains fields which pertain to the shipment contents.