Tracking Webhook Models (1.0.0)

Download OpenAPI specification:

Data models for tracking webhook

Webhooks

Webhook endpoints for receiving events

OrderEvent

id
required
string

Unique event identifier

createdAt
required
string <date-time>

Event creation timestamp

triggerName
required
string

Name of the trigger that generated the event

type
required
string
Value: "ORDER_ALPHA1"

Type of the event

required
object (OrderAlpha1)

Complete order model with fulfillments and parcels

{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "triggerName": "string",
  • "type": "ORDER_ALPHA1",
  • "data": {
    }
}

ParcelEvent

id
required
string

Unique event identifier

createdAt
required
string <date-time>

Event creation timestamp

triggerName
required
string

Name of the trigger that generated the event

type
required
string
Value: "PARCEL_ALPHA1"

Type of the event

required
object (ParcelAlpha1)

Parcel model with associated order data

{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "triggerName": "string",
  • "type": "PARCEL_ALPHA1",
  • "data": {
    }
}

Parcel level event Webhook

Webhook endpoint for receiving Parcel level events

Request Body schema: application/json

Event payload

id
required
string

Unique event identifier

createdAt
required
string <date-time>

Event creation timestamp

triggerName
required
string

Name of the trigger that generated the event

type
required
string
Value: "PARCEL_ALPHA1"

Type of the event

required
object (ParcelAlpha1)

Parcel model with associated order data

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "triggerName": "string",
  • "type": "PARCEL_ALPHA1",
  • "data": {
    }
}

Order level event Webhook

Webhook endpoint for receiving Order level events

Request Body schema: application/json

Event payload

id
required
string

Unique event identifier

createdAt
required
string <date-time>

Event creation timestamp

triggerName
required
string

Name of the trigger that generated the event

type
required
string
Value: "ORDER_ALPHA1"

Type of the event

required
object (OrderAlpha1)

Complete order model with fulfillments and parcels

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "triggerName": "string",
  • "type": "ORDER_ALPHA1",
  • "data": {
    }
}

Schemas

Data models used in events

OrderAlpha1

required
object (OrderAlpha1Meta)

Order metadata with counts and versioning

tos_id
required
string

TOS identifier

id
required
string

External order ID

created_at
required
string <date-time>

Order creation timestamp

object (Cart)

Shopping cart with items and pricing

object (PaymentAlpha1)

Payment information with entries and status

locale
string

Order locale

object

Additional order attributes

object (Address)

Complete address information with geolocation

tracking_link
string <uri>

Order tracking link

is_cancelled
boolean

Indicates if the order has been cancelled

is_estimated_preparation_time_exceeded
boolean

Indicates if the estimated preparation time has been exceeded

cancelled_by
string (CancellingParty)
Enum: "UNKNOWN" "MERCHANT" "CUSTOMER"

Party that cancelled the order

Array of objects (FulfillmentAlpha1)
Array of objects (ParcelAlpha1Data)
{
  • "meta": {
    },
  • "tos_id": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "cart": {
    },
  • "payment": {
    },
  • "locale": "string",
  • "attributes": { },
  • "billing_address": {
    },
  • "tracking_link": "http://example.com",
  • "is_cancelled": true,
  • "is_estimated_preparation_time_exceeded": true,
  • "cancelled_by": "UNKNOWN",
  • "fulfillments": [
    ],
  • "parcels": [
    ]
}

ParcelAlpha1

tos_id
required
string

TOS identifier

object (CarrierInfo)

Information about shipping carrier

object (DeliveryPromise)

Delivery time promises and ranges

delivery_type
string (DeliveryType)
Enum: "UNKNOWN" "DELIVERY" "PICKUP" "MAILBOX" "INSTORE" "INWAREHOUSE"

Type of delivery method

object (Address)

Complete address information with geolocation

sender_name
string

Sender name

object (ContactInfo)

Contact details including address, phone, and email

object (Location)

Location information with address and pickup details

tracking_number
required
string

Parcel tracking number

tracking_link
string <uri>

Parcel tracking link

Array of objects (CartItem)

List of items in the parcel

