My Shopping Cart Resource
Introduction
The my shopping cart resource provides an interface to create and fill a shopping cart. After creating and filling the shopping cart via the API, the checkout may then be performed on the storefront of the customer. For access to the shopping cart you have to create a session token.
Add item to cart
To add items to the cart, you have to post it the /items sub resource. You can post directly to the sub resource without creating a previous shopping cart:
The url for creating items is https://api.openpublishing.com/resource/v3/my_shopping_cart/items. It accepts the following HTTP methods:
POSTCreate new item.
When posting an item, only the fields EAN and quantity are writeable. All other fields are calculated in the backend.
{
"ean": "9781234567890",
"quantity": 2
}
Retrieve my open cart of session
Url: https://api.openpublishing.com/resource/v3/my_shopping_cart
Available HTTP methods:
- GET to obtain current shopping cart of session. A shopping cart will be created implicitely.
- PUT modify shopping cart. It will be implicitely created if not present.
DELETE: Delete shopping cart.
{
"_id": 1,
"_links": {
"items": "https://api.openpublishing.com/resource/v3/my_shopping_cart/items",
"self": "https://api.openpublishing.com/resource/v3/my_shopping_cart",
"total": "https://api.openpublishing.com/resource/v3/my_shopping_cart/total",
"checkout": "https://api.openpublishing.com/resource/v3/my_shopping_cart/checkout"
},
"billing_address": {
"additional_information": "2. Stock",
"city": "München",
"company": "Open Publishing GmbH",
"country": "DE",
"email": "test@example.com",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+49 89 1234567890",
"state": null,
"street": "Trappentreustraße 1",
"zip": "80339"
},
"created": "2021-03-01 14:00:00",
"realm": {
"_id": 23,
"name": "testpublisher",
"screenname": "Test Publisher"
},
"shipping_address": {
"additional_information": "Rückgebäude",
"company": null,
"city": "München",
"country": "DE",
"first_name": "John",
"last_name": "Doe",
"phone_number": null,
"state": null,
"street": "Marktplatz 12",
"zip": "81479"
}
}
Items of the cart
Url: https://api.openpublishing.com/resource/v3/my_shoppingcart/items
Available HTTP methods: GET to obtain list of all items of shopping cart.
{
"_links": {
"self": "https://api.openpublishing.com/resource/v3/my_shopping_carts/items"
},
"items": [
{
"_links": {
"self": "https://api.openpublishing.com/resource/v3/my_shopping_carts/items/42",
},
"_id": "1469",
"cover_url": "https://cdn.julius.dev.openpublishing.com/images/cover/brand/e-book/1/1387_thumb.jpg",
"ean": "9781234567890",
"format": "book",
"quantity": 10,
"title": "Example publication",
"total_gross": 19990,
"total_gross_currency": "EUR",
"total_net": 18682,
"total_net_currency": "EUR",
"total_vat": 1308,
"total_vat_currency": "EUR",
"unit_price_gross": 131,
"unit_price_gross_currency": "EUR",
"unit_price_net": 1868,
"unit_price_net_currency": "EUR",
"unit_vat": 131,
"unit_vat_currency": "EUR",
"vat_percentage": 7.0
}
]
}
The URL for a single item is https://api.openpublishing.com/resource/v3/my_shopping_carts/items/42. It accepts the following HTTP Methods:
GETGet single itemPUTModify item.DELETEDelete item from shopping cart.
Cover URL
The URL specified within cover_url points to a cover thumbnail.
EAN
EAN is the EAN of the added product.
Title
title is the title of the added product.
Format
format of the added item. Values can be book or ebook.
Quantity
quantity is the quantity of added items.
Single unit price gross net and VAT.
unit_price_net, unit_price_net_currency specifies thet net price per unit.
unit_vat and unit_vat_currency the VAT per unit.
unit_price_gross and unit_price_gross_currency the gross price of per unit.
The currencies are reported with ISO 4217 currency codes.
Total price gross net and VAT.
total_net, total_net_currency specifies thet net price for all units.
total_vat and total_vat_currency the VAT for all units.
total_gross and total_gross_currency the gross price for all units.
The currencies are reported with ISO 4217 currency codes.
Vat percentage
vat_percentage is the factor for VAT calculation in percent.
Checkout
After all items have been added to the cart, the user needs to be redirected to the checkout process.
URL https://api.openpublishing.com/resource/v3/my_shopping_cart/checkout. It accepts the following HTTP methods:
GETRetrieve the URL for the checkout.
{
"_links": {
"self": "https://api.openpublishing.com/resource/v3/my_shopping_carts/checkout",
},
"checkout_url": "https://testpublisher.openpublishing.com/shoppingcart?checkout_token=XXX",
"checkout_url_addresses": "https://testpublisher.openpublishing.com/shoppingcart?redirect=addresses&checkout_token=XXX",
"valid_until": 1623140624
}
checkout_url is the URL for proceeding with the checkout.
checkout_url_addresses is the URL for directly proceeding with invoice address / shipping address.
valid_until is the UNIX timestamp when the checkout_token expires.