Availability
The Availability API allows the assignment of shipping profiles at the SKU level as well as updating the available quantities per SKU. The Quantities-V2 API will be integrated into the Availability-V1 API at the end of March and the entire quantities will be managed through it afterward.
Partner endpoints for available quantities and linking shipping profiles
SKUs can be linked to a shipping profile using this API. Information about the mapping of SKUs to shipping profiles can be retrieved as well. Moreover, this endpoint enables the adjustment of processing times for individual SKUs or multiple SKUs simultaneously, providing flexible and efficient management of product availability. Additionally, this API allows partners and service partners to update the available quantity for a specific SKU (up to 200 SKUs per request). The available quantity can be any integer value >= 0.
Common use cases
Update the available quantity for specific SKUs
The available quantity can be updated per SKU at any time using this REST call.
POST /v1/availability/quantities
Retrieve the available quantity for all SKUs
Fetch the quantities of all SKUs. The result will have 200 SKUs max. The rest of skus are paginated. See the pagination section for more information.
GET /v1/availability/quantities
Retrieve the available quantity for a specific SKU
Fetch the quantity of a single SKU.
GET /v1/availability/quantities/{sku}
Update product delivery information for specific SKUs
SKUs can be assigned to shipping profiles together with the processingTime. By assigning a SKU to a shipping profile the SKU gets the logistical information from the profile which is needed to be orderable on otto.de. To assign SKUs to shipping profiles this REST call can be used.
POST /v1/availability/product-delivery-information
Retrieve product delivery information of all SKUs
Fetch the respective shipping profile and processingTime (product delivery information) for all SKUs.
GET /v1/availability/product-delivery-information
Retrieve product delivery information for a specific SKU
Fetch the respective shipping profile and processingTime (product delivery information) for a single SKU.
GET /v1/availability/product-delivery-information/{sku}
Rate Limiting
Endpoint path | HTTP method | Max requests per time unit |
---|---|---|
/v1/availability/quantities | POST | 10 per second |
/v1/availability/quantities | GET | 10 per second |
/v1/availability/quantities/{sku} | GET | 10 per second |
/v1/availability/product-delivery-information | POST | 10 per second |
/v1/availability/product-delivery-information | GET | 10 per second |
/v1/availability/product-delivery-information/{sku} | GET | 10 per second |
Pagination
Pagination is used to limit the number of available quantities or product delivery information returned in a single response.
By default, the response is paginated with a page size of 200. To navigate through the pages, use the cursor
parameter in the query string.
{
"resources": {
...
},
"links": [
{
"rel": "next",
"href": "/v1/availability/quantities?cursor=YmExMjU4MGMtZGJhNS00NTY5LWI4NWMtN2RmNmJmMmU2Mzc1sWkpQYnA="
}
]
}
To fetch the next set of products, use the cursor
value from the links
object in the response:
GET /v1/availability/quantities?cursor=YmExMjU4MGMtZGJhNS00NTY5LWI4NWMtN2RmNmJmMmU2Mzc1sWkpQYnA=
Same applies for the product delivery information to the POST Endpoint /v1/availability/product-delivery-information.
GET /v1/availability/product-delivery-information?cursor=YmExMjU4MGMtZGJhNS00NTY5LWI4NWMtN2RmNmJmMmU2Mzc1sWkpQYnA=
We always recommend using the cursor
parameter for pagination. If there are more products to be fetched, the response will include a links
object with a href
field containing the URL for the next page.
Glossary
- sku - Stock Keeping Unit given by partner configuration. e.g. 'shirt-red-M', external identifier of an article variation.
- quantity - The available quantity of a specific SKU, which can be any integer value>= 0.
- processingTime - The processingTime of a specific SKU which can be any value between 1 and 99 or 'DEFAULT'. When it is set to DEFAULT the defaultProcessingTime provided in the respective shipping profile will be considered. Otherwise the specific value between 1 and 99 is used and the defaultProcessingTime of the respective shipping profile is not considered and is not reset even if the shipping profile is updated. It describes the time the partner needs to prepare the order for a shipment.
- shippingProfileId - The shipping profile id is provided in the ShippingProfiles-API and is the PrimaryKey which is used to map a specific Profile to a SKU