current_step
string (TrackingStep)
Enum: "STEP_UNKNOWN" "STEP_CONFIRMED_BY_MERCHANT" "STEP_PREPARED_BY_MERCHANT" "STEP_SUBMITTED_TO_CARRIER" "STEP_ON_ROUTE" "STEP_DELIVERED_TO_PICKUP_POINT" "STEP_DELIVERED_TO_CONSUMER" "STEP_TERMINATED" "STEP_SENT_BACK" "STEP_RETURN_REQUESTED" "STEP_DELIVERED_TO_MERCHANT" "STEP_AWAITING_SUPPLIER" "STEP_LINEHAUL_TO_CARRIER"

Current step in the tracking process

object

Additional parcel attributes

is_estimated_delivery_time_exceeded
boolean

Indicates if the estimated delivery time has been exceeded

is_delayed
boolean

Indicates if the delivery is delayed

is_out_for_delivery
boolean

Indicates if the parcel is out for delivery

out_for_delivery_at
string <date-time>

Timestamp when the parcel was marked as out for delivery

failed_delivery_attempts_count
integer <int32>

Number of failed delivery attempts

last_failed_delivery_attempt_at
string <date-time>

Timestamp of the last failed delivery attempt

is_refused
boolean

Indicates if the parcel was refused by the recipient

refusal_reason
string (RefusalReason)
Enum: "UNKNOWN" "NO_REASON" "NOT_ORDERED" "GOODS_DAMAGED" "PACKAGING_DAMAGED"

Reason for parcel refusal

is_overdue
boolean

When true, parcel is confirmed overdue for pickup. False doesn't guarantee it's not overdue.

required
object (OrderAlpha1Data)

Core order data without fulfillments and parcels arrays

{
  • "tos_id": "string",
  • "carrier_info": {
    },
  • "delivery_promise": {
    },
  • "delivery_type": "UNKNOWN",
  • "sender_address": {
    },
  • "sender_name": "string",
  • "customer": {
    },
  • "destination": {
    },
  • "tracking_number": "string",
  • "tracking_link": "http://example.com",
  • "items": [
    ],
  • "current_step": "STEP_UNKNOWN",
  • "attributes": { },
  • "is_estimated_delivery_time_exceeded": true,
  • "is_delayed": true,
  • "is_out_for_delivery": true,
  • "out_for_delivery_at": "2019-08-24T14:15:22Z",
  • "failed_delivery_attempts_count": 0,
  • "last_failed_delivery_attempt_at": "2019-08-24T14:15:22Z",
  • "is_refused": true,
  • "refusal_reason": "UNKNOWN",
  • "is_overdue": true,
  • "order": {
    }
}

OrderAlpha1Meta

version
required
integer <int64>

Order version number

fulfillments_count
required
integer <int32>

Number of fulfillments

parcels_count
required
integer <int32>

Number of parcels

{
  • "version": 0,
  • "fulfillments_count": 0,
  • "parcels_count": 0
}

OrderAlpha1Data

required
object (OrderAlpha1Meta)

Order metadata with counts and versioning

tos_id
required
string

TOS identifier

id
required
string

External order ID

created_at
required
string <date-time>

Order creation timestamp

object (Cart)

Shopping cart with items and pricing

object (PaymentAlpha1)

Payment information with entries and status

locale
string

Order locale

object

Additional order attributes

object (Address)

Complete address information with geolocation

tracking_link
string <uri>

Order tracking link

is_cancelled
boolean

Indicates if the order has been cancelled

is_estimated_preparation_time_exceeded
boolean

Indicates if the estimated preparation time has been exceeded

cancelled_by
string (CancellingParty)
Enum: "UNKNOWN" "MERCHANT" "CUSTOMER"

Party that cancelled the order

{
  • "meta": {
    },
  • "tos_id": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "cart": {
    },
  • "payment": {
    },
  • "locale": "string",
  • "attributes": { },
  • "billing_address": {
    },
  • "tracking_link": "http://example.com",
  • "is_cancelled": true,
  • "is_estimated_preparation_time_exceeded": true,
  • "cancelled_by": "UNKNOWN"
}

ParcelAlpha1Data

tos_id
required
string

TOS identifier

object (CarrierInfo)

Information about shipping carrier

object (DeliveryPromise)

Delivery time promises and ranges

delivery_type
string (DeliveryType)
Enum: "UNKNOWN" "DELIVERY" "PICKUP" "MAILBOX" "INSTORE" "INWAREHOUSE"

Type of delivery method

object (Address)

Complete address information with geolocation

