How build a Jumpseller App
A Jumpseller App is an application that interacts with one or more online stores that use Jumpseller. The App can be loaded through an iframe insid...
Important: This is an advanced feature that allows you to connect any shipping method with your store. Typically, an external web developer (or the shipping platform themselves) can do this integration.
A Jumpseller store can be integrated with any External Shipping Method of your choice. Basically, a shipping platform that has an API which can output JSON formatted data can be integrated into your Jumpseller store. If you are looking to do an integration of an External Shipping Method, you may also consult the Jumpseller API documentation.
1. Fill in the Callback URL with your API endpoint that receives our order information and returns shipping rates tailored to our order’s data.
Important: Some fields may only be available after the checkout is done, as some clients are guests and we don’t have all the data available in some steps of the process (e.g. estimation on the cart screen).
Example of the data structure that we send to your callback:
{
request: {
from: {
country: 'Chile',
region: '12',
region_name: 'Metropolitana'',
municipality: '8261414',
municipality_name: 'Providencia',
city: 'Santiago',
postal: '3453',
name: 'John Smith',
address: 'Avenida Nueva Providencia',
complement: 'Depto 9',
street_number: '4000'
email: 'store@company.com',
phone: '98379292',
company: 'ABC Inc.'
},
to: {
country: 'Chile'',
region: '12',
region_name: 'Metropolitana'',
municipality: '8261414',
municipality_name: 'Providencia',
city: 'Santiago',
postal: '3453',
name: 'Client name',
address: 'Client street',
complement: 'Client complement',
street_number: 'Client street number',
email: 'client@email.com',
phone: '94823432',
company: 'Client Company name'
},
"products": [
{
"name": "Product A",
"sku": "PKUA",
"quantity": 1,
"price": 2323,
"product_id": 64,
"variant_id": null,
"weight": 1,
"shipping_required": true,
"tax": 278.76,
"brand": "PKU"
},
{
"name": "Product 2",
"sku": "PKUB",
"quantity": 1,
"price": 232,
"product_id": 63,
"variant_id": null,
"weight": 1,
"shipping_required": true,
"tax": 27.84,
"brand": "PKU"
},
{
"name": "Product 3",
"sku": "PKUC",
"quantity": 1,
"price": 767,
"product_id": 62,
"variant_id": null,
"weight": 1,
"shipping_required": true,
"tax": 92.0,
"brand": "PKU"
}
],
package: {
weight: 10,
height: 2,
width: 3,
length: 18
},
unit_measurement: 'cm',
weight_unit: 'kg',
currency: 'CLP',
locale: 'es',
store_code: 'store-code',
cart_id: '123321',
order_id: '123',
request_reference: "234234"
}
}
Important: The “reference_id” field is optional and may be used as a reference to the client requesting the rates’ estimations, this reference_id will be sent back as “request_reference” in subsequent requests. The “rate_id” and “rate_description” fields are also optional and may be used to keep a reference to persisted rates. The “rate_id” parameter has a character limit of 191 and the “rate_description” parameter has a character limit of 512. These “rate_id” and “rate_description” will be shown in the orders API once the order is concluded. We implemented a eight (8) second timeout, this means, we will wait 8 seconds to receive a 2xx OK response.
Example of the data that we expect from your callback:
{
"reference_id": "234234",
"rates": [
{
"rate_id": "2948585",
"rate_description": "12345678_465744098-12345678_465744098",
"service_name": "service 1",
"service_code": "S1",
"total_price": "1595"
},
{
"rate_id": "2948586",
"rate_description": "123456242_465744111-12345342_465744673",
"service_name": "service 2",
"service_code": "S2",
"total_price": "2234"
},
{
"rate_id": "2948587",
"rate_description": "43545678_955744098-34745678_891744098",
"service_name": "service 3",
"service_code": "S3",
"total_price": "1586"
}
]
}
2. Fill in Fetch Services URL with your API endpoint that returns the list of available services (carriers).
This is an example of the data we expect your endpoint to return:
{
"services": [
{
"service_name": "service 1",
"service_code": "S1"
},
{
"service_name": "service 2",
"service_code": "S2"
},
{
"service_name": "service 3",
"service_code": "S3"
}
]
}
3. Click on the button Fetch Services
4. Add an authorization token (optional, it adds “Authorization: Bearer
5. Toggle the services you wish to use on your store and change the names if you need.
6. Fill the Address fields at the end of the form.
7. Lastly, click on Save and you are done.
Now you can go to the Shipping Options in your Admin Panel, and set how you want it to appear on the checkout page. You can enable/disable external shipping methods anytime and you can change their names to as you please.
If the rates sent by your application have the “rate_id” or “rate_description” fields set, then you can send a request to our orders API and the selected rate id and rate description will appear as “external_shipping_rate_id” and “external_shipping_rate_description” respectively.
Once there are at least 5 Jumpseller stores using your shipping method estimations, you can request to be listed publicly as one of the Shipping Methods available for all merchants. If approved, your Shipping method will be listed in Jumpseller’s Admin Panel and on Jumpseller’s public shipping methods page.
To request a public listing for your Gateway, email team@jumpseller.com with with the following details:
Name of the shipping method.
Documentation about: how to contract, how to setup, how to use, FAQ section (optional).
List of Jumpseller merchants using your shipping method.
Screencasts of checkout process showing you shipping method estimations working.
Logo: 110x66px in PNG transparent.
You will be published in the Admin Panel along other shipping solutions, with your own logo.
For further announcements in newsletters and social media and other marketing activities please contact partners@jumpseller.com
Free trial for 14 days. No credit card required.