Shipments
The Shipment entity represents a delivery of products from an order. It is created when an order is shipped to the customer.
Shipment States
Shipments have two states:
- Draft: shipment is pending fulfillment by the warehouse and is awaiting the first scan from the carrier that will deliver it.
- Fulfilled: the shipment had a first scan, has a valid tracking number and will receive event updates.
The important distinction is between draft and fulfilled states:
Draft State
- Created when: Order is placed
- Purpose: Show customers expected packages (you can set this in advance via API)
- Has tracking number: No
- Generates events: Only pre-in-transit events
- Customer sees: "Your order will ship in X packages"
Fulfilled State
- Created when: A tracking number is added
- Purpose: Real-time package tracking
- Has tracking number: Yes
- Generates events: All carrier tracking events
- Customer sees: "Your package is in transit" with tracking details
Tracking
FulfilledShipments are also called trackings. They represent a shipment with a valid tracking code. Such shipments will receive updates from the carriers.
Shipment vs Tracking Terminology
In Karla's API, Shipment and Tracking refer to the same entity, with a few differences:
- Shipment - This model has extensive data that is used beyond a tracking page.
- Tracking - A subset of the
Shipmentdata. It is nested inside anOrderresponse, with a data model specific to show statuses in a tracking page.
Both represent the same package delivery entity and can be in either draft or fulfilled state.
Shipment phases
A shipment changes its phase frequently during its journey.
All Shipment Phases
collectdelivery_faileddeliveredin_deliveryin_transitorder_createdorder_processedreturn_createdreturn_failedreturn_receivedreturn_transitreturned
Shipment events
Every shipment event has an event_name that differentiates them uniquely. For complete documentation of all events, including their ref patterns for webhook filtering and event groups, see Events**
Event Names by Phase
The tables below show event names only. For complete ref patterns, webhook filtering, and event groups, see the Events Reference.
Order Created (order_created) - 2 events
ORDER_CREATEDORDER_IN_PROCESSING
Order Processed (order_processed) - 23 events
CARRIER_UNKNOWNDISPATCHED_FROM_FORWARDING_DEPOTERROR_IN_PARCEL_DATA_SUBMISSIONORDER_PROCESSEDPARCEL_COLLECTED_FROM_DROP_OFF_LOCATIONPARCEL_DATA_SUBMISSION_DELAYEDPARCEL_DATA_SUBMITTED_TO_CARRIERPARCEL_DISPATCHEDPARCEL_DROPPED_OFF_AT_PARCEL_LOCKERPARCEL_DROPPED_OFF_AT_POST_OFFICEPARCEL_DROPPED_OFF_IN_PARCEL_SHOPPARCEL_DROPPED_OFF_OVER_THE_COUNTERPARCEL_DROPPED_OFF_WITH_CARRIERPARCEL_READY_FOR_PICKUPPICKUP_ATTEMPTEDPICKUP_DELAYEDPICKUP_FAILEDPICKUP_SUCCESSFULPROCEEDING_TO_CARRIER_FACILITYRECEIPT_AT_FORWARDING_DEPOTSHIPMENT_INFO_SENT_TO_LAST_MILE_SERVICE_PROVIDERSHIPMENT_NEVER_ARRIVED
In Transit (in_transit) - 50+ events
ACCEPTED_BY_DESTINATION_OFFICEACCEPTED_BY_ORIGIN_OFFICEARRIVAL_AT_FINAL_DELIVERY_CENTERARRIVAL_AT_TRANSPORT_HUBARRIVAL_IN_DESTINATION_COUNTRYARRIVED_AT_SORTING_CENTERASSIGNED_TO_TRANSPORTAT_SORTING_CENTERAT_TRANSPORT_HUBCOMPLETION_OF_CUSTOMS_PROCESSINGCOMPLETION_OF_EXPORT_PROCESSINGCUSTOMS_PROCESSINGDELAY_EXPECTEDDELAY_IN_TRANSPORT_MISROUTED_SHIPMENTDELAY_IN_TRANSPORT_OFFLOADED_SHIPMENTDELAY_IN_TRANSPORTDEPARTURE_FROM_TRANSPORT_HUBDISPATCHED_FROM_DELIVERY_CENTERDISPATCHED_FROM_SORTING_CENTERDISPATCHING_STARTED_AT_PROCESSING_CENTERENCODING_COMPLETED_AT_PROCESSING_CENTERENCODING_ERROR_IN_PROCESSING_AT_SORTING_CENTERENCODING_STARTED_AT_PROCESSING_CENTERERROR_IN_PROCESSING_AT_SORTING_CENTEREXPORT_PROCESSINGFAILED_TO_HAND_OVER_TO_DELIVERY_PARTNERHANDED_OVER_TO_DELIVERY_PARTNERHELD_AT_CUSTOMS_FOR_ADDITIONAL_PAYMENTHELD_AT_CUSTOMS_FOR_CLARIFICATIONSHELD_AT_CUSTOMSHELD_AT_EXPORT_PROCESSINGINBOUND_FLIGHT_ARRIVEDINBOUND_TRUCK_ARRIVEDISSUES_IN_PROCESSING_BY_CUSTOMS_AUTHORITIESMORE_INFO_ON_CARRIER_WEBSITEOUTBOUND_FLIGHT_DEPARTEDOUTBOUND_TRUCK_DEPARTEDPROCESSED_AT_DELIVERY_CENTERPROCESSING_AT_TRANSPORT_HUBSCANNED_AT_PROCESSING_CENTERSHIPMENT_AT_FINAL_DELIVERY_CENTERSHIPMENT_DAMAGEDSHIPMENT_DELAYED_DUE_TO_CUSTOMER_REQUESTSHIPMENT_EN_ROUTESHIPMENT_MISROUTEDSORTING_COMPLETED_AT_PROCESSING_CENTERSORTING_ERROR_IN_PROCESSING_AT_SORTING_CENTERSORTING_STARTED_AT_PROCESSING_CENTERSTART_OF_CUSTOMS_PROCESSINGSTART_OF_EXPORT_PROCESSINGTRANSPORT_ARRIVEDTRANSPORT_DEPARTED
In Delivery (in_delivery) - 19 events
ATTEMPTED_DELIVERY_UNDELIVERABLEDELIVERY_ATTEMPTED_ADDRESS_COULD_NOT_BE_FOUNDDELIVERY_ATTEMPTED_ADDRESSEE_MOVEDDELIVERY_ATTEMPTED_ADDRESSEE_NOT_KNOWN_AT_ADDRESSDELIVERY_ATTEMPTED_CASH_ON_DELIVERY_AMOUNT_NOT_READYDELIVERY_ATTEMPTED_FAILED_WILL_TRY_AGAINDELIVERY_ATTEMPTED_FORWARDING_TO_PICKUP_LOCATIONDELIVERY_ATTEMPTED_LAST_ATTEMPTDELIVERY_ATTEMPTED_RECIPIENT_NOT_AT_HOMEDELIVERY_ATTEMPTEDDELIVERY_LAPSEDDELIVERY_OPTION_REQUESTED_BY_RECEIVERDELIVERY_SCHEDULED_IN_THE_FINAL_DELIVERY_DEPOTIN_DELIVERYNO_DELIVERY_ATTEMPT_ON_ROUTEOUT_FOR_DELIVERYPATCHEDSHIPMENT_ON_HOLD_IN_DELIVERY_CENTERSHIPMENT_ON_ITS_WAY_TO_PICKUP_LOCATION
Collect (collect) - 6 events
ARRIVED_AT_PARCEL_LOCKERARRIVED_AT_PARCEL_SHOPARRIVED_AT_POST_OFFICESUCCESSFULLY_DELIVERED_TO_NEIGHBORSUCCESSFULLY_DELIVERED_AND_LEFT_AT_LETTER_BOXDELIVERY_ATTEMPTED_RECIPIENT_NOT_AT_HOME_CARD_LEFT
Delivered (delivered) - 10 events
PARCEL_TRANSFERRED_TO_THIRD_PARTYSUCCESSFULLY_COLLECTED_AT_PARCEL_LOCKERSUCCESSFULLY_COLLECTED_AT_PARCEL_SHOPSUCCESSFULLY_COLLECTED_AT_POST_OFFICESUCCESSFULLY_COLLECTEDSUCCESSFULLY_DELIVERED_AND_CASH_ON_DELIVERY_COLLECTEDSUCCESSFULLY_DELIVERED_AND_LEFT_AT_DOORSUCCESSFULLY_DELIVERED_AND_PROOF_OF_DELIVERY_COLLECTEDSUCCESSFULLY_DELIVEREDUSER_SUCCESSFULLY_DELIVERED
Delivery failed (delivery_failed) - 6 events
DELIVERY_ATTEMPTED_REJECTED_BY_ADDRESSEESHIPMENT_NOT_PICKED_UP_FROM_PARCEL_LOCKER_RETURNED_TO_BASESHIPMENT_NOT_PICKED_UP_FROM_PARCEL_LOCKER_RETURNED_TO_ORIGIN_COUNTRYSHIPMENT_NOT_PICKED_UP_FROM_PARCEL_SHOP_RETURNED_TO_BASESHIPMENT_NOT_PICKED_UP_FROM_POST_OFFICE_RETURNED_TO_BASESHIPMENT_NOT_PICKED_UP_RETURNED_TO_ORIGIN_COUNTRY
Returned (returned) - 7 events
RETURN_IN_PROGRESSRETURN_TO_SENDER_COMPLETEDRETURN_TO_SENDER_FAILEDSHIPMENT_REJECTED_RETURNING_TO_SENDERSHIPMENT_RETURNED_TO_SENDERSHIPMENT_RETURNING_TO_SENDERSHIPMENT_SUCCESSFULLY_RETURNED_TO_SENDER
Return failed (return_failed) - 1 event
DELIVERY_FAILED_SHIPMENT_DESTROYED
Related Resources
- Events - Complete event feature reference
- Orders - Complete order feature reference
- Webhook Setup - Event subscription guide
- Merchant Portal - Order management interface