sender_name
string

Sender name

object (ContactInfo)

Contact details including address, phone, and email

object (Location)

Location information with address and pickup details

tracking_number
required
string

Parcel tracking number

tracking_link
string <uri>

Parcel tracking link

Array of objects (CartItem)

List of items in the parcel

current_step
string (TrackingStep)
Enum: "STEP_UNKNOWN" "STEP_CONFIRMED_BY_MERCHANT" "STEP_PREPARED_BY_MERCHANT" "STEP_SUBMITTED_TO_CARRIER" "STEP_ON_ROUTE" "STEP_DELIVERED_TO_PICKUP_POINT" "STEP_DELIVERED_TO_CONSUMER" "STEP_TERMINATED" "STEP_SENT_BACK" "STEP_RETURN_REQUESTED" "STEP_DELIVERED_TO_MERCHANT" "STEP_AWAITING_SUPPLIER" "STEP_LINEHAUL_TO_CARRIER"

Current step in the tracking process

object

Additional parcel attributes

is_estimated_delivery_time_exceeded
boolean

Indicates if the estimated delivery time has been exceeded

is_delayed
boolean

Indicates if the delivery is delayed

is_out_for_delivery
boolean

Indicates if the parcel is out for delivery

out_for_delivery_at
string <date-time>

Timestamp when the parcel was marked as out for delivery

failed_delivery_attempts_count
integer <int32>

Number of failed delivery attempts

last_failed_delivery_attempt_at
string <date-time>

Timestamp of the last failed delivery attempt

is_refused
boolean

Indicates if the parcel was refused by the recipient

refusal_reason
string (RefusalReason)
Enum: "UNKNOWN" "NO_REASON" "NOT_ORDERED" "GOODS_DAMAGED" "PACKAGING_DAMAGED"

Reason for parcel refusal

is_overdue
boolean

When true, parcel is confirmed overdue for pickup. False doesn't guarantee it's not overdue.

{
  • "tos_id": "string",
  • "carrier_info": {
    },
  • "delivery_promise": {
    },
  • "delivery_type": "UNKNOWN",
  • "sender_address": {
    },
  • "sender_name": "string",
  • "customer": {
    },
  • "destination": {
    },
  • "tracking_number": "string",
  • "tracking_link": "http://example.com",
  • "items": [
    ],
  • "current_step": "STEP_UNKNOWN",
  • "attributes": { },
  • "is_estimated_delivery_time_exceeded": true,
  • "is_delayed": true,
  • "is_out_for_delivery": true,
  • "out_for_delivery_at": "2019-08-24T14:15:22Z",
  • "failed_delivery_attempts_count": 0,
  • "last_failed_delivery_attempt_at": "2019-08-24T14:15:22Z",
  • "is_refused": true,
  • "refusal_reason": "UNKNOWN",
  • "is_overdue": true
}

FulfillmentAlpha1

object

Additional fulfillment attributes

tos_id
required
string

TOS identifier

required
object (ContactInfo)

Contact details including address, phone, and email

required
object (Receiver)

Buyer information with contact and billing details

required
object (Location)

Location information with address and pickup details

object (Shipping)

Shipping information including carrier and delivery promise

Array of objects (CartItem)

Items in this fulfillment

shipping_method
string

Shipping method name

delivery_type
required
string (DeliveryType)
Enum: "UNKNOWN" "DELIVERY" "PICKUP" "MAILBOX" "INSTORE" "INWAREHOUSE"

Type of delivery method

current_step
required
string (TrackingStep)
Enum: "STEP_UNKNOWN" "STEP_CONFIRMED_BY_MERCHANT" "STEP_PREPARED_BY_MERCHANT" "STEP_SUBMITTED_TO_CARRIER" "STEP_ON_ROUTE" "STEP_DELIVERED_TO_PICKUP_POINT" "STEP_DELIVERED_TO_CONSUMER" "STEP_TERMINATED" "STEP_SENT_BACK" "STEP_RETURN_REQUESTED" "STEP_DELIVERED_TO_MERCHANT" "STEP_AWAITING_SUPPLIER" "STEP_LINEHAUL_TO_CARRIER"

Current step in the tracking process

is_submission_time_exceeded
boolean

Indicates if the submission time has been exceeded

is_cancelled
boolean

Indicates if the fulfillment has been cancelled

