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/carriers/visibility/ftl/api/
NA - Endpoint for project44 tenants created in the NA region
https://na12.api.project44.com/
EU - Endpoint for project44 tenants created in the EU region
https://eu12.api.project44.com/
Sandbox - Endpoint for project44 tenants created in the sandbox environment
https://na12.api.sandbox.p-44.com/

Manage Client Applications

Operations

Generate Tokens

Operations

FTL: Capacity Provider Push

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/carriers/visibility/ftl/api/api/v4/tl/shipments \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "apiConfiguration": {
      "enableIntelligentMatching": true,
      "fallBackToDefaultAccountGroup": true,
      "webhookEndpointConfigName": "string"
    },
    "attributes": [
      {
        "name": "string",
        "predefined": true,
        "value": "string",
        "values": [
          "string"
        ]
      }
    ],
    "capacityProviderAccountGroup": {
      "accounts": [
        {
          "code": "string"
        }
      ],
      "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",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string",
            "phoneNumber": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "phoneNumberCountryCode": "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",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string",
            "phoneNumber": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "phoneNumberCountryCode": "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",
                "email": "string",
                "faxNumber": "string",
                "faxNumberCountryCode": "string",
                "phoneNumber": "string",
                "phoneNumber2": "string",
                "phoneNumber2CountryCode": "string",
                "phoneNumberCountryCode": "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": [
      {
        "additionalAppointmentWindows": [
          {
            "appointmentStatus": "PENDING",
            "appointmentWindow": {
              "endDateTime": "2019-08-24T14:15:22Z",
              "localTimeZoneIdentifier": "string",
              "startDateTime": "2019-08-24T14:15:22Z"
            },
            "identifiers": [
              {
                "type": "DOCK",
                "value": "string"
              }
            ],
            "type": "STRATEGIC"
          }
        ],
        "appointmentWindow": {
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string",
          "startDateTime": "2019-08-24T14:15:22Z"
        },
        "externalArrivalEstimate": {
          "dateTime": "string",
          "source": "SHIPPER"
        },
        "geoCoordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "involvedParties": [
          {
            "partyIdentifiers": [
              {
                "type": "ACCOUNT",
                "value": "string"
              }
            ]
          }
        ],
        "location": {
          "address": {
            "postalCode": "string",
            "addressLines": [
              "str"
            ],
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string",
            "phoneNumber": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "phoneNumberCountryCode": "string"
          }
        },
        "locationIdentifiers": [
          {
            "type": "EXTERNAL",
            "value": "string"
          }
        ],
        "stopDescription": "string",
        "stopName": "string",
        "stopNumber": 0,
        "stopType": "PICKUP",
        "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
      }
    ],
    "shippingDetails": {
      "hazmatDetails": {
        "hazardClasses": [
          "string"
        ]
      },
      "multipleDrivers": true,
      "truckDetails": {
        "truckDimensions": {
          "height": 0,
          "length": 0,
          "unitOfMeasure": "IN",
          "width": 0
        },
        "truckType": "AUTO_CARRIER",
        "weight": 0,
        "weightUnitOfMeasure": "LB"
      }
    },
    "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/carriers/visibility/ftl/api/api/v4/tl/shipments \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "apiConfiguration": {
      "enableIntelligentMatching": true,
      "fallBackToDefaultAccountGroup": true,
      "webhookEndpointConfigName": "string"
    },
    "attributes": [
      {
        "name": "string",
        "predefined": true,
        "value": "string",
        "values": [
          "string"
        ]
      }
    ],
    "capacityProviderAccountGroup": {
      "accounts": [
        {
          "code": "string"
        }
      ],
      "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",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string",
            "phoneNumber": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "phoneNumberCountryCode": "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",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string",
            "phoneNumber": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "phoneNumberCountryCode": "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",
                "email": "string",
                "faxNumber": "string",
                "faxNumberCountryCode": "string",
                "phoneNumber": "string",
                "phoneNumber2": "string",
                "phoneNumber2CountryCode": "string",
                "phoneNumberCountryCode": "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": [
      {
        "additionalAppointmentWindows": [
          {
            "appointmentStatus": "PENDING",
            "appointmentWindow": {
              "endDateTime": "2019-08-24T14:15:22Z",
              "localTimeZoneIdentifier": "string",
              "startDateTime": "2019-08-24T14:15:22Z"
            },
            "identifiers": [
              {
                "type": "DOCK",
                "value": "string"
              }
            ],
            "type": "STRATEGIC"
          }
        ],
        "appointmentWindow": {
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string",
          "startDateTime": "2019-08-24T14:15:22Z"
        },
        "externalArrivalEstimate": {
          "dateTime": "string",
          "source": "SHIPPER"
        },
        "geoCoordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "involvedParties": [
          {
            "partyIdentifiers": [
              {
                "type": "ACCOUNT",
                "value": "string"
              }
            ]
          }
        ],
        "location": {
          "address": {
            "postalCode": "string",
            "addressLines": [
              "str"
            ],
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string",
            "phoneNumber": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "phoneNumberCountryCode": "string"
          }
        },
        "locationIdentifiers": [
          {
            "type": "EXTERNAL",
            "value": "string"
          }
        ],
        "stopDescription": "string",
        "stopName": "string",
        "stopNumber": 0,
        "stopType": "PICKUP",
        "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
      }
    ],
    "shippingDetails": {
      "hazmatDetails": {
        "hazardClasses": [
          "string"
        ]
      },
      "multipleDrivers": true,
      "truckDetails": {
        "truckDimensions": {
          "height": 0,
          "length": 0,
          "unitOfMeasure": "IN",
          "width": 0
        },
        "truckType": "AUTO_CARRIER",
        "weight": 0,
        "weightUnitOfMeasure": "LB"
      }
    },
    "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/carriers/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/carriers/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": { "enableIntelligentMatching": true, "fallBackToDefaultAccountGroup": true, "webhookEndpointConfigName": "string" }, "attributes": [ {} ], "capacityProviderAccountGroup": { "accounts": [], "code": "string" }, "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": { "hazmatDetails": {}, "multipleDrivers": true, "truckDetails": {} }, "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.

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/carriers/visibility/ftl/api/api/v4/tl/shipments/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "apiConfiguration": {
      "enableIntelligentMatching": true,
      "fallBackToDefaultAccountGroup": true,
      "webhookEndpointConfigName": "string"
    },
    "attributes": [
      {
        "name": "string",
        "predefined": true,
        "value": "string",
        "values": [
          "string"
        ]
      }
    ],
    "capacityProviderAccountGroup": {
      "accounts": [
        {
          "code": "string"
        }
      ],
      "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",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string",
            "phoneNumber": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "phoneNumberCountryCode": "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",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string",
            "phoneNumber": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "phoneNumberCountryCode": "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",
                "email": "string",
                "faxNumber": "string",
                "faxNumberCountryCode": "string",
                "phoneNumber": "string",
                "phoneNumber2": "string",
                "phoneNumber2CountryCode": "string",
                "phoneNumberCountryCode": "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": [
      {
        "additionalAppointmentWindows": [
          {
            "appointmentStatus": "PENDING",
            "appointmentWindow": {
              "endDateTime": "2019-08-24T14:15:22Z",
              "localTimeZoneIdentifier": "string",
              "startDateTime": "2019-08-24T14:15:22Z"
            },
            "identifiers": [
              {
                "type": "DOCK",
                "value": "string"
              }
            ],
            "type": "STRATEGIC"
          }
        ],
        "appointmentWindow": {
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string",
          "startDateTime": "2019-08-24T14:15:22Z"
        },
        "externalArrivalEstimate": {
          "dateTime": "string",
          "source": "SHIPPER"
        },
        "geoCoordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "involvedParties": [
          {
            "partyIdentifiers": [
              {
                "type": "ACCOUNT",
                "value": "string"
              }
            ]
          }
        ],
        "location": {
          "address": {
            "postalCode": "string",
            "addressLines": [
              "str"
            ],
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string",
            "phoneNumber": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "phoneNumberCountryCode": "string"
          }
        },
        "locationIdentifiers": [
          {
            "type": "EXTERNAL",
            "value": "string"
          }
        ],
        "stopDescription": "string",
        "stopName": "string",
        "stopNumber": 0,
        "stopType": "PICKUP",
        "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
      }
    ],
    "shippingDetails": {
      "hazmatDetails": {
        "hazardClasses": [
          "string"
        ]
      },
      "multipleDrivers": true,
      "truckDetails": {
        "truckDimensions": {
          "height": 0,
          "length": 0,
          "unitOfMeasure": "IN",
          "width": 0
        },
        "truckType": "AUTO_CARRIER",
        "weight": 0,
        "weightUnitOfMeasure": "LB"
      }
    },
    "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 unique system id

