Glue API: Retrieve shipments when checking out purchases

Edit on GitHub

This document describes how to retrieve order shipments when checking out through the Glue API. For full information about the endpoint, see Check out purchases

This endpoint allows finalizing the checkout process by placing an order. After sending a request, the cart is deleted, and you cannot make any changes in the checkout data. Use this endpoint for checkouts that can be performed in one pass or for finalizing a checkout after Submit checkout data.

Installation

For detailed information on the modules that provide the API functionality and related installation instructions, see:

Place an order

To place an order, send the request:


POST /checkout


Request

Cart deletion

By default, if checkout is successful, the order is placed, and the cart is deleted automatically.

HEADER KEY HEADER VALUE REQUIRED DESCRIPTION
X-Anonymous-Customer-Unique-Id String Required when checking out 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 checking out a cart of registered user. 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. orders, order-shipments
Included resources

To retrieve order shipments, include orders and order-shipments.

Request sample: check out with one shipment, order information, and shipment information

POST https://glue.mysprykershop.com/checkout?include=orders,order-shipments

{
    "data": {
        "type": "checkout",
        "attributes": {
            "customer": {
            "salutation": "Mr",
            "email": "sonia@spryker.com",
            "firstName": "Sonia",
            "lastName": "Wagner"
            },
            "idCart": "fe660d66-b7ec-5d88-8cd2-1a9a004c90b5",
            "billingAddress": {
                "salutation": "Mr",
                "firstName": "Spencor",
                "lastName": "Hopkin",
                "address1": "Julie-Wolfthorn-Strasse",
                "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": [
                        "066_23294028"
                    ],
                    "shippingAddress": {
                        "salutation": "Mrs",
                        "firstName": "Sonia",
                        "lastName": "Wagner",
                        "address1": "Julie-Wolfthorn-Strasse",
                        "address2": "1",
                        "address3": "new one",
                        "zipCode": "10115",
                        "city": "Berlin",
                        "iso2Code": "DE",
                        "company": "spryker",
                        "phone": "+49 (30) 2084 98350"
                    },
                    "idShipmentMethod": 2,
                    "requestedDeliveryDate": "2021-09-29"
                }
            ]
        }
    }
}
ATTRIBUTE TYPE REQUIRED DESCRIPTION
customer Object A list of attributes describing the customer to submit checkout data of.
customer.salutation String Salutation to use when addressing the customer.
customer.email String Customer’s email address.
customer.firstName String Customer’s first name.
customer.lastName String Customer’s last name.
idCart String Unique identifier of the customer’s cart to check out.
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 retrieve a customer’s addresses. 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 A list of payment methods selected for this order.
payments.paymentMethodName String Name of the payment method for this order.
payments.paymentProviderName String Name of the payment provider for this order.
shipment Object A list of attributes describing the shipping method selected for this order.
shipment.items object A list of items that are to be delivered to the shipping address defined in this shipment.
shipment.shippingAddress Object Customer’s shipping address for this shipment.
shipment.shippingAddress.id String A hyphenated alphanumeric value of an existing customer address. To get it, include the addresses resource in your request or retrieve a customer’s addresses. If you pass this value for a billing or shipping address, do not pass the other address attributes.
shipment.shippingAddress.idCompanyBusinessUnitAddress String A hyphenated alphanumeric value of an existing company business unit address. To get it, 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.
shipment.shippingAddress.salutation String Salutation to use when addressing the customer.
shipment.shippingAddress.email String Customer’s email address.
shipment.shippingAddress.firstName String Customer’s first name.
shipment.shippingAddress.lastName String Customer’s last name.
shipment.shippingAddress.address1 String The 1st line of the customer’s address.
shipment.shippingAddress.address2 String The 2nd line of the customer’s address.
shipment.shippingAddress.address3 String The 3rd line of the customer’s address.
shipment.shippingAddress.zipCode String ZIP code.
shipment.shippingAddress.city String Specifies the city.
shipment.shippingAddress.iso2Code String Specifies an ISO 2 Country Code to use.
shipment.shippingAddress.company String Customer’s company.
shipment.shippingAddress.phone String Customer’s phone number.
shipment.shippingAddress.idShipmentMethod String Unique identifier of the shipment method for this order or shipment.
shipment.shippingAddress.idShipmentMethod String Unique identifier of the shipment method for this shipment.
shipment.shippingAddress.requestedDeliveryDate Date The delivery date for this shipment requested by the customer.
Purchasing a gift card

