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.
What made this section unhelpful for you?
Create Carrier Definition
Set up and configure a new carrier definition.
By providing the necessary details such as carrier code, service code, and add-ons, you can tailor the definition to your specific needs. Upon successful creation, you receive a response confirming the creation of the new carrier definition.
Header Parameters
Body Parameters
The unique identifier of the Carrier.
The group of the Carrier Definition
The mode environment of the Carrier Definition
STAGING
PRODUCTION
The name of the Carrier Definition
The Carrier related settings used for carrier connectivity etc.
Show child attributes
Responses
Response Attributes
The unique identifier of the resource.
Response Attributes
The type of error
Response Attributes
The type of error
Response Attributes
What made this section unhelpful for you?
Update Carrier Definition
Updates an existing Carrier Definition on your account by providing its unique identifier carrierDefinitionId
.
By specifying the carrier definition id to be updated and supplying the revised information such as carrier code, service code, and add-ons, you can tailor the definition to reflect any changes or adjustments.
Upon successful execution, the endpoint applies the modifications to the specified carrier definition and returns a response confirming the update.
Header Parameters
Path Parameters
The unique identifier of the Carrier Definition.
Body Parameters
The unique identifier of the Carrier.
The group of the Carrier Definition
The mode environment of the Carrier Definition
STAGING
PRODUCTION
The name of the Carrier Definition
The Carrier related settings used for carrier connectivity etc.
Show child attributes
Responses
Response Attributes
The type of error
Response Attributes
The type of error
Response Attributes
Show child attributes
The type of error
Response Attributes
What made this section unhelpful for you?
Delete Carrier Definition
Removes an existing Carrier Definition on your account by providing its unique identifier carrierDefinitionId
.
By providing the ID of the carrier definitionto be deleted, you can initiate the removal process.
Once executed, the endpoint permanently removes the specified carrier definition from the system, including all associated details such as carrier code, service code, and add-ons.
Upon successful deletion, the endpoint returns a response confirming the removal of the carrier definition.
Header Parameters
Path Parameters
The unique identifier of the Carrier Definition.
Responses
Response Attributes
Response Attributes
The type of error
Response Attributes
Show child attributes
The type of error
Response Attributes
What made this section unhelpful for you?
Fetch Carrier Definition
Retrieve an existing Carrier Definition on your account by providing its unique identifier carrierDefinitionId
.
By providing the definition id of the carrier definition as a parameter, you can access all the relevant information, including the carrier code, service code, and any associated add-ons.
Upon successful retrieval, the endpoint returns a response containing the comprehensive configuration details of the specified carrier definition.
Header Parameters
Path Parameters
The unique identifier of the Carrier Definition.
Responses
Response Attributes
The unique identifier of the Carrier Definition.
The group of the Carrier Definition
The id of the Carrier Configuration
The mode environment of the Carrier Definition
STAGING
PRODUCTION
The name of the Carrier Configuration
The Carrier related settings containing information used for carrier connectivity etc.
Show child attributes
Response Attributes
Response Attributes
The type of error
Response Attributes
The type of error
Response Attributes
What made this section unhelpful for you?
List Carrier Definitions
Retrieve a list of all the existing Carrier Definitions on your account.
It provides a comprehensive overview of the configured carriers, including their respective carrier codes, service codes, and associated add-ons.
This endpoint allows you to efficiently manage and monitor all configured carrier definitions in your system. Upon successful execution, the endpoint returns a response containing a list of all available carrier definitions.
Header Parameters
Query Parameters
The page number to return.
The number of items to return per page.
1
2
3
4
5
6
7
8
9
10
... 6 other enums
The group of the Carrier Definition
Responses
Response Attributes
The list of the Carrier Configurations saved into our system.
Show child attributes
Response Attributes
Response Attributes
The type of error
Response Attributes
Response Attributes
What made this section unhelpful for you?
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.