Getting Started
Welcome to nShift!
nShift Go API is an API-first, cloud native and fully headless platform which allows e-commerce platforms and online B2C marketplaces to integrate shipping as a part of their own offering.
We reduce the complexity of shipping with one API connection that gives access to a thousand carriers.
API
Our user-friendly REST API allows you to oversee all your shipping requirements, eliminating the need to grapple with the intricacies of various carrier APIs and protocols. We take care of the challenging aspects, enabling you to concentrate on delivering an exceptional shipping experience to your customers at the most competitive rates.
Every feature of nShift Go can be utilized independently or synergistically to incorporate robust shipping capabilities into your application or service.
Read more about the the guidelines we follow when implementing our API.
Mission
Our mission is to empower European retailers with a sustainable, fully-integrable commerce and delivery management suite. We strive to simplify their operations, helping them focus on their core business and scale effortlessly. We're committed to driving innovation in retail, leading with sustainability.
What is nShift Go?
Elevate your platform with our tailor-made end-to-end delivery management solution, designed for seamless integration and revenue growth. Built to be built in.
- One platform for global deliveries with the largest compliant carrier library in the world.
- Serves shippers of all sizes.
- Tailored eCOM modules to drive top line revenue and end customer satisfaction (checkout, post-purchase, returns).
- Holistic solution that combines products and share modules. We are connecting products/stages (checkout to returns) in one company.
Accounts
Accounts should be created for each individual merchant. This is also the only data isolation layer we have, meaning if you need to separate activity between e.g. stores or warehouses etc. and manage access you need to setup as many accounts as you require.
Each account will hold it's own data including settings, personal information etc. and you will need to issue individual access tokens per account.
Authentication for accounts need to be verified through a base64 encoded string of client_id:client_secret
following OpenAPI's securitySchemes and basicAuth.
"securitySchemes" : {
"basicAuth" : {
"description" : "Basic Authentication, `base64(client_id:secret)`",
"scheme" : "basic",
"type" : "http"
},
"bearerToken" : {
"bearerFormat" : "Bearer <token>",
"description" : "Use the `/authorize` endpoint to get a token.",
"scheme" : "bearer",
"type" : "http"
}
}
Base URL
Production:
https://api.nshiftgo.com
Addresses
An address provides a standardized data model used by our different services. This means that an address will appear the same whether it's used in an order or shipment booking. However, providing specific roles to addresses will limit them to the extent they can be used or by what processes they are used. Roles can also be composites of other roles.
You can create as many addresses as you need and store them for later usage. This way you only need to keep track of their identifiers when you want to use them.
Carriers
Data about all supported carriers and their services can be fetched so that integrating becomes easier and changes implemented in carrier connectivity can be reflected directly in your integration. Necessary data that can be retrieved includes codes, valid routes, validation rules etc.
Carrier Definitions
Before creating a shipment booking or delivery option you will need to create a carrier definition. This will contain carrier specific information such as credentials and service parameters.
Checks (coming soon)
These endpoints provide functionality to validate address information.
Delivery Options (coming soon)
Delivery options are user configurable objects that connect carrier configurations and conditions that return prices and are used to create shipping quotes. Delivery options are intended to be used from a checkout where the consumer is able to make choices around the delivery.
Documents
Documents are generated by shipment bookings such as labels, waybills, invoices etc. In addition, a user is able to uploade their own documents as attachments to orders or additional customs documents that can be used if the carrier supports paperless customs handling.
Event Channels (coming soon)
Events are propagated throughout the system whenever an object changes. These events can be channeled to a webhook by setting up an event channel and defining the topics of interest that the channel should intercept.
An example event channel for the shipment_booking_event
topic would return the following to webhooks:
{
"topic": "SHIPMENT_BOOKING_EVENT",
"accountId": "467d6ed1-6af9-41db-a34b-90b04525a50c",
"createdAt": "2024-10-29T16:46:14+0000",
"payload": {
"shipmentId": "43dc441e-7f07-46a8-bfb1-ccea9dd921e0",
"code": "CREATED",
"createdAt": "2024-10-29T16:46:14+0000",
"updatedAt": "2024-10-29T16:46:14+0000"
}
}
Orders (coming soon)
Order management is the process of receiving, tracking, and fulfilling customer orders. The goal is to streamline and monitor orders from placement to delivery, ensuring accuracy and efficiency throughout.
Orders can have associated entities like addresses, parcels, carrier configurations and documents.
Parcels
Parcels are a level lower than shipments and contain information about packing types, item descriptions and options for dangerous goods handling.
PUDO Points
Some carrier services use PUDO points where the consumer picks up or drops off parcels. These endpoints allow you to find PUDO points based on the consumer address information.
Print (coming soon)
We provide a convenient way to send a document directly to your printers. Our print client can be installed in your local environment and provides our system with information about the printers it finds. Each printer can then receive print jobs by simply making a request with associated document identifier.
Reports (coming soon)
Reports allows the export of shipment data from the system to a desired output document type. The content of each report can be customized, so you can get an output of exactly the data you want and need.
Shipping Quotes
Shipping quotes are generated from delivery options. Once the delivery options are configured you can evaluate them and the system will automatically generate relevant shipping quotes. The quotes will only persist for 24 hours after which they are removed from our system.
Base URL
Production:
https://api.nshiftgo.com
Shipment Channels
Before you start creating shipments you need to create a shipment channel that contains configurations for shipment processing e.g. how generated documents are rendered.
Shipment Bookings
Shipment bookings contains information about everything associated with the delivery including addresses, carrier service codes, parcel information, customs declaration etc.
Service Definitions
Service definitions are pre-configured settings for services, which allows you to quickly refer and use services from carriers without configuring parameters each call.