To prevent fraud, the invoice payment method is not accepted if a cart contains a gift card.

Response

Response sample: check out with a split shipment, order information, and shipment information
{
    "data": {
        "type": "checkout",
        "id": null,
        "attributes": {
            "orderReference": "DE--10",
            "redirectUrl": null,
            "isExternalRedirect": null
        },
        "links": {
            "self": "https://glue.mysprykershop.com/checkout?include=orders,order-shipments"
        },
        "relationships": {
            "orders": {
                "data": [
                    {
                        "type": "orders",
                        "id": "DE--10"
                    }
                ]
            }
        }
    },
    "included": [
        {
            "type": "order-shipments",
            "id": "18",
            "attributes": {
                "itemUuids": [
                    "34d4ea2b-7327-5fe3-843f-ca7e27fa1e81"
                ],
                "methodName": "Express",
                "carrierName": "Spryker Dummy Shipment",
                "requestedDeliveryDate": "2021-09-29",
                "shippingAddress": {
                    "salutation": "Mrs",
                    "firstName": "Sonia",
                    "middleName": null,
                    "lastName": "Wagner",
                    "address1": "Julie-Wolfthorn-Strasse",
                    "address2": "1",
                    "address3": "new one",
                    "company": "spryker",
                    "city": "Berlin",
                    "zipCode": "10115",
                    "poBox": null,
                    "phone": "+49 (30) 2084 98350",
                    "cellPhone": null,
                    "description": null,
                    "comment": null,
                    "email": null,
                    "country": "Germany",
                    "iso2Code": "DE"
                }
            },
            "links": {
                "self": "https://glue.mysprykershop.com/order-shipments/18"
            }
        },
        {
            "type": "orders",
            "id": "DE--10",
            "attributes": {
                "merchantReferences": [],
                "itemStates": [
                    "payment pending"
                ],
                "createdAt": "2021-01-18 13:07:24.000000",
                "currencyIsoCode": "EUR",
                "priceMode": "GROSS_MODE",
                "totals": {
                    "expenseTotal": 590,
                    "discountTotal": 0,
                    "taxTotal": 6377,
                    "subtotal": 39353,
                    "grandTotal": 39943,
                    "canceledTotal": 0,
                    "remunerationTotal": 0
                },
                "billingAddress": {
                    "salutation": "Mr",
                    "firstName": "Sonia",
                    "middleName": null,
                    "lastName": "Wagner",
                    "address1": "Julie-Wolfthorn-Strasse",
                    "address2": "1",
                    "address3": "new address",
                    "company": "spryker",
                    "city": "Berlin",
                    "zipCode": "10115",
                    "poBox": null,
                    "phone": "+49 (30) 2084 98350",
                    "cellPhone": null,
                    "description": null,
                    "comment": null,
                    "email": null,
                    "country": "Germany",
                    "iso2Code": "DE"
                },
                "shippingAddress": null,
                "items": [
                    {
                        "merchantReference": null,
                        "state": "payment pending",
                        "name": "Samsung Galaxy S5 mini",
                        "sku": "066_23294028",
                        "sumPrice": 39353,
                        "quantity": 1,
                        "unitGrossPrice": 39353,
                        "sumGrossPrice": 39353,
                        "taxRate": "19.00",
                        "unitNetPrice": 0,
                        "sumNetPrice": 0,
                        "unitPrice": 39353,
                        "unitTaxAmountFullAggregation": 6283,
                        "sumTaxAmountFullAggregation": 6283,
                        "refundableAmount": 39353,
                        "canceledAmount": 0,
                        "sumSubtotalAggregation": 39353,
                        "unitSubtotalAggregation": 39353,
                        "unitProductOptionPriceAggregation": 0,
                        "sumProductOptionPriceAggregation": 0,
                        "unitExpensePriceAggregation": 0,
                        "sumExpensePriceAggregation": null,
                        "unitDiscountAmountAggregation": 0,
                        "sumDiscountAmountAggregation": 0,
                        "unitDiscountAmountFullAggregation": 0,
                        "sumDiscountAmountFullAggregation": 0,
                        "unitPriceToPayAggregation": 39353,
                        "sumPriceToPayAggregation": 39353,
                        "taxRateAverageAggregation": "19.00",
                        "taxAmountAfterCancellation": null,
                        "orderReference": null,
                        "uuid": "34d4ea2b-7327-5fe3-843f-ca7e27fa1e81",
                        "isReturnable": false,
                        "idShipment": 18,
                        "bundleItemIdentifier": null,
                        "relatedBundleItemIdentifier": null,
                        "salesOrderConfiguredBundle": null,
                        "salesOrderConfiguredBundleItem": null,
                        "metadata": {
                            "superAttributes": {
                                "color": "Blue"
                            },
                            "image": "https://images.icecat.biz/img/gallery_mediums/23294028_3275.jpg"
                        },
                        "salesUnit": null,
                        "calculatedDiscounts": [],
                        "productOptions": [],
                        "amount": null
                    }
                ],
                "expenses": [
                    {
                        "type": "SHIPMENT_EXPENSE_TYPE",
                        "name": "Express",
                        "sumPrice": 590,
                        "unitGrossPrice": 590,
                        "sumGrossPrice": 590,
                        "taxRate": "19.00",
                        "unitNetPrice": 0,
                        "sumNetPrice": 0,
                        "canceledAmount": null,
                        "unitDiscountAmountAggregation": null,
                        "sumDiscountAmountAggregation": null,
                        "unitTaxAmount": 94,
                        "sumTaxAmount": 94,
                        "unitPriceToPayAggregation": 590,
                        "sumPriceToPayAggregation": 590,
                        "taxAmountAfterCancellation": null,
                        "idShipment": 18,
                        "idSalesExpense": 18
                    }
                ],
                "payments": [
                    {
                        "amount": 39943,
                        "paymentProvider": "DummyPayment",
                        "paymentMethod": "Invoice"
                    }
                ],
                "shipments": [
                    {
                        "shipmentMethodName": "Express",
                        "carrierName": "Spryker Dummy Shipment",
                        "deliveryTime": null,
                        "defaultGrossPrice": 590,
                        "defaultNetPrice": 0,
                        "currencyIsoCode": "EUR"
                    }
                ],
                "calculatedDiscounts": [],
                "bundleItems": []
            },
            "links": {
                "self": "https://glue.mysprykershop.com/orders/DE--10"
            },
            "relationships": {
                "order-shipments": {
                    "data": [
                        {
                            "type": "order-shipments",
                            "id": "18"
                        }
                    ]
                }
            }
        }
    ]
}
ATTRIBUTE TYPE DESCRIPTION
orderReference String The unique identifier of the order.
redirectUrl String The URL to perform the payment verification requested by the selected payment method. After completing verification, ensure to update payment data. If the value is null or empty, no additional verification is required.
isExternalRedirect Boolean If true, the customer is redirected to an external URL.
RESOURCE ATTRIBUTE TYPE DESCRIPTION
order-shipments itemUuids String
order-shipments methodName String
order-shipments carrierName String
order-shipments requestedDeliveryDate Date
order-shipments shippingAddress Object
order-shipments shippingAddress.salutation String
order-shipments shippingAddress.firstName String
order-shipments shippingAddress.middleName String Customer’s middle name.
order-shipments shippingAddress.lastName String Customer’s last name.
order-shipments shippingAddress.address1 String The 1st line of the customer’s address.
order-shipments shippingAddress.address2 String The 2nd line of the customer’s address.
order-shipments shippingAddress.address3 String The 3rd line of the customer’s address.
order-shipments shippingAddress.company String Specifies the customer’s company.
order-shipments shippingAddress.city String Specifies the city.
order-shipments shippingAddress.zipCode String ZIP code.
order-shipments shippingAddress.poBox String PO Box to use for communication.
order-shipments shippingAddress.phone String Specifies the customer’s phone number.
order-shipments shippingAddress.cellPhone String Mobile phone number.
order-shipments shippingAddress.description String Address description.
order-shipments shippingAddress.comment String Address comment.
order-shipments shippingAddress.email String Email address to use for communication.
order-shipments shippingAddress.country String Specifies the country.
order-shipments shippingAddress.iso2Code String ISO 2-Letter Country Code to use.