{
  • "attributes": { },
  • "tos_id": "string",
  • "sender": {
    },
  • "receiver": {
    },
  • "destination": {
    },
  • "shipping": {
    },
  • "items": [
    ],
  • "shipping_method": "string",
  • "delivery_type": "UNKNOWN",
  • "current_step": "STEP_UNKNOWN",
  • "is_submission_time_exceeded": true,
  • "is_cancelled": true
}

TrackingStep

string (TrackingStep)
Enum: "STEP_UNKNOWN" "STEP_CONFIRMED_BY_MERCHANT" "STEP_PREPARED_BY_MERCHANT" "STEP_SUBMITTED_TO_CARRIER" "STEP_ON_ROUTE" "STEP_DELIVERED_TO_PICKUP_POINT" "STEP_DELIVERED_TO_CONSUMER" "STEP_TERMINATED" "STEP_SENT_BACK" "STEP_RETURN_REQUESTED" "STEP_DELIVERED_TO_MERCHANT" "STEP_AWAITING_SUPPLIER" "STEP_LINEHAUL_TO_CARRIER"

Current step in the tracking process

"STEP_UNKNOWN"

DeliveryType

string (DeliveryType)
Enum: "UNKNOWN" "DELIVERY" "PICKUP" "MAILBOX" "INSTORE" "INWAREHOUSE"

Type of delivery method

"UNKNOWN"

ContactInfo

object (Address)

Complete address information with geolocation

phone
string

Phone number

email
string <email>

Email address

name
string

Full name

{
  • "address": {
    },
  • "phone": "string",
  • "email": "user@example.com",
  • "name": "string"
}

Receiver

required
object (ContactInfo)

Contact details including address, phone, and email

required
object (ContactInfo)

Contact details including address, phone, and email

{
  • "contact_info": {
    },
  • "billing": {
    }
}

Location

object (Address)

Complete address information with geolocation

courier_instructions
string

Special instructions for courier

object (PickupPointDetails)

Details about pickup point location

{
  • "address": {
    },
  • "courier_instructions": "string",
  • "pickup_point_details": {
    }
}

Address

name
string

Customer or company name

care_of
string

Care of part of address (c/o)

attn
string

Attention field for company addresses

address_lines
Array of strings

Address lines including street and building number

city
string

City name

region
string

State or province

postal_code
string

Postal code or zipcode

country
string^[A-Z]{2}$

Country code (ISO Alpha-2)

object (Coordinates)

Geographical coordinates

door_code
string

Door code for building entrance

street
string

Street name

street_number
string

Street number

apartment_number
string

Apartment number

floor_number
string

Floor number

subregion
string

County or other subdivision

building_name
string

Building name (for UK addresses without numbers)

po_box_id
string

PO Box identifier

{
  • "name": "string",
  • "care_of": "string",
  • "attn": "string",
  • "address_lines": [
    ],
  • "city": "string",
  • "region": "string",
  • "postal_code": "string",
  • "country": "string",
  • "coordinates": {
    },
  • "door_code": "string",
  • "street": "string",
  • "street_number": "string",
  • "apartment_number": "string",
  • "floor_number": "string",
  • "subregion": "string",
  • "building_name": "string",
  • "po_box_id": "string"
}

Coordinates

lat
required
number <double> [ -90 .. 90 ]

Latitude

lng
required
number <double> [ -180 .. 180 ]

Longitude

{
  • "lat": -90,
  • "lng": -180
}

Cart

Array of objects (CartItem)

List of items in the cart

order_discount
integer <int32>

Order discount in cents

shipping_price
integer <int32>

Shipping price in cents

currency
string^[A-Z]{3}$

Currency code (ISO-4217)

total_discount
integer <int32>

Total discount amount in cents

tax
integer <int32>

Tax amount in cents

subtotal
integer <int32>

Subtotal before additional charges in cents

grand_total
integer <int32>

Final amount to pay in cents

attributes
Array of strings

Custom attributes for the cart

{
  • "items": [
    ],
  • "order_discount": 0,
  • "shipping_price": 0,
  • "currency": "string",
  • "total_discount": 0,
  • "tax": 0,
  • "subtotal": 0,
  • "grand_total": 0,
  • "attributes": [
    ]
}

CartItem

sku
string

Stock Keeping Unit identifier

name
string

Product name or title

