Glue API: Retrieve shipments and shipment methods when submitting checkout data
Edit on GitHubThis document describes how to retrieve shipments and shipment methods when submitting checkout data. For full information about the endpoint, see Submit checkout data.
Installation
For detailed information about the modules that provide the API functionality and any related installation instructions, see the following guides:
Submit checkout data
To submit checkout data without an order confirmation, send the following request:
POST
/checkout-data
Request
HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
---|---|---|---|
X-Anonymous-Customer-Unique-Id | String | Required when submitting data of a guest cart. | A guest user’s unique identifier. For security purposes, we recommend passing a hyphenated alphanumeric value, but you can pass any. If you are sending automated requests, you can configure your API client to generate this value. |
Authorization | String | Required when submitting data of a registered user’s cart. | An alphanumeric string that authorizes the customer to send requests to protected resources. Get it by authenticating as a customer. |
QUERY PARAMETER | DESCRIPTION | POSSIBLE VALUES |
---|---|---|
Include | Adds resource relationships to the request. | shipments, shipment-methods |
sort | Sorts included shipment and payment methods by an attribute. | {{included_resource}}.{{attribute}}, {{included_resource}}.{{attribute}} |
To retrieve all available shipment methods, submit checkout data with one or more shipments and include shipments
and shipment-methods
resources.
REQUEST | USAGE |
---|---|
POST https://glue.mysprykershop.com/checkout-data?include=shipments |
Submit checkout data and include all the order shipments in the response. |
POST https://glue.mysprykershop.com/checkout-data?include=shipments,shipment-methods |
Submit checkout data and include all the order shipments and all available shipment methods in the response. |
POST https://glue.mysprykershop.com/checkout-data?include=shipment-methods&sort=shipment-methods.carrierName,-shipment-methods.defaultNetPrice |
Submit checkout data and include all available shipment methods in the response. Sort the returned shipment methods carrierName in ascending order and by defaultNetPrice in descending order. |
Request sample: submit checkout data with a split shipment
{
"data": {
"type": "checkout-data",
"attributes": {
"idCart": "bb5660b1-5267-5b75-8f5a-6dc4d8a21304",
"billingAddress": {
"salutation": "Mr",
"firstName": "Spencor",
"lastName": "Hopkin",
"address1": "Julie-Wolfthorn-Straße",
"address2": "1",
"address3": "new address",
"zipCode": "10115",
"city": "Berlin",
"iso2Code": "DE",
"company": "spryker",
"phone": "+49 (30) 2084 98350"
},
"payments": [
{
"dummyPaymentInvoice": {
"dateOfBirth": "08.04.1986"
},
"paymentMethodName": "Invoice",
"paymentProviderName": "DummyPayment"
}
],
"shipments": [
{
"items": [
"078_24602396"
],
"shippingAddress": {
"id": null,
"salutation": "Mr",
"firstName": "Spencor",
"lastName": "Hopkin",
"address1": "Julie-Wolfthorn-Straße",
"address2": "1",
"address3": "new one",
"zipCode": "10115",
"city": "Berlin",
"iso2Code": "DE",
"company": "spryker",
"phone": "+49 (30) 2084 98350"
},
"idShipmentMethod": 1,
"requestedDeliveryDate": "2021-09-29"
},
{
"items": [
"066_23294028"
],
"shippingAddress": {
"id": null,
"salutation": "Mrs",
"firstName": "Sonia",
"lastName": "Wagner",
"address1": "Julie-Wolfthorn-Straße",
"address2": "26",
"address3": "new one",
"zipCode": "10115",
"city": "Berlin",
"iso2Code": "DE",
"company": "spryker",
"phone": "+49 (30) 2084 98350"
},
"idShipmentMethod": 2,
"requestedDeliveryDate": null
}
]
}
}
}
ATTRIBUTE | TYPE | REQUIRED | DESCRIPTION |
---|---|---|---|
billingAddress | Object | Customer’s billing address. | |
billingAddress.id | String | . | A hyphenated alphanumeric value of an existing customer address. To get it, include the addresses resource in your request or add a customer address. If you pass this value for a billing or shipping address, do not pass the other address attributes. |
billingAddress.salutation | String | ✓ | Salutation to use when addressing the customer. |
billingAddress.email | String | ✓ | Customer’s email address. |
billingAddress.firstName | String | ✓ | Customer’s first name. |
billingAddress.lastName | String | ✓ | Customer’s last name. |
billingAddress.address1 | String | ✓ | The 1st line of the customer’s address. |
billingAddress.address2 | String | ✓ | The 2nd line of the customer’s address. |
billingAddress.address3 | String | The 3rd line of the customer’s address. | |
billingAddress.zipCode | String | ✓ | ZIP code. |
billingAddress.city | String | ✓ | Specifies the city. |
billingAddress.iso2Code | String | ✓ | Specifies an ISO 2 Country Code to use. |
billingAddress.company | String | Customer’s company. | |
billingAddress.phone | String | Customer’s phone number. | |
payments | Array | The payment methods used in this order. | |
shipments | Array | A list of shipments. | |
shipments.items | Array | ✓ | A list of items in a shipment. |
shipments.shippingAddress | Object | ✓ | Shipping address for the items in the shipment. |
shipments.shippingAddress.id | String | . | A hyphenated alphanumeric value of an existing customer address. To get it, include the addresses resource in your request or add a customer addresses. If you pass this value for a billing or shipping address, do not pass the other address attributes. |
shipments.shippingAddress.idCompanyBusinessUnitAddress | String | A hyphenated alphanumeric value of an existing company business unit address. To get it, include the company-business-unit-addresses resource in your request. Alternatively, retrieve a company business unit with the company-business-unit-addresses resource included. If you pass this value for a billing or shipping address, do not pass the other address attributes. |
|
shipments.shippingAddress.salutation | String | ✓ | Salutation to use when addressing the customer. |
shipments.shippingAddress.email | String | ✓ | Customer’s email address. |
shipments.shippingAddress.firstName | String | ✓ | Customer’s first name. |
shipments.shippingAddress.lastName | String | ✓ | Customer’s last name. |
shipments.shippingAddress.address1 | String | ✓ | The 1st line of the customer’s address. |
shipments.shippingAddress.address2 | String | ✓ | The 2nd line of the customer’s address. |
shipments.shippingAddress.address3 | String | The 3rd line of the customer’s address. | |
shipments.shippingAddress.zipCode | String | ✓ | ZIP code. |
shipments.shippingAddress.city | String | ✓ | Specifies the city. |
shipments.shippingAddress.iso2Code | String | ✓ | Specifies an ISO 2 Country Code to use. |
shipments.shippingAddress.company | String | Customer’s company. | |
shipments.shippingAddress.phone | String | Customer’s phone number. | |
shipments.shippingAddress.idShipmentMethod | Integer | ✓ | Unique identifier of a shipment method used for a shipment. |
shipments.shippingAddress.requestedDeliveryDate | Date | ✓ | Desired delivery date for a shipment. |
Response
Response sample: submit checkout data with a split shipment
{
"data": {
"type": "checkout-data",
"id": null,
"attributes": {
"addresses": [],
"paymentProviders": [],
"shipmentMethods": [],
"selectedShipmentMethods": [],
"selectedPaymentMethods": [
{
"paymentMethodName": "Invoice",
"paymentProviderName": "DummyPayment",
"requiredRequestData": [
"paymentMethod",
"paymentProvider"
]
}
]
},
"links": {
"self": "https://glue.mysprykershop.com/checkout-data?include=shipments"
},
"relationships": {
"shipments": {
"data": [
{
"type": "shipments",
"id": "c59584148dea4773f061ceaddeefae03"
},
{
"type": "shipments",
"id": "abc6af81d38661048b561871623196d5"
}
]
}
}
},
"included": [
{
"type": "shipments",
"id": "c59584148dea4773f061ceaddeefae03",
"attributes": {
"items": [
"078_24602396"
],
"requestedDeliveryDate": "2021-09-29",
"shippingAddress": {
"id": null,
"salutation": "Mr",
"firstName": "Spencor",
"lastName": "Hopkin",
"address1": "Julie-Wolfthorn-Strasse",
"address2": "1",
"address3": "new one",
"zipCode": "10115",
"city": "Berlin",
"country": null,
"iso2Code": "DE",
"company": "spryker",
"phone": "+49 (30) 2084 98350",
"isDefaultBilling": null,
"isDefaultShipping": null,
"idCompanyBusinessUnitAddress": null
},
"selectedShipmentMethod": {
"id": 1,
"name": "Standard",
"carrierName": "Spryker Dummy Shipment",
"price": 490,
"taxRate": "19.00",
"deliveryTime": null,
"currencyIsoCode": "EUR"
}
},
"links": {
"self": "https://glue.mysprykershop.com/shipments/c59584148dea4773f061ceaddeefae03"
}
},
{
"type": "shipments",
"id": "abc6af81d38661048b561871623196d5",
"attributes": {
"items": [
"066_23294028"
],
"requestedDeliveryDate": null,
"shippingAddress": {
"id": null,
"salutation": "Mrs",
"firstName": "Sonia",
"lastName": "Wagner",
"address1": "Julie-Wolfthorn-Straße",
"address2": "26",
"address3": "new one",
"zipCode": "10115",
"city": "Berlin",
"country": null,
"iso2Code": "DE",
"company": "spryker",
"phone": "+49 (30) 2084 98350",
"isDefaultBilling": null,
"isDefaultShipping": null,
"idCompanyBusinessUnitAddress": null
},
"selectedShipmentMethod": {
"id": 2,
"name": "Express",
"carrierName": "Spryker Dummy Shipment",
"price": 590,
"taxRate": "19.00",
"deliveryTime": null,
"currencyIsoCode": "EUR"
}
},
"links": {
"self": "https://glue.mysprykershop.com/shipments/abc6af81d38661048b561871623196d5"
}
}
]
}
Response sample: submit checkout data with a split shipment, shipments, and shipment methods
{
"data": {
"type": "checkout-data",
"id": null,
"attributes": {
"addresses": [],
"paymentProviders": [],
"shipmentMethods": [],
"selectedShipmentMethods": [],
"selectedPaymentMethods": [
{
"paymentMethodName": "Invoice",
"paymentProviderName": "DummyPayment",
"requiredRequestData": [
"paymentMethod",
"paymentProvider"
]
}
]
},
"links": {
"self": "https://glue.mysprykershop.com/checkout-data?include=shipments,shipment-methods"
},
"relationships": {
"shipments": {
"data": [
{
"type": "shipments",
"id": "c59584148dea4773f061ceaddeefae03"
},
{
"type": "shipments",
"id": "abc6af81d38661048b561871623196d5"
}
]
}
}
},
"included": [
{
"type": "shipment-methods",
"id": "1",
"attributes": {
"name": "Standard",
"carrierName": "Spryker Dummy Shipment",
"deliveryTime": null,
"price": 490,
"currencyIsoCode": "EUR"
},
"links": {
"self": "https://glue.mysprykershop.com/shipment-methods/1"
}
},
{
"type": "shipment-methods",
"id": "2",
"attributes": {
"name": "Express",
"carrierName": "Spryker Dummy Shipment",
"deliveryTime": null,
"price": 590,
"currencyIsoCode": "EUR"
},
"links": {
"self": "https://glue.mysprykershop.com/shipment-methods/2"
}
},
{
"type": "shipment-methods",
"id": "3",
"attributes": {
"name": "Air Standard",
"carrierName": "Spryker Drone Shipment",
"deliveryTime": null,
"price": 500,
"currencyIsoCode": "EUR"
},
"links": {
"self": "https://glue.mysprykershop.com/shipment-methods/3"
}
},
{
"type": "shipment-methods",
"id": "4",
"attributes": {
"name": "Air Sonic",
"carrierName": "Spryker Drone Shipment",
"deliveryTime": null,
"price": 1000,
"currencyIsoCode": "EUR"
},
"links": {
"self": "https://glue.mysprykershop.com/shipment-methods/4"
}
},
{
"type": "shipment-methods",
"id": "5",
"attributes": {
"name": "Air Light",
"carrierName": "Spryker Drone Shipment",
"deliveryTime": null,
"price": 1500,
"currencyIsoCode": "EUR"
},
"links": {
"self": "https://glue.mysprykershop.com/shipment-methods/5"
}
},
{
"type": "shipments",
"id": "c59584148dea4773f061ceaddeefae03",
"attributes": {
"items": [
"078_24602396"
],
"requestedDeliveryDate": "2021-09-29",
"shippingAddress": {
"id": null,
"salutation": "Mr",
"firstName": "Spencor",
"lastName": "Hopkin",
"address1": "Julie-Wolfthorn-Straße",
"address2": "1",
"address3": "new one",
"zipCode": "10115",
"city": "Berlin",
"country": null,
"iso2Code": "DE",
"company": "spryker",
"phone": "+49 (30) 2084 98350",
"isDefaultBilling": null,
"isDefaultShipping": null,
"idCompanyBusinessUnitAddress": null
},
"selectedShipmentMethod": {
"id": 1,
"name": "Standard",
"carrierName": "Spryker Dummy Shipment",
"price": 490,
"taxRate": "19.00",
"deliveryTime": null,
"currencyIsoCode": "EUR"
}
},
"links": {
"self": "https://glue.mysprykershop.com/shipments/c59584148dea4773f061ceaddeefae03"
},
"relationships": {
"shipment-methods": {
"data": [
{
"type": "shipment-methods",
"id": "1"
},
{
"type": "shipment-methods",
"id": "2"
},
{
"type": "shipment-methods",
"id": "3"
},
{
"type": "shipment-methods",
"id": "4"
},
{
"type": "shipment-methods",
"id": "5"
}
]
}
}
},
{
"type": "shipments",
"id": "abc6af81d38661048b561871623196d5",
"attributes": {
"items": [
"066_23294028"
],
"requestedDeliveryDate": null,
"shippingAddress": {
"id": null,
"salutation": "Mrs",
"firstName": "Sonia",
"lastName": "Wagner",
"address1": "Julie-Wolfthorn-Straße",
"address2": "26",
"address3": "new one",
"zipCode": "10115",
"city": "Berlin",
"country": null,
"iso2Code": "DE",
"company": "spryker",
"phone": "+49 (30) 2084 98350",
"isDefaultBilling": null,
"isDefaultShipping": null,
"idCompanyBusinessUnitAddress": null
},
"selectedShipmentMethod": {
"id": 2,
"name": "Express",
"carrierName": "Spryker Dummy Shipment",
"price": 590,
"taxRate": "19.00",
"deliveryTime": null,
"currencyIsoCode": "EUR"
}
},
"links": {
"self": "https://glue.mysprykershop.com/shipments/abc6af81d38661048b561871623196d5"
},
"relationships": {
"shipment-methods": {
"data": [
{
"type": "shipment-methods",
"id": "1"
},
{
"type": "shipment-methods",
"id": "2"
},
{
"type": "shipment-methods",
"id": "3"
},
{
"type": "shipment-methods",
"id": "4"
},
{
"type": "shipment-methods",
"id": "5"
}
]
}
}
}
]
}
RESOURCE | ATTRIBUTE | TYPE | DESCRIPTION |
---|---|---|---|
checkout-data | addresses | Array | A list of customer addresses that can be used for billing or shipping. This attribute is deprecated. To retrieve all available addresses, include the addresses resource in your request. |
checkout-data | paymentProviders | Array | Payment providers that can be used for the checkout. This attribute is deprecated. To retrieve all the available payment methods, include the payment-methods resource in your request. |
checkout-data | shipmentMethods | Array | A list of available shipment methods. This attribute is deprecated. To retrieve all the available shipment methods, include the shipment-methods resource in your request. |
checkout-data | selectedShipmentMethods | Array | Shipment methods selected for the order. |
checkout-data | selectedPaymentMethods | Array | Payment methods selected for this order. |
checkout-data | selectedPaymentMethods.paymentMethodName | String | Payment method name. |
checkout-data | selectedPaymentMethods.paymentProviderName | String | Name of the payment provider for this payment method. |
checkout-data | selectedPaymentMethods.priority | String | Defines the order of returned payment methods in ascending order. |
checkout-data | selectedPaymentMethods.requiredRequestData | Array | A list of attributes required by the given method to effectuate a purchase. The actual list depends on the specific provider. |
RESOURCE | ATTRIBUTE | TYPE | DESCRIPTION |
---|---|---|---|
shipment-methods | name | String | The name of the shipment method. |
shipment-methods | id | String | The unique identifier of the shipment method. |
shipment-methods | name | String | The name of the shipment method. |
shipment-methods | carrierName | String | The name of the carrier. |
shipment-methods | deliveryTime | Integer | The estimated delivery time. |
shipment-methods | defaultGrossPrice | Integer | Default gross price, in cents. |
shipment-methods | defaultNetPrice | Integer | Default net price, in cents. |
shipment-methods | currencyIsoCode | String | The ISO 4217 code of the currency in which the prices are specified. |
| shipments | Items | Array | A list of items in the shipment. | | shipments | requestedDeliveryDate | Date | The desired delivery date. | | shipments | shippingAddress | Object | The address to which this shipment will be delivered. | | shipments | shippingAddress.id | String | The unique identifier of a customer address. | | shipments | shippingAddress.salutation | String | The salutation to use when addressing the customer. | | shipments | shippingAddress.firstName | String | The customer’s first name. | | shipments | shippingAddress.lastName | String | The customer’s last name. | | shipments | shippingAddress.address1 | String | The 1st line of the customer’s address. | | shipments | shippingAddress.address2 | String | The 2nd line of the customer’s address. | | shipments | shippingAddress.address3 | String | The 3rd line of the customer’s address. | | shipments | shippingAddress.zipCode | String | The ZIP code. | | shipments | shippingAddress.city | String | The name of the city. | | shipments | shippingAddress.country | String | The name of the country. | | shipments | shippingAddress.iso2Code | String | Specifies an ISO 2 Country Code to use. | | shipments | shippingAddress.company | String | Specifies the customer’s company. | | shipments | shippingAddress.phone | String | Specifies the customer’s phone number. | | shipments | shippingAddress.isDefaultShipping | Boolean | If true, it is the default shipping address of the customer. | | shipments | shippingAddress.isDefaultBilling | Boolean | If true, it is the default billing address of the customer. | | shipments | shippingAddress.idCompanyBusinessUnitAddress | String | The unique identifier of a business unit address used for this shipment. | | shipments | selectedShipmentMethod | Object | Describes the shipment method for the shipment. | | shipments | selectedShipmentMethod.id | String | The unique identifier of the shipment method. | | shipments | selectedShipmentMethod.name | String | The name of the shipment method. | | shipments | selectedShipmentMethod.carrierName | String | The name of the shipment method provider. | | shipments | selectedShipmentMethod.price | String | The price of the shipment method. | | shipments | selectedShipmentMethod.taxRate | String | The tax rate for this shipment method. | | shipments | selectedShipmentMethod.deliveryTime | String | The estimated delivery time provided by the shipment method provider. | | shipments | selectedShipmentMethod.currencyIsoCode | String | The ISO 4217 code of the currency in which the price is specified. |
Possible errors
CODE | REASON |
---|---|
400 | Bad request. This error can occur because of the following reasons:
|
422 | The checkout data is incorrect. |
1101 | Checkout data is invalid. |
1102 | Order cannot be placed. |
1103 | Cart not found. |
1104 | Cart is empty. |
1105 | One of Authorization or X-Anonymous-Customer-Unique-Id headers is required. |
1106 | Unable to delete cart. |
1107 | Multiple payments are not allowed. |
1108 | Payment method “%s” of payment provider “%s” is invalid. |
Next steps
Thank you!
For submitting the form