General order information

RESOURCE ATTRIBUTE TYPE DESCRIPTION
itemStates Array Statuses of the order’s items in the state machine.
createdAt String Date and time when the order was created.
currencyIsoCode String ISO 4217 code of the currency that was selected when placing the order.
priceMode String Price mode that was active when placing the order. Possible values:
  • NET_MODE—prices before tax.
  • GROSS_MODE—prices after tax.

Totals calculations

RESOURCE Attribute Type Description
totals Object Totals calculations.
totals.expenseTotal Integer Total amount of expenses (e.g. shipping costs).
totals.discountTotal Integer Total amount of discounts applied.
totals.taxTotal Integer Total amount of taxes paid.
totals.subtotal Integer Subtotal of the order.
totals.grandTotal Integer Grand total of the order
totals.canceledTotal Integer Total canceled amount.
totals.remunerationTotal Integer Total sum of remuneration.

Billing and shipping addresses

RESOURCE Attribute Type Description
billingAddress object List of attributes describing the billing address of the order.
billingAddress.salutation String Salutation to use when addressing the customer.
billingAddress.firstName String Customer’s first name.
billingAddress.middleName String Customer’s middle name.
billingAddress.lastName String Customer’s last name.
billingAddress.address1 String 1st line of the customer’s address.
billingAddress.address2 String 2nd line of the customer’s address.
billingAddress.address3 String 3rd line of the customer’s address.
billingAddress.company String Specifies the customer’s company.
billingAddress.city String Specifies the city.
billingAddress.zipCode String ZIP code.
billingAddress.poBox String PO Box to use for communication.
billingAddress.phone String Specifies the customer’s phone number.
billingAddress.cellPhone String Mobile phone number.
billingAddress.description String Address description.
billingAddress.comment String Address comment.
billingAddress.email String Email address to use for communication.
billingAddress.country String Specifies the country.
billingAddress.iso2Code String ISO 2-Letter Country Code to use.
shippingAddress object Shipment address of the order. This value is returned only if you submit an order without split delivery. See Checking out purchases in version 202009.0 to learn how to do that.