quantity
integer <int32> >= 0

Number of non-cancelled items

price
integer <int32>

Price per item with discounts applied in cents

discount
integer <int32>

Discount per item in cents

total_price
integer <int32>

Total price for all non-cancelled items in cents

image
string <uri>

URL of the product image

cancelled_quantity
integer <int32> >= 0

Number of cancelled items

cancelled_total_price
integer <int32>

Total price for cancelled items in cents

object

Additional item properties as key-value pairs

{
  • "sku": "string",
  • "name": "string",
  • "quantity": 0,
  • "price": 0,
  • "discount": 0,
  • "total_price": 0,
  • "image": "http://example.com",
  • "cancelled_quantity": 0,
  • "cancelled_total_price": 0,
  • "attributes": {
    }
}

PaymentAlpha1

Array of objects (PaymentEntryAlpha1)

List of payment entries

status
required
string (PaymentStatus)
Enum: "SUCCESS" "FAILURE"

Status of payment transaction

{
  • "entries": [
    ],
  • "status": "SUCCESS"
}

PaymentEntryAlpha1

method
required
string

Payment method used

amount
required
integer <int32>

Payment amount in cents

currency
required
string^[A-Z]{3}$

Currency code (ISO-4217)

object

Additional payment attributes

timestamp
string <date-time>

Payment timestamp

{
  • "method": "string",
  • "amount": 0,
  • "currency": "string",
  • "attributes": { },
  • "timestamp": "2019-08-24T14:15:22Z"
}

PaymentStatus

string (PaymentStatus)
Enum: "SUCCESS" "FAILURE"

Status of payment transaction

"SUCCESS"

CarrierInfo

carrier_name
string

Name of the carrier company

carrier_product_id
string

Carrier's product identifier

carrier_product_ref
string

Carrier's product reference

carrier_logo_pattern
string

Pattern for carrier logo URL

{
  • "carrier_name": "string",
  • "carrier_product_id": "string",
  • "carrier_product_ref": "string",
  • "carrier_logo_pattern": "string"
}

DeliveryPromise

object (DateTimeRange)

Time range with start and end timestamps

object (DateTimeRange)

Time range with start and end timestamps

object (DateTimeRange)

Time range with start and end timestamps

{
  • "pickup_from_merchant": {
    },
  • "customer_delivery_promise": {
    },
  • "carrier_delivery_promise": {
    }
}

DateTimeRange

start
string <date-time>

Start time of the range

end
string <date-time>

End time of the range

{
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z"
}

Shipping

object (CarrierInfo)

Information about shipping carrier

object (DeliveryPromise)

Delivery time promises and ranges

{
  • "carrier_info": {
    },
  • "delivery_promise": {
    }
}

PickupPointDetails

location_ref
string

Reference identifier for the location

location_type
string (ShippingPickupLocationType)
Enum: "UNKNOWN" "LOCKER" "STORE" "POSTOFFICE" "MANNED"

Type of pickup location for shipping

object (OperationalHours)

Weekly operational hours for each day

{
  • "location_ref": "string",
  • "location_type": "UNKNOWN",
  • "operational_hours": {
    }
}

CancellingParty

string (CancellingParty)
Enum: "UNKNOWN" "MERCHANT" "CUSTOMER"

Party that cancelled the order

"UNKNOWN"

RefusalReason

string (RefusalReason)
Enum: "UNKNOWN" "NO_REASON" "NOT_ORDERED" "GOODS_DAMAGED" "PACKAGING_DAMAGED"

Reason for parcel refusal

"UNKNOWN"

ShippingPickupLocationType

string (ShippingPickupLocationType)
Enum: "UNKNOWN" "LOCKER" "STORE" "POSTOFFICE" "MANNED"

Type of pickup location for shipping

"UNKNOWN"

OperationalHours

mon
string

Monday operational hours

tue
string

Tuesday operational hours

wed
string

Wednesday operational hours

thu
string

Thursday operational hours

fri
string

Friday operational hours

sat
string

Saturday operational hours

sun
string

Sunday operational hours

free_text
Array of strings

Free text operational hours as fallback

{
  • "mon": "string",
  • "tue": "string",
  • "wed": "string",
  • "thu": "string",
  • "fri": "string",
  • "sat": "string",
  • "sun": "string",
  • "free_text": [
    ]
}