Last updated

Create an Ocean Shipment with Drayage Visibility

Use the Project44 API to register an ocean shipment with drayage visibility in the network and begin receiving tracking data for both the ocean journey and drayage legs. Drayage visibility can be applied to any ocean shipment type, including:

  • Ocean Port to Port shipments
  • RoRo (Roll-on/Roll-off) shipments
  • Extended Ocean shipments
  • Detention and Demurrage Optimization shipments

Currently, only Import Drayage (post-carriage) visibility is supported. Export drayage support is planned for future releases.

Drayage Shipment Creation Workflow

Drayage visibility follows a two-step approach:

  1. Create the main ocean shipment with standard identifiers
  2. Update the discovered/created container shipment with drayage information

Step 1: Create Standard Ocean Shipment

First, create a standard ocean shipment following the appropriate creation workflow based on your shipment type:

Standard ocean identifiers required:

  • BILL_OF_LADING or BOOKING_NUMBER
  • CARRIER_SCAC
  • Optional: CONTAINER_ID (if specific containers known)

Step 2: Add Drayage Information

Once the ocean shipment is created and container shipments are discovered/created, update the relevant container shipment with drayage carrier information.

Prerequisites for Drayage Visibility

Ensure you have the following:

  • Container ID: From the discovered/created container shipment
  • Import Drayage Carrier SCAC: SCAC code for the drayage provider
  • Parent Ocean Identifiers: BILL_OF_LADING or BOOKING_NUMBER in parent shipment

Add Drayage Information to Container Shipment

Update the discovered or created container shipment with drayage carrier information:

API Request

Send a POST request to /api/v4/shipments/tracking with the container shipment ID and drayage identifiers:

{
  "id": "container-shipment-id-from-discovery",
  "identifiers": [
    {
      "type": "CONTAINER_ID",
      "value": "MATU2284241"
    },
    {
      "type": "IMPORT_DRAYAGE_CARRIER_SCAC",
      "value": "ITSO"
    }
  ]
}

Drayage Identifier Types

Project44 supports multiple drayage identifier types. For complete details on all identifier types, refer to the Ocean Shipment Schema Identifiers.

Key Drayage Identifiers:

  • IMPORT_DRAYAGE_CARRIER_SCAC - Import/post-carriage drayage carrier
  • EXPORT_DRAYAGE_CARRIER_SCAC - Export/pre-carriage drayage carrier (future support)
  • DRAYAGE_CARRIER_SCAC - Generic drayage carrier identifier

Use IMPORT_DRAYAGE_CARRIER_SCAC for explicit import drayage tracking. The generic DRAYAGE_CARRIER_SCAC defaults to import mode if the specific leg is not determined.

Complete Shipment Creation Example

Here's a complete example showing both ocean and drayage identifiers:

Initial Ocean Shipment Creation

{
  "identifiers": [
    {
      "type": "BILL_OF_LADING",
      "value": "MEAU267210163"
    },
    {
      "type": "CARRIER_SCAC",
      "value": "MAEU"
    }
  ]
}

Container Shipment Update with Drayage

After container discovery, update the container shipment:

{
  "id": "discovered-container-shipment-id",
  "identifiers": [
    {
      "type": "CONTAINER_ID",
      "value": "MATU2284241"
    },
    {
      "type": "BILL_OF_LADING",
      "value": "MEAU267210163"
    },
    {
      "type": "IMPORT_DRAYAGE_CARRIER_SCAC",
      "value": "ITSO"
    }
  ]
}

Alternative: Single Request with All Identifiers

You can also create a shipment with all identifiers in one request:

{
  "identifiers": [
    {
      "type": "BILL_OF_LADING",
      "value": "MEAU267210163"
    },
    {
      "type": "CARRIER_SCAC",
      "value": "MAEU"
    },
    {
      "type": "CONTAINER_ID",
      "value": "MATU2284241"
    },
    {
      "type": "IMPORT_DRAYAGE_CARRIER_SCAC",
      "value": "ITSO"
    }
  ]
}

Successful Response

A successful response returns the shipment with all identifiers:

{
  "id": "93294f58-f87a-48e0-9f68-7d3f6e0aaa2f",
  "identifiers": [
    {
      "type": "CONTAINER_ID",
      "value": "MATU2284241"
    },
    {
      "type": "BILL_OF_LADING",
      "value": "MEAU267210163"
    },
    {
      "type": "IMPORT_DRAYAGE_CARRIER_SCAC",
      "value": "ITSO"
    }
  ]
}

Save the shipment ID. You'll need it to retrieve tracking updates that will include both ocean and drayage milestones.

API Reference

For complete field descriptions and additional options, refer to:

Error Handling

Common errors when creating drayage shipments:

  • 400 Invalid request - Missing required identifiers or invalid SCAC
  • 401 Invalid or missing credentials - Authentication issue
  • 403 User not authorized to perform this operation - Drayage visibility not enabled

See Error Response Codes for more information.