Order item information

RESOURCE ATTRIBUTE TYPE DESCRIPTION
items array Items in the order.
items.state String Defines the state of the order in the state machine.
bundleItems Array Array of objects describing the concrete product bundles in the order.
bundleItems.bundleItemIdentifier Integer Defines the relation between the bundle and its items. The items of the bundle have the same value in the relatedBundleItemIdentifier attribute.
items.relatedBundleItemIdentifier Integer Defines the relation between the item and its bundle. The bundle to which this the item belongs has the same value in the bundleItemIdentifier attribute.
items.name String Product name.
items.sku String Product SKU.
items.sumPrice Integer Sum of all product prices.
items.quantity Integer Product quantity ordered.
items.unitGrossPrice Integer Single item gross price.
items.sumGrossPrice Integer Sum of items gross price.
items.taxRate Integer Current tax rate, in percent.
items.unitNetPrice Integer Single item net price.
items.sumNetPrice Integer Sum total of net prices for all items.
items.unitPrice Integer Single item price without assuming if it is new or gross. This price should be displayed everywhere when a product price is displayed. It allows switching tax mode without side effects.
items.unitTaxAmountFullAggregation Integer Total tax amount for a given item, with additions.
items.sumTaxAmountFullAggregation Integer Total tax amount for a given sum of items, with additions.
items.refundableAmount Integer Available refundable amount for an item (order only).
items.canceledAmount Integer Total canceled amount for this item (order only).
items.sumSubtotalAggregation Integer Sum of subtotals of the items.
items.unitSubtotalAggregation Integer Subtotal for the given item.
items.unitProductOptionPriceAggregation Integer Item total product option price.
items.sumProductOptionPriceAggregation Integer Item total of product options for the given sum of items.
items.unitExpensePriceAggregation Integer Item expense total for a given item.
items.sumExpensePriceAggregation Integer Total amount of expenses for the given items.
items.unitDiscountAmountAggregation Integer Item total discount amount.
items.sumDiscountAmountAggregation Integer Sum of Item total discount amounts.
items.unitDiscountAmountFullAggregation Integer Sum of item total discount amount.
items.sumDiscountAmountFullAggregation Integer Item total discount amount, with additions.
items.unitPriceToPayAggregation Integer Item total price to pay after discounts, with additions.
items.sumPriceToPayAggregation Integer Sum of all prices to pay (after discounts were applied).
items.taxRateAverageAggregation Integer Item tax rate average, with additions. This value is used when recalculating the tax amount after cancellation.
items.taxAmountAfterCancellation Integer Tax amount after cancellation, recalculated using tax average.
items.uuid String Unique identifier of the item in the order.
items.isReturnable Boolean Defines if the customer can return the item.
items.idShipment Integer Unique identifier of the shipment to which the item belongs. To retrieve all the shipments of the order, include the order-shipments resource into the request.
items.bundleItemIdentifier Integer Defines the relation between the bundle and its items. The items of the bundle have the same value in the relatedBundleItemIdentifier attribute.
items.relatedBundleItemIdentifier Integer Defines the relation between the item and its bundle. The bundle to which this the item belongs has the same value in the bundleItemIdentifier attribute.
items.salesOrderConfiguredBundle Object Contains information about the purhased configurable bundle.
items.idSalesOrderConfiguredBundle Integer Unique identifier of the purchased configured bundle.
items.idSalesOrderConfiguredBundle.configurableBundleTemplateUuid String Unique identifier of the configurable bundle template in the system.
items.idSalesOrderConfiguredBundle.name String Name of the configured bundle.
items.idSalesOrderConfiguredBundle.quantity Integer Quantity of the ordered configurable bundles.
items.salesOrderConfiguredBundleItem Object Contains information about the items of the configured bundle.
items.salesOrderConfiguredBundleItem.configurableBundleTemplateSlotUuid String Unique identifier of the configurable bundle slot in the system.
items.metadata object Metadata of the concrete product.
items.metadata.superAttributes String Attributes of the order item.
items.metadata.image String Product image URL.

