Karrio Documentation

website·Indexed 32 days ago

https://docs.karrio.io

API 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.

Tokens
113.4K
Snippets
476
Records
800
Agent score
64%

What's inside Karrio

  1. Overview of Karrio Webhooks

    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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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:

    1. Settings: Stores carrier-specific credentials and identification, including carrier_name (e.g., 'canadapost'), carrier_id (a unique nickname for the instance), and optional account_country_code and system id.
    2. Mapper: Translates unified karrio API data into carrier-specific request formats and parses carrier responses back into the unified karrio data model.
    3. Proxy: Manages the actual HTTP communication (one or more requests) with the carrier's service.
  8. Retrieve Karrio instance metadata

    Use the GET / endpoint to retrieve metadata about the current Karrio instance. The response is returned as application/json and contains a schema where the property name is of type any.
    curl -X GET https://<your-karrio-instance>/
  9. Understand Karrio shipment processing workflows

    Karrio provides two methods for processing shipments depending on where the order is managed:

    1. Label creation: Used for orders managed entirely outside of Karrio. You use the API or dashboard to create a shipment and print a label.
    2. 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.

  10. 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.