Consignment Proof of Delivery (POD)

Manage proof of delivery records for consignments. POD records capture delivery confirmation details including signatory information, timestamps, and optional attachments.

Endpoints Overview

Method Endpoint Description
GET /v1/consignments/{consignmentId}/pods/{consignmentPodId} Get POD details
GET /v1/consignments/{consignmentId}/pods/{consignmentPodId}/attachment-file Get POD attachment file
POST /v1/consignments/{consignmentId}/pods Create a POD

Get POD Details

Retrieve details of a specific proof of delivery record.

Endpoint: GET /v1/consignments/{consignmentId}/pods/{consignmentPodId}

Path Parameters

Parameter Type Required Description
consignmentId uuid Yes The consignment ID
consignmentPodId uuid Yes The POD ID

Request Example

curl -X GET "https://api.consignlyhq.com/v1/consignments/550e8400-e29b-41d4-a716-446655440000/pods/550e8400-e29b-41d4-a716-446655440500" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Response Example

{
  "id": "550e8400-e29b-41d4-a716-446655440500",
  "eventUtc": "2024-01-20T14:30:00Z",
  "deliveredByName": "John Driver",
  "vehicleName": "Truck 42",
  "signatoryName": "Jane Customer",
  "signatureDescription": "Received in good condition",
  "latitude": -41.2865,
  "longitude": 174.7762,
  "externalUrl": "https://tracking.carrier.com/pod/12345"
}

Response Fields

Field Type Description
id uuid POD record ID
eventUtc datetime When delivery was completed (UTC)
deliveredByName string Name of person who delivered
vehicleName string Vehicle used for delivery
signatoryName string Name of person who signed
signatureDescription string Description of signature/notes
latitude number GPS latitude of delivery location
longitude number GPS longitude of delivery location
externalUrl string Link to external POD details

Get POD Attachment File

Download the attachment file associated with a POD record (e.g., a signature image).

Endpoint: GET /v1/consignments/{consignmentId}/pods/{consignmentPodId}/attachment-file

Path Parameters

Parameter Type Required Description
consignmentId uuid Yes The consignment ID
consignmentPodId uuid Yes The POD ID

Request Example

curl -X GET "https://api.consignlyhq.com/v1/consignments/550e8400-e29b-41d4-a716-446655440000/pods/550e8400-e29b-41d4-a716-446655440500/attachment-file" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  --output pod-attachment.png

Response

Status: 200 OK

Returns the binary file content of the POD attachment.

Error Cases

Status Cause Resolution
404 Consignment or POD not found Verify consignment and POD IDs

Create POD

Add a proof of delivery record to a consignment.

Endpoint: POST /v1/consignments/{consignmentId}/pods

Path Parameters

Parameter Type Required Description
consignmentId uuid Yes The consignment ID

Request Body

{
  "eventUtc": "2024-01-20T14:30:00Z",
  "signatoryName": "Jane Customer",
  "description": "Received in good condition - all items accounted for",
  "attachmentFile": {
    "fileName": "signature.png",
    "contentType": "image/png",
    "content": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
    "options": {
      "printType": 2
    }
  },
  "externalUrl": "https://tracking.carrier.com/pod/12345",
  "latitude": -41.2865,
  "longitude": 174.7762
}

Request Body Fields

Field Type Required Description
eventUtc datetime No Delivery completion time (UTC)
signatoryName string No Name of person who signed
description string No Description or notes about delivery
attachmentFile object No Attached file (e.g., signature image)
externalUrl string No Link to external POD system
latitude number No GPS latitude of delivery
longitude number No GPS longitude of delivery

Attachment File Object

Field Type Required Description
fileName string Yes File name with extension
contentType string Yes MIME type (e.g., "image/png")
content string Yes Base64-encoded file content
options.printType integer No 1 = Label, 2 = Document

Request Example

curl -X POST "https://api.consignlyhq.com/v1/consignments/550e8400-e29b-41d4-a716-446655440000/pods" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "eventUtc": "2024-01-20T14:30:00Z",
    "signatoryName": "Jane Customer",
    "description": "Received in good condition",
    "externalUrl": "https://tracking.carrier.com/pod/12345"
  }'

Response Example

Status: 200 OK

"550e8400-e29b-41d4-a716-446655440500"

Error Cases

Status Cause Resolution
400 Invalid request body Check field formats
404 Consignment not found Verify consignment ID
422 Invalid file content Verify base64 encoding

PODs in Consignment Detail

POD records are included in the consignment detail response:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "pods": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440500",
      "eventUtc": "2024-01-20T14:30:00Z",
      "signatoryName": "Jane Customer",
      "externalUrl": "https://tracking.carrier.com/pod/12345"
    }
  ]
}