Measurement unit calculations

| RESOURCE | ATTRIBUTE | TYPE | DESCRIPTION | | — | — | — | | salesUnit | Object | List of attributes defining the sales unit to be used for item amount calculation. | | conversion | integer | Factor to convert a value from sales to base unit. If it is “null”, the information is taken from the global conversions. | | precision | integer | Ratio between a sales unit and a base unit. | | measurementUnit | string | Code of the measurement unit. | | name | String | Name of the measurement unit. | | code | String | Code of the measurement unit. |

Calculated discounts for items

RESOURCE ATTRIBUTE TYPE DESCRIPTION
items.calculatedDiscounts Array List of attributes describing the discount calculated for this item.
items.calculatedDiscounts.unitAmount Integer Discount value applied to this order item.
items.calculatedDiscounts.sumAmount Integer Sum of the discount values applied to this order item.
items.calculatedDiscounts.displayName String Name of the discount applied.
items.calculatedDiscounts.description String Description of the discount.
items.calculatedDiscounts.voucherCode String Voucher code redeemed.
items.calculatedDiscounts.quantity String Number of discounts applied to the product.

Product options

RESOURCE ATTRIBUTE TYPE DESCRIPTION
items.productOptions Array List of product options ordered with this item.
items.productOptions.optionGroupName String Name of the group to which the product option belongs.
items.productOptions.sku String SKU of the product option.
items.productOptions.optionName String Name of the product option.
items.productOptions.price Integer Price of the product option.

