Dash Replenishment Service
Amazon's Dash Replenishment Service (DRS) enables connected devices to order physical goods from Amazon when supplies are running low, like a printer that orders more ink.
By using Amazon Dash Replenishment, device makers are able to leverage Amazon's authentication and payment systems, customer service, and fulfillment network, giving their customers access to Amazon's low prices, great selection, and reliable delivery.
- Get Started
- Before you begin
- Get Started
If you have previously created a DRS-enabled device, you can jump straight to another section of our tutorial. If this is the first time, please continue reading "Before you begin" to understand all the components required to integrate DRS.
I: Implement DRS
Before you begin
The tutorial will help you familiarize with the DRS Self-Service portal, create a new DRS-connected device, integrate Login with Amazon to let customers access the consumable selection and finally, interact with the DRS APIs to manage auto-fulfillment and reorder items before the customers run out of supplies. This section contains important information that will help you understand how you can integrate DRS in your connected device and communicate with the Amazon API endpoints.
DRS high-level flow
A DRS-connected device requires a companion app or a web experience to communicate with the Amazon DRS endpoints and authenticate all requests through Login with Amazon.
- The customer will first use their Amazon account to select the products they want to replenish automatically.
- Your app or microsite will receive the authorization code to connect with the DRS endpoints.
- Your cloud will use this authorization to periodically send usage data to the DRS endpoint.
- When supplies are running low, you will be able to contact the DRS endpoint and place a new order.
- The DRS cloud will communicate with you periodically and update you on the status of the order. When a customer receives their order, Amazon will notify you to update the customer's inventory.
Amazon will notify you of important changes to an order or the device lifecycle (e.g. deregistration) using SNS. Communicating with Amazon DRS endpoints is done through GET, POST and DELETE requests, using the Service Calls base URL from your server.
DRS Self-Service Portal
The DRS Self-Service Portal will help you create and manage your DRS-connected devices. The device wizard simplifies the provisioning process for DRS and will guide you through creating your device model(s) and configuring your product ASIN lists so that you can begin testing and integrating with Amazon Dash Replenishment Service.
Amazon Dash Replenishment is available for customers shopping on Amazon.com, Amazon.co.uk, Amazon.de and Amazon.co.jp marketplaces.
When you create a new device on the DRS Self-Service Portal, the console will automatically create the Amazon.com marketplace for you. Developers who want to give their customers the ability to use DRS with Amazon.co.uk, Amazon.de or Amazon.co.jp can also enable these additional marketplaces in the DRS self-service device wizard.
Amazon Dash Replenishment utilizes a single API endpoint for all DRS Service calls regardless of which marketplace your end customers prefer to shop in. So once your device is provisioned for the international marketplaces you can begin testing with Amazon.co.uk, Amazon.de and Amazon.co.jp customer accounts.
DRS supports two base URLs which all endpoints are built on. In addition, you will request your LwA access tokens to a third URL.
Authenticating your API requests
To access DRS, your product must obtain a Login with Amazon access token, which grants you access to the DRS APIs. When the customer completes the DRS flow by selecting the consumable(s) to replenish, your product will receive a token that you can use to get access.
There are two methods used to obtain an access token for use with DRS:
- LWA Web API method for microsites or hybrid apps
- LWA Mobile SDK method for iOS and Android apps
You will use the
authorizationCode returned by these methods to contact the LwA endpoint below and receive an access token.
The following URL will be used to request or refresh access tokens that will help you validate both the Service and web-related calls for the customer-facing pages:
The following base URL must be used for all service related API calls, for instance replenishing an order or reporting the slot status of a device:
Amazon is using versioning to incrementally update API functionality without directly impacting customers. It is mandatory to pass in the following headers for every Service API call:
x-amzn-type-version– Allows you to control the version of requests sent.
x-amzn-accept-type– Allows you to control the version of the responses you receive.
Supported versions are supplied for each DRS endpoint. Please see the API Endpoints Overview for more info.
Versions and Backwards Compatibility
When endpoints have multiple versions available, the syntax for each version is listed in tabs. Although the latest version is the recommended endpoint syntax, you can use the previous versions if you prefer. DRS is always backwards compatible with support for previous versions.
Customers can modify their auto-replenishment settings from their Amazon account. When you integrate DRS in your product, either through a mobile app or microsite, you can also include this page in a browser window within your product. The following URL can be used for these customer-facing pages and interactions, such as your settings:
More details are available in the Device Management and Settings page.
Testing and Certification
Each device you add to the DRS Self-Service Portal will be certified by the DRS certification team before customers can access the DRS benefits. Passing the certification process will make your product eligible for the “Amazon Certified” Dash Replenishment badge, based on the average star rating of your product. The badge is added directly to your Amazon detail page, and provides increased search relevancy and visibility to customers.
When you add a new device or marketplace in the DRS Self-Service portal, you can start testing your implementation as if you were the end customer. You can set up your auto-replenishment settings and perform service calls to place test orders, without your Amazon account being charged for it.
When you have performed the required pre-certification steps and finished certifying the companion app(s) or microsite with your QA team using the test cases provided, you can begin the official certification process by clicking on the "Certify Marketplace" button in the DRS Self-Service portal.