Shipper API Documentation v2.13.0
Shipper API Documentation v2.13.0
0
Last updated 1 March 2021
Overview
The Shipper API is an exclusive way to connect with shipper platform. It’s an http-based
API that apps can interact with all features same as shipper product. Users can
customize their data freely with this API.
Get Started
1. You can download our API postman collection here :
https://www.getpostman.com/collections/f0a265d7c434b2683841
2. Both request and response bodies are formatted in JSON unless otherwise
stated.
3. For authentication, every request must have a query string
apiKey=[YOUR_API_KEY] where apiKey is obtained from account creation API
unless otherwise stated.
Example :
https://api.sandbox.shipper.id/public/v1/countries?apiKey={{YOUR_API_KEY}}.
4. Every request must have header User-Agent = Shipper/
5. Base URL endpoint :
- Sandbox Environment : https://api.sandbox.shipper.id/
- Prod Environment : https://api.shipper.id/prod/
6. [COMPULSORY] URL for getting our sticker. You must print & put the label on
the package:
- Sandbox Environment :
https://sandbox.shipper.id/label/sticker.php?oid[]={{ORDER_ID}}&uid={{LABELCHECK
SUM_ORDER}}
- Prod Environment :
https://shipper.id/label/sticker.php?oid[]={{ORDER_ID}}&uid={{LABELCHECKSUM_OR
DER}}
- If you don’t have a printer to print out the label, you must write the orderid on the
packet.
7. URL for getting our receipt:
- Sandbox Environment :
https://sandbox.shipper.id/label/receipt.php?oid[]={{ORDER_ID}}&uid={{LABELCHECK
SUM_ORDER}}
- Prod Environment :
https://shipper.id/label/receipt.php?oid[]={{ORDER_ID}}&uid={{LABELCHECKSUM_OR
DER}}
(You can get [ORDER_ID] from endpoint order creation and
[LABELCHECKSUM_ORDER] from endpoint order detail.)
1. Location
In this section, you can get all types of locations from our system which are :
a. Country (Negara)
b. Province (Provinsi)
c. City (Kota)
d. Suburb (Kecamatan)
e. Area (Kelurahan)
Our pricing endpoint and order creation endpoint requires location area id. There are 2
ways to get area id :
1. Shortcut Step
Flow :
a. Get Countries
Retrieve country data in a list.
Method GET
Url public/v1/countries
Example Request :
curl -X GET -H 'User-Agent: Shipper/'
'https://api.sandbox.shipper.id/public/v1/countries?apiKey=[YOUR_A
PIKEY]'
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"content": "Successfully retrieve countries",
"rows": [
{
"country_name": " UNITED STATES OF AMERICA",
"country_id": 214
}
// And so on...
],
"statusCode": 200
}
}
Response list
Name Details
country_id ID of country
b. Get Provinces
Retrieve all provinces in Indonesia in a list.
Method GET
Url public/v1/provinces
Example Request :
curl -X GET -H 'User-Agent: Shipper/'
'https://api.sandbox.shipper.id/public/v1/provinces?apiKey=[YOUR_A
PIKEY]'
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"content": "Successfully retrieve provinces",
"rows": [
{
"id": 1,
"name": "Bali"
},
{
"id": 34,
"name": "Sumatera Utara"
}
// And so on...
],
"statusCode": 200
}
}
Response list
Name Details
id ID of Province
c. Get Cities
Either retrieve every city based on the submitted province ID OR every city and
provinces. Either one parameter must be provided.
Method GET
Url public/v1/cities
id ID of City
province_id ID of Province
d. Get Suburbs
Retrieve suburbs based on submitted city ID.
Method GET
Url public/v1/suburbs
Example Request :
curl -X GET -H 'User-Agent: Shipper/'
'https://api.sandbox.shipper.id/public/v1/suburbs?apiKey=[YOUR_API
KEY]&city=23'
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"content": "Successfully retrieve suburbs",
"rows": [
{
"id": 260,
"name": "Muara Kemumu",
"alias": ""
},
// and so on ...
]
}
}
Response list
Name Details
id ID of Suburbs
e. Get Areas
Retrieve areas based on submitted suburb ID.
Method GET
Url public/v1/areas
Example Request :
curl -X GET -H 'User-Agent: Shipper/'
'https://api.sandbox.shipper.id/public/v1/areas?apiKey=[YOUR_APIKE
Y]&suburb=678'
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"content": "Successfully retrieve areas",
"rows": [
{
"id": 6656,
"name": "Rantau Indah",
"alias": "",
"postcode": "36763"
},
{
"id": 6657,
"name": "Sido Mukti",
"alias": "",
"postcode": "36763"
}
// and so on ...
]
}
}
Response list
Name Details
id ID of Areas
Url public/v1/details/[SUBSTRING]
Result Explanation
There are 3 conditions in this part of the results.
Field Value Affected Value
Name Field
order_list 1 value 41|6
city_id|province_id
2 378|41|6
suburb_id|city_id|province_id
3 11460|4833|378|41|6
postcode|area_id|suburb_id|city_id|province_id
Based on the table above, if the order_list is 1, the value is the concatenation of
city_id and province_id. If the order_list is 2, the value is the concatenation of
suburb_id, city_id and province_id. If the order_list is 3, the value is the
concatenation of postcode, area_id, suburb_id, city_id and province_id.
Example Request :
curl -X PUT -H 'User-Agent: Shipper/'
'https://api.sandbox.shipper.id/public/v1/details/jogo?apiKey=[YOUR_APIKE
Y]'
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"content": "Successfully retrieve all related locations",
"rows": [
{
"label": "Singkawang",
"value": "148|12",
"city_name": "Singkawang",
"suburb_name": "",
"area_name": "",
"order_list": 1
},
{
"label": "Singkohor, Aceh Singkil",
"value": "3728|239|21",
"city_name": "Aceh Singkil",
"suburb_name": "Singkohor",
"area_name": "",
"order_list": 2
},
{
"label": "Amasing Kota Utara, Bacan, Halmahera
Selatan, 97791",
"value": "97791|40716|3548|223|19",
"city_name": "Halmahera Selatan",
"suburb_name": "Bacan",
"area_name": "Amasing Kota Utara",
"order_list": 3
}
],
"statusCode": 200
}
}
2. Rates
In this section, you can get all of our rate price. This endpoint will return every logistic
rates that depends on :
a. Coverage area of selected Logistic - Service
b. Shipment DIstance (km) for instant and same day service
c. Final Weight (Actual weight and Volumetric weight). Each Logistic - Service have
minimum and maximum weight.
d. Shipper Pickup Coverage Area
Interface Example :
Method GET
Url public/v1/domesticRates
Example Request :
curl -X GET -H 'User-Agent: Shipper/'
'https://api.sandbox.shipper.id/public/v1/domesticRates?apiKey=[YO
UR_APIKEY]&o=4802&d=4852&wt=1.0&v=199000&l=20&w=15&h=10&cod=0&type
=1&originCoord=-6.1575362903,106.7858796692&destinationCoord=-6.17
846396594961,106.84122923291011'
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"content": "Successfully retrieving rates",
"rule": "Pengiriman barang cairan dan powerbank untuk
sementara belum bisa dilakukan.",
"originArea": "Suryodiningratan, Mantrijeron, Yogyakarta",
"destinationArea": "Way Halim Permai, Way Halim, Bandar
Lampung",
"rates": {
"logistic": {
"regular": [
{
"name": "Lion Parcel",
"logo_url":
"http://cdn.shipper.cloud/logistic/small/LPA.png",
"rate_id": 44,
"show_id": 1,
"rate_name": "REGPACK",
"stop_origin": 113,
"stop_destination": 19,
"weight": 1,
"volumeWeight": 0.5,
"finalWeight": 1,
"itemPrice": 199000,
"item_price": 199000,
"finalRate": 24998,
"insuranceRate": 7000,
"compulsory_insurance": 0,
"liability": 199000,
"discount": 1249.9,
"min_day": 3,
"max_day": 5,
"pickup_agent": 1
}
// and so on ...
],
}
},
"statusCode": 200
}
}
b. Get International Rates
Method GET
Url public/v1/intlRates
Example Request :
curl -X GET -H 'User-Agent: Shipper/'
'https://api.sandbox.shipper.id/public/v1/intlRates?apiKey=fdbb3c8
e1f428590ff14ea1ecfe2e671&o=4802&d=180&wt=1.0&v=199000&l=20&w=15&h
=10&type=2'
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"content": "Successfully retrieving rates",
"rule": "Text about Shipping Restriction is here",
"originArea": "Jelambar, Grogol Petamburan, Jakarta Barat,
INDONESIA",
"destinationCountry": "SINGAPORE",
"rates": {
"logistic": {
"international": [
{
"name": "POS Indonesia",
"logo_url":
"http://cdn.shipper.cloud/logistic/small/POS.png",
"rate_id": 210,
"show_id": 3,
"rate_name": "EMS",
"stop_origin": 51,
"stop_destination": 21013,
"weight": 3,
"volumeWeight": 1.6,
"finalWeight": 3,
"itemPrice": 65000,
"item_price": 65000,
"finalRate": 452115,
"insuranceRate": 325,
"compulsory_insurance": 0,
"liability": 65000,
"min_day": 2,
"max_day": 3,
"pickup_agent": 0
}
]
}
// and so on ...
},
"statusCode": 200
}
}
RBS is one of our service rates where we choose the best price from the list of
the returned rates from Get Domestic Rates. The name will return
“Recommended by Shipper” and whitelist the 3PL.
To show the RBS rate, add this variable to the parameters:
order Integer Order flag, to make sure that the RBS comes
from eligible 3PL rates
{
"name": "Recommended by Shipper",
"Logo_url": "http://cdn.shipper.cloud/logistic/small/SHP.png",
"rate_id": 365,
"show_id": 1,
"rate_name": "Regular",
"stop_origin": 50,
"stop_destination": 4670,
"weight": 1.5,
"volumeWeight": 0.0675,
"finalWeight": 2,
"itemPrice": 150000,
"item_price": 150000,
"finalRate": 44000,
"insuranceRate": 5300,
"compulsory_insurance": 0,
"liability": 0,
"discount": 0,
"min_day": 3,
"max_day": 6,
"pickup_agent": 1
}
3. Order
This is the final step. You can create orders and send your goods through Shipper easily.
After you create order, please use Get Tracking ID (3c) to get our tracking number
a. Domestic Order Creation
Method POST
Url public/v1/orders/domestics
Parameter Body
Name Type Details Compulsory
(mandatory)
Example :
- Use header ‘Content-Type: application/json’
. . .
"itemName": [
{
"name": "Celana",
"qty": 1,
"value": 50000
},
{
"name": "Baju",
"qty": 1,
"value": 150000
}
]
. . .
- Use header ‘Content-Type: application/x-www-form-urlencoded’
itemName[0][name]:Celana
itemName[0][qty]:1
itemName[0][value]:50000
itemName[1][name]:Baju
itemName[1][qty]:1
itemName[1][value]:150000
Example Request :
curl -X POST
'https://api.sandbox.shipper.id/public/v1/orders/domestics?apiKey=
[YOUR_APIKEY]' -H 'User-Agent: Shipper/' -H
'Content-Type:application/json' -d '{ "o": 4828, "d": 4833, "wt":
1, "l": 10, "w": 10, "h": 10, "v": 100000, "rateID": 49,
"consigneeName": "Peoorang", "consigneePhoneNumber":
"089899878987", "consignerName": "Peorang",
"consignerPhoneNumber": "089891891818", "originAddress": "Mangga
Dua Selatan", "originDirection": "", "destinationAddress": "Pasar
Baru", "destinationDirection": "", "itemName": [
{
"name": "Celana",
"qty": 1,
"value": 50000
},
{
"name": "Baju",
"qty": 1,
"value": 150000
}
]
, "contents": "-", "useInsurance": 0, "packageType": 2,
"paymentType": "cash", "externalID": "" }'
Success Response :
{
"status": "success",
"data": {
"title": "Created",
"content": "The data has been saved and validated",
"statusCode": 201,
"id": "bByYNnMj7Yuxc"
}
}
To create an order using RBS rates in domestic creation, you need to set these
parameters in the body:
1 to use RBS
0 to unuse RBS (default)
1 for Regular
2 for Next Day
c. International Order Creation
Method POST
Url public/v1/orders/internationals
Parameter Body
Name Type Details Compulsory
(mandatory)
Example Request :
curl -X POST
'https://api.sandbox.shipper.id/public/v1/orders/interntaionals?ap
iKey=[YOUR_APIKEY]' -H 'User-Agent: Shipper/' -H
'Content-Type:application/json' -d '{ "o": 4802, "d": 180, "wt":
1, "l": 10, "w": 10, "h": 10, "v": 100000, "rateID": 210,
"consigneeName": "Peoorang", "consigneePhoneNumber":
"089899878987", "consignerName": "Peorang",
"consignerPhoneNumber": "089891891818", "originAddress": "Mangga
Dua Selatan", "originDirection": "", "destinationAddress":
"Orchard Road 101", "destinationDirection": "", "destinationArea":
"Singapore", "destinationSuburb": "Singapore", "destinationCity":
"Singapore", "destinationProvince": "Singapore",
"destinationPostcode": "111111", "itemName": "baju", "contents":
"merah", "useInsurance": 0, "packageType": 2, "paymentType":
"cash", "externalID": ""}'
Success Response :
{
"status": "success",
"data": {
"title": "Created",
"content": "The data has been saved and validated",
"statusCode": 201,
"id": "bByYNnMj7Yuxc"
}
}
d. Get Tracking ID
Retrieves tracking ID of the order with the provided ID.
Method GET
Url public/v1/orders
Example Request :
curl -X GET
'https://api.sandbox.shipper.id/public/v1/orders?apiKey=[YOUR_APIK
EY]&id=86jh87y87h87yh87y87yy' -H 'User-Agent: Shipper/'
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"content": "Successfully retrieve order ID",
"id": "1AXXXXX",
"statusCode": 200
}
}
e. Order Detail
Retrieves an order’s detail including tracking log. Date format is UTC time.
Method GET
Url public/v1/orders/[ORDER_ID]
Parameter URL Params
Name Type Details Compulsory
(mandatory)
Example Request :
curl -X GET
'https://api.sandbox.shipper.id/public/v1/orders/1XKXKXK?apiKey=[Y
OUR_APIKEY]' -H 'User-Agent: Shipper/'
Success Response :
{
"status": "success",
"data":
{
"title": "OK",
"content": "Successfully retrieving history order detail",
"order": {
"tracking": [
{
"_id": "5f0942690add01f3198b456b",
"id": "5f0942690add01f3198b4569",
"orderID": "3E79561",
"uniqueID": "2542b50867053413083ba06035fea697",
"trackStatus": {
"id": 1,
"name": "Order Masuk ke sistem",
"description": "Data order sudah masuk ke sistem"
},
"logisticStatus": [
{
"id": 99,
"name": "Order Masuk ke sistem",
"description": "Data order sudah masuk ke
sistem"
}
],
"createdBy": "Tamam",
"createdDate": "2020-07-11T04:39:05+00:00"
},
{
"_id": "5f09431c9bbca0098622ebb9",
"id": "5f0942690add01f3198b4569",
"orderID": "3E79561",
"trackStatus": {
"id": 6,
"name": "Diterima Partner",
"description": "Paket Anda sudah diterima oleh
[GO-SEND]",
"reason": ""
},
"logisticStatus": [
{
"id": 1369,
"name": "confirmed",
"description": "Paket Anda sudah diterima
oleh GO-SEND. Live track di sini : <a
href='https://gosend-livetracking.gojek.co.id/go-send/livetracking/detail
?trackingId=SRqn3Sj-JpDx6_6DMMiqtOdSk8T_Z2W2w7ew8DYQeQn_Z4D9ndH-YZf5nMrcX
CITRasRljSthjsXHC64eINn8g%3D%3D'
target='_blank'>https://gosend-livetracking.gojek.co.id/go-send/livetrack
ing/detail?trackingId=SRqn3Sj-JpDx6_6DMMiqtOdSk8T_Z2W2w7ew8DYQeQn_Z4D9ndH
-YZf5nMrcXCITRasRljSthjsXHC64eINn8g%3D%3D</a>"
}
],
"createdBy": "Shipper Cron",
"createdDate": "2020-07-11T04:40:03+00:00",
"trackURL":
"https://gosend-livetracking.gojek.co.id/go-send/livetracking/detail?trac
kingId=SRqn3Sj-JpDx6_6DMMiqtOdSk8T_Z2W2w7ew8DYQeQn_Z4D9ndH-YZf5nMrcXCITRa
sRljSthjsXHC64eINn8g%3D%3D",
"uniqueID": "7cdf36d2377d0d3bfd9b3cf25c4e2720"
},
],
"detail": {
"id": "3E79561",
"externalID": "",
"labelChecksum":
"30a0108baa0adc2ba6b6e98a0f39f642",
"consigner": {
"id": "583ef085a8e9f1d81bb40c69",
"name": "",
"phoneNumber": "+6281213873326"
},
"consignee": {
"id": "5891ff00bd29b6391ca2a1e1",
"name": "Demon Lord Udin",
"phoneNumber": "+6281213452322"
},
"awbNumber": "GK-11-317240421",
"package": {
"type": "Paket Kecil",
"itemName": "Baju",
"contents": "Baju Pesta",
"price": {
"value": 10000,
"UoM": "IDR"
},
"dimension": {
"length": {
"value": 20,
"UoM": "cm"
},
"height": {
"value": 40,
"UoM": "cm"
},
"width": {
"value": 30,
"UoM": "cm"
}
},
"weight": {
"value": 1,
"UoM": "kg"
},
"volumeWeight": {
"value": 4,
"UoM": "kg"
},
"pictureURL": "",
"isConfirmed": 0
},
"origin": {
"address": "bnn cawang",
"direction": "bnn cawang",
"cityID": 42,
"cityName": "Jakarta Barat",
"provinceID": 6,
"provinceName": "DKI Jakarta"
},
"destination": {
"address": "lapangan banteng",
"direction": "lapangan banteng",
"cityID": 67,
"cityName": "Sumedang",
"provinceID": 9,
"provinceName": "Jawa Barat"
},
"driver": {
"name": "Mr. No-Brake",
"phoneNumber": "+6281213456789",
"vehicleType": "Honda Jazz Putih",
"vehicleNumber": "B 1 JI"
},
"courier": {
"rate_id": 2,
"rate_name": "REG",
"name": "JNE",
"shipmentType": "Express",
"min_day": 1,
"max_day": 1,
"rate": {
"value": 18000,
"UoM": "IDR"
}
},
"rates": {
"shipment": {
"value": 20000,
"UoM": "IDR"
},
"paidShipment": {
"value": 20000,
"UoM": "IDR"
},
"actualShipment": {
"value": 0,
"UoM": "IDR"
},
"insurance": {
"value": 0,
"UoM": "IDR"
},
"paidInsurance": {
"value": 0,
"UoM": "IDR"
},
"actualInsurance": {
"value": 0,
"UoM": "IDR"
},
"escrowCost": {
"value": 0,
"UoM": "IDR"
},
"fulfillmentCost": {
"value": 0,
"UoM": "IDR"
},
"itemPrice": {
"value": 10000,
"UoM": "IDR"
},
"discount": {
"value": 0,
"UoM": "IDR"
}
},
"useInsurance": 0,
"isLabelPrinted": 0,
"paymentType": "postpay",
"source": "api",
"isActive": 1,
"readyTime": "2020-07-11T04:39:05+00:00",
"pickUpTime": "2020-07-11T04:39:05+00:00",
"creationDate": "2020-07-11T04:39:05+00:00",
"activeDate": "2020-07-11T04:39:05+00:00",
"lastUpdatedDate": "2020-07-31T00:00:00+00:00",
"shipmentArea": "domestic",
"creationDate": "2017-02-05T23:37:44+07:00",
"lastUpdatedDate": "",
"useInsurance": 0
}
},
"statusCode": 200
}
}
f. Order Update
Update an order’s package’s weight and dimension.
Method PUT
Url public/v1/orders/[ORDER_ID]
Parameter Body
Name Type Details Compulsory
(mandatory)
Success Response :
{
"status": "success",
"data":
{
"title": "OK",
"content": "Successfully correcting order 1XXXXXK",
"correctedFields": {
"weight": 1,
"volumeWeight": 1,
"length": 10,
"height": 10,
"width": 10,
"compulsoryInsurance": 0,
"insurance": 0,
"finalRate": 18000
},
"statusCode": 200
}
}
g. Order Cancellation
Cancel an order.
Method PUT
Url public/v1/orders/[ORDER_ID]/cancel
Example Request :
curl - X PUT
'https://api.sandbox.shipper.id/public/v1/orders/1XKXKXK/cancel?ap
iKey=[YOUR_APIKEY]' - H 'User-Agent: Shipper/' - H
'Content-Type:application/json' - d '{ "l": 1, "w":1, "h":1,
"wt":1 }'
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"message": "Successfully cancel order 1xxxxxx",
"statusCode": 200
}
}
"statusCode": 200
}
}
Notes :
a. In regular, express and trucking service, you can cancel order if the
package is not yet to be handover to our logistic partner
b. In Instant and Sameday service, you still can cancel order if the driver
accept the order but you can’t cancel it if the driver state is “On going” to
pickup location
4. Pickup Orders
The pickup process can be done in two ways, either by requesting POST Pickup
Request or PUT Order Activation, depending on the service you chose.
Url public/v1/pickup
Parameter Body
Name Type Details Compulsory
(mandatory)
Example Request :
curl -X POST -H 'User-Agent: Shipper/' -H 'Content-Type:
application/json'
'https://api.sandbox.shipper.id/public/v1/pickup?apiKey=[YOUR_APIK
EY]' -d '{"orderIds": ["1A88888","1A88888"],"agentId": 89,"datePickup":
"2019-11-30 10:30:00"}'.
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"message": "Pickup request success, please wait, our agent
will contact you soon",
"statusCode": 200
}
}
b. Cancel Pickup
Cancel pickup request. You can’t cancel if the package has been picked up.
Method PUT
Url public/v1/pickup/cancel
Parameter Body
Name Type Details Compulsory
(mandatory)
Example Request :
curl -X PUT -H 'User-Agent: Shipper/' -H 'Content-Type:
application/json'
'https://api.sandbox.shipper.id/public/v1/pickup/cancel?apiKey=[YO
UR_APIKEY]' -d '{"orderIds": ["1A88888","1A88888"]}'.
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"message": "Pickup request cancelled",
"statusCode": 200
}
}
Url public/v1/agents
Example Request :
curl -X PUT -H 'User-Agent: Shipper/' -H 'Content-Type:
application/json'
'https://api.sandbox.shipper.id/public/v1/pickup/cancel?apiKey=[YO
UR_APIKEY]' -d '{"orderIds": ["1A88888","1A88888"]}'.
h. Order Activation
As explained above, order activation is used for GO-SEND, GRAB courier, and
J&T Hubless.
If you created an order using J&T, you need to check the value of isHubless
parameter from get order detail, if it is 0, you can use request pickup, if it is 1 you
must use order activation. It is because, when isHubless is 1, there is no Shipper
Agent in that area, so J&T courier will collect the item directly from the origin just
like GRAB & GO-SEND service.
Please be mindful of the cutoff time for GRAB & GO-SEND services if you want
to activate the order. Click here for the details.
If you use order activation, you don’t have to use pickup request endpoint.
Method PUT
Url public/v1/activations/[ORDER_ID]
Parameter Body
Name Type Details Compulsory
(mandatory)
Example Request :
curl -X PUT
'https://api.sandbox.shipper.id/public/v1/activations/1XKXKXK?apiK
ey=[YOUR_APIKEY]' -H 'User-Agent: Shipper/' -H
'Content-Type:application/json' -d '{ "active": 1 }'
Success Response :
{
"status": "success",
"data": {
"message": "Successfully activated order 1XKXKXK",
"statusCode": 200
}
}
5. Furthermore
Some additional endpoints to support your integrations.
Method GET
Url public/v1/logistics/status
Example Request :
curl -X GET -H 'User-Agent: Shipper/'
'https://api.sandbox.shipper.id/public/v1/logistics/status?apiKey=
[YOUR_APIKEY]'.
Success Response :
{
"status": "success",
"data": {
"title": "OK",
"content": "Successfully retrieve tracking Status",
"rows": [
{
"id": 1,
"name": "Order Diterima",
"description": "Order sudah diterima"
}
// And so on...
]
}
}
Method GET
Url public/v1/awbs/generate
Example Request :
curl -X GET -H 'User-Agent: Shipper/'
'https://api.sandbox.shipper.id/public/v1/awbs/generate
?apiKey=[YOUR_APIKEY]&eid=[YOUR_EXTERNAL_ID]&oid=[YOUR_ORDER_ID]'.
Success Response :
{
"status": "success",
"data": {
"message": "Successfully retrieving order 1A00209",
"awbNumber": "12s3",
"statusCode": 200
}
}
6. Important Notes
When at login Shipper BOS page, fill your email or phone number (the one you
registered to Sandbox/Production API with Shipper teams) and password (default
password is qwerasdf for Sandbox and shipper123 for Production| You can change it
later)
b. Final Weight Calculation Rules
Final weight is the heaviest weight between actual weight and volumetric weight. Every
logistic and service have their own volumetric weight formula ( length*width*height
divided by 4000 or 5000 or 6000 ). We recommend to calculate items that have been
packed for final actual weight and volumetric weight of all items of an order.