Overview
There are several ways you can use karrio :
-
Karrio Open-Source
You're a large company with the need to self-host or an engineer looking to use the open-source version.
-
Karrio Insiders
Karrio Insiders is built for large companies with significant data isolation requirements.
Architecture Overview
karrio has three main components:
-
The first component is the karrio SDK which unifies and standardize the communication to shipping carriers to one interface. It is designed to be extensible to allow integration of additional carrier support.
-
The second component is the karrio server which is the backend server that exposes a Shipping REST API and a GraphQL API. The server is written in Python with Django. It maintains its state in a PostgresSQL database.
-
The third component is the karrio dashboard App which implements the user interface that operation members can use for manual fulfilment processes. the app is a Nextjs application that runs in the browser and talks to the karrio server using the REST and Graph APIs.
Extensibility
The obvious way to extend the karrio server would be to download the source code and modify it directly. After all it's an open-source platform. We advise against this as experience teaches us that once your codebase diverges from the upstreamkarrio , it becomes hard to keep it updated.
Because of this we advice the development of Apps that are external applications that talk to karrio server using its GraphQL and REST APIs additionally, they can subscribe to events using webhooks.
REST API
Karrio brings a set of APIs to interact with shipping provider services. You can use the karrio REST OpenAPI to get live rates, generate labels, track shipments, manage pickups and more.
Learn more about Karrio REST API here.
GraphQL API
Karrio offer the possibility to store the shipping data related to your shipping operations in a database. The karrio GraphQL API allows you to access, query and visualize that data.
Learn more about Karrio GraphQL here.
Carrier Extensions
In addition to being open source, karrio exposes its low level shipping SDK that abstracts the shipping provider integration constructs. This allows you to add your custom shipping carrier integration to the karrio umbrella.
Learn more about Karrio SDK here.