Request

Use this endpoint to delete an existing truckload shipment with a given unique system id.

Required Fields

  • id
Path
idinteger(int64)required

The project44-generated id of the shipment being deleted.

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

Responses

No Content

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

Create action for existing truckload shipment by unique system id

Request

Use this endpoint to create an action for an existing truckload shipment identified by a given unique system id.

Required Fields

  • id
  • code
Path
idinteger(int64)required

The project44-generated id of the shipment to which this action applies.

Bodyrequired

shipmentAction

codestring

The code for the action to be taken on the shipment.

Value"CANCEL"
curl -i -X POST \
  'https://developers.project44.com/_mock/guides/carriers/visibility/ftl/api/api/v4/tl/shipments/{id}/actions' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "code": "CANCEL"
  }'

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.

Response
{ "infoMessages": [ {} ] }

Request ad hoc equipment approval from the tracking provider

Request

Use this endpoint to request an ad hoc equipment approval from a given tracking provider.Note that this is only supported for the app-less tracking method once every 24h.


Required Fields

  • id
Path
idinteger(int64)required

The project44-generated id for the shipment.

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

Responses

No Content

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

Get status of truckload shipment by unique system id

Request

Use this endpoint to return the status of 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.

Query
includeMapUrlboolean

Whether a publicly accessible URL to the shipment details page should be included in the response.

