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/parcel/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

Deprecated Parcel Tracking

Operations

Initialize parcel shipment for tracking.

Request

Required Fields

  • capacityProviderAccountGroup:
    • accounts:
      • code
  • shipmentIdentifiers:
    • type
    • value
  • shipmentStops(Optional):
    • location(Required if stop is provided):
      • address(Required if stop is provided)
Bodyrequired

parcelShipment

apiConfigurationobject(ParcelShipmentApiConfiguration)

Contains fields used to configure the Parcel shipment API.

capacityProviderAccountGroupobject(CapacityProviderAccountGroup)

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

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.

masterShipmentIdstring(uuid)

The project44-generated id for the shipment. This ID may be used when this shipment passes between different modes.This may not be provided when creating a shipment, but will always be returned in the shipment confirmation.

parcelLegIdstring(uuid)

Identifies the leg of the journey. Each piece of equipment has a unique id for each mode that it travels on.This id may be used in subsequent API calls to reference this shipment leg.

shipmentAttributesArray of objects(Attribute)

A user-defined list of shipment attributes that are associated with the shipment

shipmentIdentifiersArray of objects(ParcelShipmentIdentifier)

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. Currently, parcel tracking only accepts shipment identifier with type 'TRACKING_NUMBER'.

shipmentStopsArray of objects(ParcelShipmentStop)

A list of shipment stops that allow the ability to specify appointment windows

curl -i -X POST \
  https://developers.project44.com/_mock/guides/shippers/visibility/parcel/api/api/v4/parcel/shipments \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "apiConfiguration": {
      "fallBackToDefaultAccountGroup": true
    },
    "capacityProviderAccountGroup": {
      "code": "string",
      "accounts": [
        {
          "code": "string"
        }
      ]
    },
    "id": 0,
    "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
    "parcelLegId": "1e90839f-77bf-4c7b-bf18-95a33ad4ed86",
    "shipmentAttributes": [
      {
        "name": "string",
        "values": [
          "string"
        ]
      }
    ],
    "shipmentIdentifiers": [
      {
        "type": "TRACKING_NUMBER",
        "value": "string"
      }
    ],
    "shipmentStops": [
      {
        "appointmentWindow": {
          "startDateTime": "2019-08-24T14:15:22Z",
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string"
        },
        "id": 0,
        "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"
          },
          "geoCoordinates": {
            "latitude": -90,
            "longitude": -180
          }
        },
        "parcelShipmentStopType": "ORIGIN"
      }
    ]
  }'

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(ParcelShipment)

A parcel shipment object.

shipmentsArray of objects(ParcelShipment)

The created shipment or shipments, including project44-calculated shipment stop details and the project44 id of the shipment. This will contain all shipments that were created including the one originally requested. If this is a multi-package shipment additional shipments will be created, one for each package.

Response
{ "infoMessages": [ {} ], "shipment": { "apiConfiguration": {}, "capacityProviderAccountGroup": {}, "id": 0, "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa", "parcelLegId": "1e90839f-77bf-4c7b-bf18-95a33ad4ed86", "shipmentAttributes": [], "shipmentIdentifiers": [], "shipmentStops": [] }, "shipments": [ {} ] }

Delete an existing parcel shipment using the unique system id.

Request

Required Fields

  • id
Path
idinteger(int64)required

id

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

Responses

OK

Body
infoMessagesArray of objects(Message)
Response
{ "infoMessages": [ {} ] }

Get the status of a parcel shipment using the unique system id.

Request

Required Fields

  • id
Path
idinteger(int64)required

id

Query
includeStatusHistoryboolean

includeStatusHistory

curl -i -X GET \
  'https://developers.project44.com/_mock/guides/shippers/visibility/parcel/api/api/v4/parcel/shipments/{id}/statuses?includeStatusHistory=true' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
latestStatusUpdateobject(ParcelShipmentStatusUpdate)
shipmentobject(ParcelShipmentState)
statusUpdatesArray of objects(ParcelShipmentStatusUpdate)
Response
{ "latestStatusUpdate": { "address": {}, "appointmentWindow": {}, "geoCoordinates": {}, "localTimeZone": "string", "retrievalDateTime": "string", "statusCode": "INFO", "statusReason": {}, "stopId": 0, "stopType": "ORIGIN", "timestamp": "string" }, "shipment": { "actualDeliveryTimestamp": "string", "createdAtTimestamp": "string", "estimatedDeliveryTimestamp": "string", "id": 0, "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa", "parcelLegId": "1e90839f-77bf-4c7b-bf18-95a33ad4ed86", "pickedUpTimestamp": "string", "shipmentAttributes": [], "shipmentIdentifiers": [], "shipmentStops": [] }, "statusUpdates": [ {} ] }

Shipment Attributes

Operations

Webhook

Operations

Deprecated Parcel Webhook

Operations