Integrating shipping services with Jumpseller
To have a better sales process for your online store, you might be interested in optimizing the shipping process flow, especially during high-demand sales events such as Cyber Monday, Black Friday, or Christmas.
These optimizations will reduce the time wasted manually creating tracking codes and labels for your customers and decreases the change of human errors.
Jumpseller already integrates several local shipping services. If you are part of a shipping company and are currently working with some Jumpseller stores, don’t hesitate to contact our business team if your company wishes to be on that list.
This guide compiles the documentation to develop an integration for shipping services in different scenarios. Let’s start with the requirements to move forward.
If you want to integrate a Shipping Service with your store, here is what you need:
- A Jumpseller store.
- A shipping service with an API and the credentials for the API.
- Technical knowledge in programming software to integrate both systems; Jupseller, and the shipping service.
- The integration code typically runs on an external server, and this code manages the communication between the store and the shipping service.
Merchants can decide how much they will charge their users for the shipping concept. This fee can be zero, a flat price, a variable price depending on the dimensions of the order and location of the customer, or a calculated fee directly from the shipping service.
Customers can estimate the shipping cost on the cart page, and they will see the total shipping price before payment.
After an order is created and usually paid, the merchant will decide how to ship the products of the order. Usually, there is only one shipment per order, but there can be more.
These shipments can be created manually, with one of our native integrations, or using our API.
Shipments in Jumpseller are considered fulfillment objects and appear in the Orders section of the merchant’s Administration Panel.
When manually creating a shipment, merchants can send an email to the customer with tracking information.
In the fulfillment objects list, shipments will show the status requested. This status can be changed manually or by using our API to in_transit, delivered, and failed.
Consider controlling the inventory of the catalog for on-demand fulfillments for stored products.
Not currently available. Merchants can request automated address normalization using the inquiry form.
These are typical workflows used for external companies integrating with Jumpseller.
Listing Paid Orders
- The customer pays for one order.
- The Webhook for Order Paid is sent to the integration code.
- The integration code receives the order information and creates a pending shipment in their hosted interface.
- The merchant confirms the loads in the hosted interface.
- The integration code creates fulfillment objects in Jumpseller, updating their statuses.
- (optional) The App will allow combining several Labels inside a Manifest;
- The integration code notifies the customer of the status of the shipment.
- The customer initiated checkout and arrived at the shipping step.
- The external shipping service receives data to a defined callback with the order information: addresses, products, dimensions, prices, and an estimation ID.
- The external shipping service prints the estimated price in the Checkout form for the customer to see. The form might contain multiple options; the customer selects one of them.
- The order webhooks contain the ID of the selected estimation price. Optionally a cart estimation can be paired to the order ID.
The integration code can be written in any given language, capable of processing JSON data. This integration code has to be hosted on your web server and will handle the communication between the store and the shipping service.
We recommend you to start by:
- Create a test store, free up to 14 days - contact us if you need more trial days;
- Add a webhook, which will fire data as a POST request on every “Order Update” to your Integration - use RequestBin to inspect them;
- At your Integration code, read the body message and headers of the POST request (i.e the Webhook from the previous step);
- With this data, process it and push it to the shipping service, thus creating the shipment.
- Add an “Order History Event” with a text link with the Tracking ID at the Jumpseller’s store Order. Use the API
- Send an email to the customer, with the merchant’s email address in BCC, informing him of the newly created shipment;
- “Tax Id” field can be set on a store as “Optional” or “Mandatory” on the Admin Panel. Prepare your integration according to this.
- (optionally) every hour or every day, use the API to list all orders from a store and save them (fields: order_id, order_status, invoice_id, etc.). Verify if you have created shipments for every order.
When this is done, we recommend you to publish your integration, as an App, to all Jumpseller merchants.
This will increase your work visibility and will be easier for new merchants to install and start using your integration.
- Jumpseller’s Webhooks - triggering POST requests to external Apps.
- Jumpseller’s API Documentation - listing all the endpoints for you integration to communicate with a Jumpseller store.
- Jumpseller’s External Shipping Estimations
- Jumpseller’s Apps Documentation - explaining how to publish your integration as an App to all Jumpseller’s merchants.
- Ngrok - local tunnelling, allowing your integration to communicate with the Jumpseller’s store and the shipping service. .
- ResquestBin - to inspect POST requests from the Jumpseller hooks.