The first step in an integration process with Delivery.com is to start creating merchants. The creation of merchants involves a number of endpoints to populate various data sets. These data sets are outlined below.
Before you may use this resource, you will need to contact us to have your api account set up to allow for use of the Client Credentials authentication flow. This resource will typically be called solely by a server rather than having a customer facing front-end, thus the Authorization Code flow is not applicable.
You will also need a merchant group set up, which will be used to determine billing information for all merchants. If you represent multiple businesses, you may need multiple merchant groups so that each business is handled separately. You will be given an id for each merchant group (referred to as “group id”). Each merchant group will be linked to your api account, and can be linked to multiple accounts if necessary, thus only permitted accounts will be allowed to edit and create merchants under each merchant group.
Since a server will be making the api calls, you will need to be given access to our password flow authentication. This will allow your server to make api calls on your behalf using your email and password. You should pass ‘global,merchant’ to the scope parameter.
This includes basic information about the merchant: location, contact information, name, merchant type, description, etc. This will be the first api call to be made to set up a merchant and will return a merchant id. You should retain the merchant id for use with the other api endpoints and to make future updates. When creating a merchant, you must include a group id, you may have multiple group ids. If you do not have a group id, speak with your account manager.
The schedule, as expected, determines the hours of availability of the merchant. We require both business and delivery hours for a merchant, and also allow for the setting of holiday hours.
We offer three types of delivery zones: zip code, radius, and polygon. You may use any combination of these types to specify where the merchant delivers to. For pickup orders, if offered, the merchant will be displayed in search results based on distance from the search address.
We offer a fairly flexible menu structure that should be able to accommodate most merchant menus with minimal manipulation. For the purposes of order integration, each menu element accepts a third party id that will allow you to easily match items in an order to your own records.
Once all of the above information has been populated, you are ready to activate the merchant. We have a number of sanity checks that will run when an activation call is made. If all pass, the merchant will be put into a queue for review by our staff. For more information on this, see the General Information page.
Each of these endpoints allows for updating data. The merchant id is required for all calls, as for many of the object the id provided is specific to the merchant. It may be simpler, depending on your use case, to remove all data and re-insert the updated data rather than attempting to match record to record. Updates will not require re-approval, so beware that incorrect data will be reflected immediately on the front-end.
We offer a number of ways to receive and confirm orders:
- Fax delivery and voice confirmation
- Email delivery and click-to-confirm
- Online portal
- Api – not yet available