Default false
includeSensorHistoryboolean

Whether shipment sensor history ('sensorHistory') should be included in the response.

Default false
includeStatusHistoryboolean

Whether shipment status history ('statusUpdates') should be included in the response.

Default false
curl -i -X GET \
  'https://developers.project44.com/_mock/guides/carriers/visibility/ftl/api/api/v4/tl/shipments/{id}/statuses?includeMapUrl=false&includeSensorHistory=false&includeStatusHistory=false' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

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.

latestStatusUpdateobject(TruckloadShipmentStatusUpdate)
latestStopStatusesArray of objects(TruckloadShipmentStopStatus)

The most up-to-date statuses of the vehicle in relation to each stop. One and only one status will always be returned for each stop. If the shipment does not have status 'COMPLETED' or 'DISPATCHED', this list will always contain one and only one stop status with a code of either 'EN_ROUTE' or 'ARRIVED'.

mapUrlstring

Publicly accessible URL to the shipment details page.

notificationRuleobject(TruckloadShipmentNotificationRule)

Contains fields describing properties of rule that triggered a push notification

pointOfInterestStatusArray of objects(TruckloadShipmentPointOfInterestStatus)

A list of status and their identifiers related to the point of interest.

sensorHistoriesArray of objects(TruckloadShipmentSensorHistory)

If requested, all available shipment sensor histories.

shipmentobject(TruckloadShipment)
statusUpdatesArray of objects(TruckloadShipmentStatusUpdate)

If requested, all available shipment status updates.

Response
{ "infoMessages": [ {} ], "latestStatusUpdate": { "address": {}, "geoCoordinates": {}, "statusCode": "DISPATCHED", "statusReason": {}, "stopNumber": 0, "timestamp": "string" }, "latestStopStatuses": [ {} ], "mapUrl": "string", "notificationRule": { "ruleInfo": {}, "ruleType": "DEPRECATED_SHIPMENT_LATE" }, "pointOfInterestStatus": [ {} ], "sensorHistories": [ {} ], "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": [] }, "statusUpdates": [ {} ] }

Get status of a truckload shipment by shipment identifier

Request

Use this endpoint to return a 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.

includeMapUrlboolean

Whether a publicly accessible URL to the shipment details page should be included in the response.

Default false
includeSensorHistoryboolean

Whether shipment sensor history ('sensorHistory') should be included in the response.

Default false
includeStatusHistoryboolean

Whether shipment status history ('statusUpdates') should be included in the response.

Default false
shipmentIdentifier.typestring

The type of the shipment identifier.

Enum"BILL_OF_LADING""ORDER"
shipmentIdentifier.valuestring

The value of the shipment identifier.

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

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.

latestStatusUpdateobject(TruckloadShipmentStatusUpdate)
latestStopStatusesArray of objects(TruckloadShipmentStopStatus)

The most up-to-date statuses of the vehicle in relation to each stop. One and only one status will always be returned for each stop. If the shipment does not have status 'COMPLETED' or 'DISPATCHED', this list will always contain one and only one stop status with a code of either 'EN_ROUTE' or 'ARRIVED'.

mapUrlstring

Publicly accessible URL to the shipment details page.

notificationRuleobject(TruckloadShipmentNotificationRule)

Contains fields describing properties of rule that triggered a push notification

pointOfInterestStatusArray of objects(TruckloadShipmentPointOfInterestStatus)

A list of status and their identifiers related to the point of interest.

sensorHistoriesArray of objects(TruckloadShipmentSensorHistory)

If requested, all available shipment sensor histories.

shipmentobject(TruckloadShipment)
statusUpdatesArray of objects(TruckloadShipmentStatusUpdate)

If requested, all available shipment status updates.

Response
{ "infoMessages": [ {} ], "latestStatusUpdate": { "address": {}, "geoCoordinates": {}, "statusCode": "DISPATCHED", "statusReason": {}, "stopNumber": 0, "timestamp": "string" }, "latestStopStatuses": [ {} ], "mapUrl": "string", "notificationRule": { "ruleInfo": {}, "ruleType": "DEPRECATED_SHIPMENT_LATE" }, "pointOfInterestStatus": [ {} ], "sensorHistories": [ {} ], "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": [] }, "statusUpdates": [ {} ] }

Get available shipment tracking methods for a carrier

Request

Use this endpoint to return available shipment tracking methods for a given carrier.

Required Fields

  • carrierIdentifier.type
  • carrierIdentifier.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.

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

Responses

OK

Body
trackingMethodsArray of objects(TruckloadShipmentTrackingMethod)

An ordered list of tracking methods that can be used to track a shipment, with the most robust method available listed first. When creating a shipment, provide as many shipment identifiers and equipment identifiers as possible that match the ones in the tracking methods in this list, preferring ones first in the list over others. Each tracking method will contain either a shipment identifier or an equipment identifier, or both.

Response
{ "trackingMethods": [ {} ] }