Karrio Documentation
website·Indexed 32 days ago
https://docs.karrio.ioAPI documentation for Karrio, a shipping and fulfillment platform. Includes guides and reference materials for managing shipments, orders, carrier connections, and pickups via a REST API. Features include batch processing, document template management, webhook configuration, and tracking request proxying.
What's inside Karrio
- Karrio webhooks allow your application to receive real-time notifications from the Karrio server when specific events occur. You can register webhooks to automate workflows or trigger external processes based on these server-side events.
Overview of the Generic carrier abstraction
The Generic carrier integration serves as an abstraction layer that allows developers to define a custom carrier API that is compatible with the open Karrio shipping API. This is used when a specific carrier integration is not natively available but a custom API implementation is required.Overview of Karrio shipping integration platform
Karrio is a shipping integration platform designed for developers to integrate with a network of carriers. It provides a modern API to implement shipping functionalities including live rates, label generation, shipment tracking, and address validation.Overview of Karrio Workflow Automation
Karrio includes a built-in workflow engine (available only in the Insiders Edition) designed to automate logistics operations. Workflows consist of a sequence of steps executed automatically based on specific conditions. Common use cases include retrieving new orders from ERP or ecommerce platforms, reacting to system events, and automatically creating labels for new orders. The engine supports making HTTP requests, transforming data, and scheduling redundant tasks.Overview of Karrio Document Templates
Document templates in Karrio allow users to design custom layouts for shipment and order-related documents. Templates can be created for various document types, such as invoices and packing lists, and are then used to generate the final document for a specific shipment or order.Manage shipping addresses in Karrio
Karrio uses Address objects to represent shipping locations. These objects are linked to shipment history and are used for recurring shipping to or from the same locations. The API provides endpoints to list, create, retrieve, update, and discard addresses associated with a Karrio account.Access Karrio customer support
During the Subscription Period, Karrio provides basic customer support via standard support channels during normal business hours.Understand the karrio SDK architecture
karrio uses a unified API to interact with various carrier services. The architecture relies on three primary abstract classes to handle the request lifecycle:
- Settings: Stores carrier-specific credentials and identification, including
carrier_name(e.g., 'canadapost'),carrier_id(a unique nickname for the instance), and optionalaccount_country_codeand systemid. - Mapper: Translates unified karrio API data into carrier-specific request formats and parses carrier responses back into the unified karrio data model.
- Proxy: Manages the actual HTTP communication (one or more requests) with the carrier's service.
- Settings: Stores carrier-specific credentials and identification, including
Integrate DHL Parcel Post with Karrio
Thedhl_parcel_postintegration allows for reliable parcel shipping via DHL, supporting Rating, Shipping, and Tracking functionality. This integration is currently in beta.Retrieve Karrio instance metadata
Use the GET/endpoint to retrieve metadata about the current Karrio instance. The response is returned asapplication/jsonand contains a schema where the propertynameis of typeany.curl -X GET https://<your-karrio-instance>/Understand Karrio shipment processing workflows
Karrio provides two methods for processing shipments depending on where the order is managed:
- Label creation: Used for orders managed entirely outside of Karrio. You use the API or dashboard to create a shipment and print a label.
- Order fulfillment: Used for orders synced from an external source of truth (ERP, WMS, or OMS). You sync the order to Karrio first, then create the shipment.
Karrio's Orders API is read-only regarding the source of truth; it expects your external system to maintain the primary order record. Karrio is used to process the shipment and notify the external system of status changes via webhooks.
Create multiple objects using the Karrio Batch API
The Karrio Batch API is used to create a large number of objects of the same type simultaneously. This is particularly useful for importing data from external systems. The API supports file uploads to facilitate the bulk creation process.