Calculated discounts

RESOURCE ATTRIBUTE TYPE DESCRIPTION
calculatedDiscounts Array Discounts applied to this order item.
calculatedDiscounts.unitAmount Integer Amount of the discount provided by the given item for each unit of the product, in cents.
calculatedDiscounts.sumAmount Integer Total amount of the discount provided by the given item, in cents.
calculatedDiscounts.displayName String Display name of the given discount.
calculatedDiscounts.description String Description of the given discount.
calculatedDiscounts.voucherCode String Voucher code applied, if any.
calculatedDiscounts.quantity String Number of times the discount was applied.

Expenses

RESOURCE ATTRIBUTE TYPE DESCRIPTION
expenses array Additional expenses of the order.
expenses.type String Expense type.
expenses.name String Expense name.
expenses.sumPrice Integer Sum of expenses calculated.
expenses.unitGrossPrice Integer Single item’s gross price.
expenses.sumGrossPrice Integer Sum of items’ gross price.
expenses.taxRate Integer Current tax rate in percent.
expenses.unitNetPrice Integer Single item net price.
expenses.sumNetPrice Integer Sum of items’ net price.
expenses.canceledAmount Integer Total canceled amount for this item (order only).
expenses.unitDiscountAmountAggregationexpenses. Integer Item total discount amount.
expenses.sumDiscountAmountAggregation Integer Sum of items’ total discount amount.
expenses.unitTaxAmount Integer Tax amount for a single item, after discounts.
expenses.sumTaxAmount Integer Tax amount for a sum of items (order only).
expenses.unitPriceToPayAggregation Integer Item total price to pay after discounts with additions.
expenses.sumPriceToPayAggregation Integer Sum of items’ total price to pay after discounts with additions.
expenses.taxAmountAfterCancellation Integer Tax amount after cancellation, recalculated using tax average.
expenses.idShipment Integer Unique identifier of the shipment to which this expense belongs. To retrieve all the shipments of the order, include the order-shipments resource in the request.
expenses.idSalesExpense Integer Unique identifier of the expense.

Payments

RESOURCE ATTRIBUTE TYPE DESCRIPTION
payments Array A list of payments used in this order.
amount Integer Amount paid via the corresponding payment provider in cents.
paymentProvider String Name of the payment provider.
paymentMethod String Name of the payment method.

Shipments

RESOURCE ATTRIBUTE TYPE DESCRIPTION
shipments object Information about the shipments used in this order. This value is returned only if you submit an order without split delivery. To learn how to do that, see Check out purchases. To see all the attributes that are returned when retrieving orders without split delivery, see Retrieving orders. To retrieve shipment details, include the order-shipments resource in the request.

Possible errors

STATUS REASONS
400 Bad request. This error can occur because of the following reasons:
  • The POST data is incorrect;
  • Neither Authorization nor X-Anonymous-Customer-Unique-Id headers were provided in the request.
404 Order not found.
422 Order payment is not updated. 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.