Skip to main content

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 pathHTTP methodMax requests per time unit
/v1/availability/quantitiesPOST10 per second
/v1/availability/quantitiesGET10 per second
/v1/availability/quantities/{sku}GET10 per second
/v1/availability/product-delivery-informationPOST10 per second
/v1/availability/product-delivery-informationGET10 per second
/v1/availability/product-delivery-information/{sku}GET10 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