CargonizE2 implements OAuth2 using RFC 6749 section 4.4. Client Credentials Grant for third party authentication.
Client Credentials are available in the app under Settings → Integrations.
RFC 6749 section 3.2. Token Endpoint
This endpoint is used for exchanging your client credentials for an access token, which is required to authenticate to the API.
| Key | Value / Example | Description |
|---|---|---|
Host | cargo.e2solutions.no | RFC 2616 section 14.23. Host header |
Authorization | Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=(example value, use your client credentials) | RFC 7617 HTTP "Basic" auth with client credentials |
Content-Type | application/x-www-form-urlencoded | Requests must use this content type, per RFC 6749 section 4.1.3. Access Token Request |
Accept | application/json | Recommended, to ensure any unexpected errors are returned in JSON format |
| Key | Value / Example | Description |
|---|---|---|
grant_type | client_credentials | Requests must use this grant type, per RFC 6749 section 4.4.2. Access Token Request |
scope | No scopes are currently defined or supported, therefore this must be left blank or not provided | |
nonce | If specified, will be included in the access token (RFC 7519 JSON Web Token) as a nonce claim | |
state | If specified, will be included in the response |
RFC 6749 section 4.4.2. Access Token Request
POST /oauth/token HTTP/1.1
Host: cargo.e2solutions.no
Authorization: Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
grant_type=client_credentials
RFC 6749 section 4.4.3. Access Token Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "eyJhbGciOiJIUzI1Ni...",
"token_type": "bearer",
"expires_in": 3600
}
RFC 6749 section 5.2. Error Response
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"error": "invalid_request"
}
RFC 7662 section 2. Introspection Endpoint
This endpoint is used to determine the set of metadata for a given token. It can be used for testing whether an access token is active and valid.
| Key | Value / Example | Description |
|---|---|---|
Host | cargo.e2solutions.no | RFC 2616 section 14.23. Host header |
Authorization | Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=(example value, use your client credentials) | RFC 7617 HTTP "Basic" auth with client credentials |
Content-Type | application/x-www-form-urlencoded | Requests must use this content type, per RFC 7662 section 2.1. Introspection Request |
Accept | application/json | Recommended, to ensure any unexpected errors are returned in JSON format |
| Key | Value / Example | Description |
|---|---|---|
token | eyJhbGciOiJIUzI1Ni...(example value, use your access token) | The string value of the token. This is the access_token value returned from the token endpoint |
RFC 7662 section 2.1. Introspection Request
POST /oauth/token HTTP/1.1
Host: cargo.e2solutions.no
Authorization: Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
token=eyJhbGciOiJIUzI1Ni...
RFC 7662 section 2.2. Introspection Response
The following is randomized example data, except for iss, sub and aud.
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"active": true,
"iss": "https://cargo.e2solutions.no",
"dest": "https://example.myshopify.com",
"aud": "7299f6207f1d154de4a384ed7dde260e",
"sub": "third_party_service_identifier",
"exp": 1765707664,
"nbf": 1765703944,
"iat": 1765704004,
"jti": "ef2db619-c084-47ef-aa1f-2f405da7b94c",
"sid": "5vAZIT7gKQEE,6DrZPrFaOwfwuKa6-2ae7ZA5quyXY44X5WAb4NBs9B8chlHwadL",
"client_id": "02197bf5-e9ab-46b7-a609-b522f392fbdf"
}
RFC 7662 section 2.3. Error Response
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"error": "invalid_request"
}
This endpoint is used to create a shipment for a given Shopify order.
| Key | Value / Example | Description |
|---|---|---|
Host | cargo.e2solutions.no | RFC 2616 section 14.23. Host header |
Authorization | Bearer eyJhbGciOiJIUzI1Ni...(example value, use your access token) | RFC 6750 section 2.1. Authorization Request Header Field |
Content-Type | application/json | |
Accept | application/json | Recommended, to ensure any unexpected errors are returned in JSON format |
| Key | Value / Example | Description |
|---|---|---|
orderId | gid://shopify/Order/450789469(example value, use a real Order id) | Shopify Global ID of an Order object |
fulfillmentOrderId | gid://shopify/FulfillmentOrder/255858046(example value, use a real FulfillmentOrder id) | Shopify Global ID of a FulfillmentOrder object |
shippingAddress | See example value in request below | A shipping address in the format of a Shopify MailingAddress object. Note that province and provinceCode are currently ignored. |
fulfillmentOrderData | See example value in request below | An optional object containing information about which FulfillmentOrderLineItem to fulfill and fulfillment quantity. The line item packages field is optional and is used to indicate how many packages to add to the consignment specifically for this line item (the default value of 0 means that it will share a package with other items). |
customsData | See example value in request below | An optional object containing extra customs information about existing line items or extra line items to fulfill (not present in any FulfillmentOrder) |
produceReturnShippingLabel | true / false | An optional boolean indicating whether to produce a return label or not. Defaults to false. |
printLabels | true / false | An optional boolean indicating whether to print shipping/return labels (according to CargonizE2 settings). Defaults to false. |
shippingOptionId | 9f0e5980-6367-4f41-a73d-a4d487d31e8f(example value, use a real shipping option ID) | An optional shipping option ID from GET /api/shipping-options |
pickupPointId | 108625(example value, use a real pickup point ID) | An optional pickup point ID (only used when shippingOptionId is also provided) from POST /api/shipping-options/:shippingOptionId/pickup-points |
POST /api/consignments/create HTTP/1.1
Host: cargo.e2solutions.no
Authorization: Bearer eyJhbGciOiJIUzI1Ni...
Content-Type: application/json;charset=UTF-8
{
"orderId": "gid://shopify/Order/450789469",
"fulfillmentOrderId": "gid://shopify/FulfillmentOrder/255858046",
"shippingAddress": {
"address1": "Storgata 15",
"address2": "",
"city": "Oslo",
"countryCodeV2": "NO",
"company": "Bedriften AS",
"firstName": "Per",
"lastName": "Post",
"name": "Per Post",
"phone": "+4749999999",
"zip": "0161"
},
"fulfillmentOrderData": {
"fulfillmentOrderLines": [
{
"fulfillmentOrderLineId": "gid://shopify/FulfillmentOrderLineItem/466157049",
"quantity": 1,
"packages": 0
}
]
},
"customsData": {
"customsDataItems": [
{
"sku": "IPOD-342-N",
"name": "IPod Nano - Pink",
"quantity": 1,
"packages": 0,
"price": 199.99,
"countryCodeOfOrigin": "CA",
"harmonizedSystemCode": "520300"
}
]
},
"produceReturnShippingLabel": true,
"printLabels": true,
"shippingOptionId": "9f0e5980-6367-4f41-a73d-a4d487d31e8f",
"pickupPointId": "108625"
}
Any other status code than 2xx should be considered an error (see error response below).
success may also be used to determine whether a request was successful.
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"success": true,
"orderId": "gid://shopify/Order/450789469",
"fulfillmentOrderId": "gid://shopify/FulfillmentOrder/255858046",
"shippingId": "60426",
"shippingPrinterId": "1000",
"carrierName": "Bring",
"carrierId": "bring2",
"carrierService": "Pakke til hentested",
"carrierServiceId": "bring2_parcel_pickup_point",
"shippingAddress": {
"address1": "Storgata 15",
"address2": "",
"city": "Oslo",
"countryCodeV2": "NO",
"company": "Bedriften AS",
"firstName": "Per",
"lastName": "Post",
"name": "Per Post",
"phone": "+4749999999",
"zip": "0161"
},
"returnId": "60427",
"returnPrinterId": null,
"returnCarrierName": "Bring",
"returnCarrierId": "bring2",
"returnCarrierService": "Retur fra hentested",
"returnCarrierServiceId": "bring2_return_pickup_point",
"returnAddress": {
"address1": "Storgata 15",
"address2": "",
"city": "Oslo",
"countryCodeV2": "NO",
"name": "Per Post",
"phone": "+4749999999",
"zip": "0161"
},
"fulfillmentOrderData": {
"fulfillmentOrderLines": [
{
"fulfillmentOrderLineId": "gid://shopify/FulfillmentOrderLineItem/466157049",
"quantity": 1
}
]
},
"customsData": {
"customsDataItems": [
{
"sku": "IPOD-342-N",
"name": "IPod Nano - Pink",
"quantity": 1,
"price": 199.99,
"countryCodeOfOrigin": "CA",
"harmonizedSystemCode": "520300"
}
]
},
"statusMessage": null,
"trackingInfo": [
{
"trackingNumber": "40170712190103438532",
"trackingURL": "https://sporing.bring.no/sporing.html?q=40170712190103438532&layout=standalone",
"returnLabel": false,
"labelData": "JVBERi0xLjQKJf..."
},
{
"trackingNumber": "40170712190103438533",
"trackingURL": "https://sporing.bring.no/sporing.html?q=40170712190103438533&layout=standalone",
"returnLabel": true,
"labelData": "JVBERi0xLjQKJf..."
}
]
}
HTTP status codes:
400 will be returned if the request contains invalid data401 will be returned if the Bearer token is invalid500 will be returned for any Cargonizer errors and most other application errorsResponse data information and error handling details:
statusMessage is only populated for errors that should be shown to end users. Any error from Cargonizer will be directly passed through in this field.statusMessage may be missing or null. If this is the case, check for error.message (should not be visible to end users, save it and use a generic error)error, error.title and error.message may be missing or null2xx or success is false and all status/error fields are empty, use a generic error.error.title usually contains the HTTP status code text and can be safely ignoredHTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"success": false,
"statusMessage": "...",
"error": {
"title": "Internal Server Error, Bad Request, ...",
"message": "..."
}
}
This endpoint is used to get a list of shipping options.
| Key | Value / Example | Description |
|---|---|---|
Host | cargo.e2solutions.no | RFC 2616 section 14.23. Host header |
Authorization | Bearer eyJhbGciOiJIUzI1Ni...(example value, use your access token) | RFC 6750 section 2.1. Authorization Request Header Field |
Accept | application/json | Recommended, to ensure any unexpected errors are returned in JSON format |
GET /api/shipping-options HTTP/1.1
Host: cargo.e2solutions.no
Authorization: Bearer eyJhbGciOiJIUzI1Ni...
Any other status code than 2xx should be considered an error (see error response below).
success may also be used to determine whether a request was successful.
displayName can be null or any string value (non-null if the shipping option has been given a custom display name in the app).
pickupPointRequired and mobilePhoneRequired only indicate what is required by Cargonizer. CargonizE2 will attempt to provide any required values even if these values are not provided to the API.
The returned shipping options are only valid for the shop your access token is tied to.
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"success": true,
"shippingOptions": [
{
"id": "9f0e5980-6367-4f41-a73d-a4d487d31e8f",
"type": "international",
"name": "Bring - Pakke til hentested",
"default": true,
"displayName": null,
"carrierId": "bring2",
"carrierName": "Bring",
"carrierServiceId": "bring2_parcel_pickup_point",
"returnCarrierId": "bring2",
"returnCarrierName": "Bring",
"returnCarrierServiceId": "bring2_return_pickup_point",
"pickupPointRequired": false,
"mobilePhoneRequired": false
}
]
}
HTTP status codes:
400 will be returned if the request contains invalid data401 will be returned if the Bearer token is invalid500 will be returned for most other application errorsResponse data information and error handling details:
statusMessage is only populated for errors that should be shown to end users.statusMessage may be missing or null. If this is the case, check for error.message (should not be visible to end users, save it and use a generic error)error, error.title and error.message may be missing or null2xx or success is false and all status/error fields are empty, use a generic error.error.title usually contains the HTTP status code text and can be safely ignoredHTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"success": false,
"statusMessage": "...",
"error": {
"title": "Internal Server Error, Bad Request, ...",
"message": "..."
}
}
:orderId This endpoint is used to get the shipping option and pickup point selected by the customer in a given order.
| Key | Value / Example | Description |
|---|---|---|
Host | cargo.e2solutions.no | RFC 2616 section 14.23. Host header |
Authorization | Bearer eyJhbGciOiJIUzI1Ni...(example value, use your access token) | RFC 6750 section 2.1. Authorization Request Header Field |
Accept | application/json | Recommended, to ensure any unexpected errors are returned in JSON format |
| Key | Value / Example | Description |
|---|---|---|
:orderId | 450789469(example value, use a real Order ID) | A Shopify Order ID (if you have a GraphQL ID, use the number after gid://shopify/Order/) |
GET /api/shipping-options/orders/450789469 HTTP/1.1
Host: cargo.e2solutions.no
Authorization: Bearer eyJhbGciOiJIUzI1Ni...
Any other status code than 2xx should be considered an error (see error response below).
success may also be used to determine whether a request was successful.
displayName can be null or any string value (non-null if the shipping option has been given a custom display name in the app).
The returned shipping option and pickup point IDs are only valid for the shop your access token is tied to.
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"success": true,
"shippingOptionId": "9f0e5980-6367-4f41-a73d-a4d487d31e8f",
"pickupPointId": "108625"
}
HTTP status codes:
400 will be returned if the request contains invalid data401 will be returned if the Bearer token is invalid500 will be returned for most other application errorsResponse data information and error handling details:
statusMessage is only populated for errors that should be shown to end users.statusMessage may be missing or null. If this is the case, check for error.message (should not be visible to end users, save it and use a generic error)error, error.title and error.message may be missing or null2xx or success is false and all status/error fields are empty, use a generic error.error.title usually contains the HTTP status code text and can be safely ignoredHTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"success": false,
"statusMessage": "...",
"error": {
"title": "Internal Server Error, Bad Request, ...",
"message": "..."
}
}
:shippingOptionId/pickup-points This endpoint is used to get a list of pickup points for a given shipping option and address.
| Key | Value / Example | Description |
|---|---|---|
Host | cargo.e2solutions.no | RFC 2616 section 14.23. Host header |
Authorization | Bearer eyJhbGciOiJIUzI1Ni...(example value, use your access token) | RFC 6750 section 2.1. Authorization Request Header Field |
Content-Type | application/json | |
Accept | application/json | Recommended, to ensure any unexpected errors are returned in JSON format |
| Key | Value / Example | Description |
|---|---|---|
:shippingOptionId | 9f0e5980-6367-4f41-a73d-a4d487d31e8f(example value, use a real shipping option ID) | A shipping option ID from GET /api/shipping-options |
| Key | Value / Example | Description |
|---|---|---|
originAddress | See example value in request below | An optional (but recommended) origin location address in the format of a Shopify LocationAddress object. Note that fields not shown in the example request below are currently ignored. |
shippingAddress | See example value in request below | A shipping address in the format of a Shopify MailingAddress object. Note that province and provinceCode are currently ignored. |
POST /api/shipping-options/9f0e5980-6367-4f41-a73d-a4d487d31e8f/pickup-points HTTP/1.1
Host: cargo.e2solutions.no
Authorization: Bearer eyJhbGciOiJIUzI1Ni...
Content-Type: application/json;charset=UTF-8
{
"originAddress": {
"address1": "Hadelandsveien 1977",
"address2": "",
"city": "Hakadal",
"countryCode": "NO",
"provinceCode": null,
"zip": "1488"
},
"shippingAddress": {
"address1": "Storgata 15",
"address2": "",
"city": "Oslo",
"countryCodeV2": "NO",
"company": "Bedriften AS",
"firstName": "Per",
"lastName": "Post",
"name": "Per Post",
"phone": "+4749999999",
"zip": "0161"
}
}
Any other status code than 2xx should be considered an error (see error response below).
success may also be used to determine whether a request was successful.
Use pickupPoints[...].id as pickupPointId in POST /api/consignments/create
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"success": true,
"pickupPoints": [
{
"id": "171107",
"name": "Grønland postkontor",
"address1": "OLAFIAGANGEN 5",
"address2": "OSLO",
"postcode": "0188",
"city": "OSLO",
"country": "NO",
"openingHours": [
{
"name": "Monday",
"number": "0",
"hours": {
"from": "09:00",
"to": "20:00"
}
},
{
"name": "Tuesday",
"number": "1",
"hours": {
"from": "09:00",
"to": "20:00"
}
},
{
"name": "Wednesday",
"number": "2",
"hours": {
"from": "09:00",
"to": "20:00"
}
},
{
"name": "Thursday",
"number": "3",
"hours": {
"from": "09:00",
"to": "20:00"
}
},
{
"name": "Friday",
"number": "4",
"hours": {
"from": "09:00",
"to": "20:00"
}
},
{
"name": "Saturday",
"number": "5",
"hours": {
"from": "10:00",
"to": "15:00"
}
}
]
},
{
"id": "108625",
"name": "Pakkeboks Posthuset",
"address1": "BISKOP GUNNERUS' GATE 14 A",
"address2": "OSLO",
"postcode": "0185",
"city": "OSLO",
"country": "NO",
"openingHours": [
{
"name": "Monday",
"number": "0",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Tuesday",
"number": "1",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Wednesday",
"number": "2",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Thursday",
"number": "3",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Friday",
"number": "4",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Saturday",
"number": "5",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Sunday",
"number": "6",
"hours": {
"from": "00:00",
"to": "23:59"
}
}
]
},
{
"id": "111652",
"name": "Pakkeboks Teaterkvartalet",
"address1": "MANDALLS GATE 10",
"address2": "OSLO",
"postcode": "0190",
"city": "OSLO",
"country": "NO",
"openingHours": [
{
"name": "Monday",
"number": "0",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Tuesday",
"number": "1",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Wednesday",
"number": "2",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Thursday",
"number": "3",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Friday",
"number": "4",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Saturday",
"number": "5",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Sunday",
"number": "6",
"hours": {
"from": "00:00",
"to": "23:59"
}
}
]
},
{
"id": "129426",
"name": "REMA 1000 Trelastgården",
"address1": "PLATOUS GATE 33",
"address2": "OSLO",
"postcode": "0650",
"city": "OSLO",
"country": "NO",
"openingHours": [
{
"name": "Monday",
"number": "0",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Tuesday",
"number": "1",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Wednesday",
"number": "2",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Thursday",
"number": "3",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Friday",
"number": "4",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Saturday",
"number": "5",
"hours": {
"from": "07:00",
"to": "23:00"
}
}
]
},
{
"id": "171102",
"name": "Vika postkontor",
"address1": "KLINGENBERGGATA 7 B",
"address2": "OSLO",
"postcode": "0161",
"city": "OSLO",
"country": "NO",
"openingHours": [
{
"name": "Monday",
"number": "0",
"hours": {
"from": "07:30",
"to": "20:00"
}
},
{
"name": "Tuesday",
"number": "1",
"hours": {
"from": "07:30",
"to": "20:00"
}
},
{
"name": "Wednesday",
"number": "2",
"hours": {
"from": "07:30",
"to": "20:00"
}
},
{
"name": "Thursday",
"number": "3",
"hours": {
"from": "07:30",
"to": "20:00"
}
},
{
"name": "Friday",
"number": "4",
"hours": {
"from": "07:30",
"to": "20:00"
}
},
{
"name": "Saturday",
"number": "5",
"hours": {
"from": "10:00",
"to": "15:00"
}
}
]
},
{
"id": "121618",
"name": "REMA 1000 Christian Krohgsgate",
"address1": "CHRISTIAN KROHGS GATE 1",
"address2": "OSLO",
"postcode": "0186",
"city": "OSLO",
"country": "NO",
"openingHours": [
{
"name": "Monday",
"number": "0",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Tuesday",
"number": "1",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Wednesday",
"number": "2",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Thursday",
"number": "3",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Friday",
"number": "4",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Saturday",
"number": "5",
"hours": {
"from": "08:00",
"to": "22:00"
}
}
]
},
{
"id": "110233",
"name": "Pakkeboks Joker Nedre Slottsgate",
"address1": "NEDRE SLOTTSGATE 4 P",
"address2": "OSLO",
"postcode": "0157",
"city": "OSLO",
"country": "NO",
"openingHours": [
{
"name": "Monday",
"number": "0",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Tuesday",
"number": "1",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Wednesday",
"number": "2",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Thursday",
"number": "3",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Friday",
"number": "4",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Saturday",
"number": "5",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Sunday",
"number": "6",
"hours": {
"from": "00:00",
"to": "23:59"
}
}
]
},
{
"id": "121537",
"name": "Extra Trondheimsveien",
"address1": "TRONDHEIMSVEIEN 5 A",
"address2": "OSLO",
"postcode": "0560",
"city": "OSLO",
"country": "NO",
"openingHours": [
{
"name": "Monday",
"number": "0",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Tuesday",
"number": "1",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Wednesday",
"number": "2",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Thursday",
"number": "3",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Friday",
"number": "4",
"hours": {
"from": "07:00",
"to": "23:00"
}
},
{
"name": "Saturday",
"number": "5",
"hours": {
"from": "07:00",
"to": "23:00"
}
}
]
},
{
"id": "109756",
"name": "Pakkeboks Heimdalsgata 4",
"address1": "HEIMDALSGATA 4",
"address2": "OSLO",
"postcode": "0561",
"city": "OSLO",
"country": "NO",
"openingHours": [
{
"name": "Monday",
"number": "0",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Tuesday",
"number": "1",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Wednesday",
"number": "2",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Thursday",
"number": "3",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Friday",
"number": "4",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Saturday",
"number": "5",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Sunday",
"number": "6",
"hours": {
"from": "00:00",
"to": "23:59"
}
}
]
},
{
"id": "114398",
"name": "Pakkeboks St.Olavs plass",
"address1": "UNIVERSITETSGATA 2",
"address2": "OSLO",
"postcode": "0164",
"city": "OSLO",
"country": "NO",
"openingHours": [
{
"name": "Monday",
"number": "0",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Tuesday",
"number": "1",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Wednesday",
"number": "2",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Thursday",
"number": "3",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Friday",
"number": "4",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Saturday",
"number": "5",
"hours": {
"from": "00:00",
"to": "23:59"
}
},
{
"name": "Sunday",
"number": "6",
"hours": {
"from": "00:00",
"to": "23:59"
}
}
]
}
]
}
HTTP status codes:
400 will be returned if the request contains invalid data401 will be returned if the Bearer token is invalid404 will be returned if the shipping option by :shippingOptionId does not exist (maybe it was deleted in the app)500 will be returned for any Cargonizer errors and most other application errorsResponse data information and error handling details:
statusMessage is only populated for errors that should be shown to end users. Any error from Cargonizer will be directly passed through in this field.statusMessage may be missing or null. If this is the case, check for error.message (should not be visible to end users, save it and use a generic error)error, error.title and error.message may be missing or null2xx or success is false and all status/error fields are empty, use a generic error.error.title usually contains the HTTP status code text and can be safely ignoredHTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"success": false,
"statusMessage": "...",
"error": {
"title": "Internal Server Error, Bad Request, ...",
"message": "..."
}
}