Storefront V1 API Specification (1.0.0)
Get stores by business
Retreive a list of stores that are currently active on storefront and owned by a busines. Search results will be sorted by store id.
Authorizations:
path Parameters
| business_id required | string (BusinessId) ^([1-9][0-9]*)$ Example: 123 Business id used for filtering stores |
query Parameters
| pagination_token | string (PaginationToken) Example: pagination_token=1111 The pagination token to retrieve the previous/next page of results. |
| limit | integer (Limit) [ 1 .. 20 ] ^(0|[1-9][0-9]*)$ Default: 10 Specify the maximum number of items that may be returned for a single request. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "stores": [
- {
- "name": "test",
- "id": "123",
- "address": "123 Street Apt123, 98101",
- "status": {
- "storefront": "open"
}
}
], - "prev_token": "239843",
- "next_token": "239886"
}Get stores by business group
Retreive a list of stores that are currently active on storefront and owned by a business group. Search results will be sorted by store id.
Authorizations:
path Parameters
| business_group_id required | string (BusinessGroupId) ^([1-9][0-9]*)$ Example: 123 Business group id used for filtering stores |
query Parameters
| pagination_token | string (PaginationToken) Example: pagination_token=1111 The pagination token to retrieve the previous/next page of results. |
| limit | integer (Limit) [ 1 .. 20 ] ^(0|[1-9][0-9]*)$ Default: 10 Specify the maximum number of items that may be returned for a single request. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "stores": [
- {
- "name": "test",
- "id": "123",
- "address": "123 Street Apt123, 98101",
- "status": {
- "storefront": "open"
}
}
], - "prev_token": "239843",
- "next_token": "239886"
}Get store details
Request more details about a single store given store id
Authorizations:
path Parameters
| store_id required | string (StoreId) ^([1-9][0-9]*)$ Example: 123 Store id |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "id": "123",
- "name": "Example Store",
- "address": "123 Street Apt123, WA",
- "phone_number": "1233333456",
- "time_zone": "US/New York",
- "status": {
- "storefront": "open"
}, - "store_hours": {
- "storefront": {
- "monday": {
- "closed": false,
- "asap_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "asap_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
]
}, - "tuesday": {
- "closed": false,
- "asap_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "asap_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
]
}, - "wednesday": {
- "closed": false,
- "asap_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "asap_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
]
}, - "thursday": {
- "closed": false,
- "asap_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "asap_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
]
}, - "friday": {
- "closed": false,
- "asap_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "asap_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
]
}, - "saturday": {
- "closed": false,
- "asap_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "asap_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
]
}, - "sunday": {
- "closed": false,
- "asap_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "asap_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
]
}
}
}, - "store_special_hours": {
- "storefront": {
- "date": "2018-01-12",
- "hours": {
- "closed": false,
- "asap_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "asap_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_pickup": [
- {
- "start": "9am",
- "end": "10pm"
}
], - "scheduled_delivery": [
- {
- "start": "9am",
- "end": "10pm"
}
]
}
}
}, - "minimum_order_value": 0,
- "delivery_fee": 399,
- "average_delivery_time": 20,
- "average_pickup_time": 10
}Get store menus by store id
Authorizations:
path Parameters
| store_id required | string (StoreId) ^([1-9][0-9]*)$ Example: 123 Store id |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "menu": {
- "name": "string",
- "id": "string",
- "categories": [
- {
- "name": "string",
- "id": "string",
- "description": "string",
- "items": [
- {
- "name": "string",
- "description": "string",
- "id": "string",
- "price": {
- "value": 399,
- "currency": "USD"
}, - "special_hours": [
- {
- "start_date": "2021-06-05",
- "end_date": "2021-07-05",
- "hours": [
- {
- "day": null,
- "start_time": null,
- "end_time": null
}
]
}
], - "extras": [
- {
- "name": "string",
- "description": "string",
- "id": "string",
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "min_option_choice_quantity": 0,
- "max_option_choice_quantity": 0,
- "min_aggregate_options_quantity": 0,
- "max_aggregate_options_quantity": 0,
- "options": [
- {
- "name": null,
- "description": null,
- "id": null,
- "price": null,
- "special_hours": [ ],
- "extras": [ ],
- "original_image_url": null
}
]
}
], - "original_image_url": "string"
}
]
}
]
}
}Search nearby stores by business
Search for stores that are currently active on storefront and within a specified area given business id and location. Search results can be refined by providing additional keywords and the result will be sorted by distance.
Authorizations:
path Parameters
| business_id required | string (BusinessId) ^([1-9][0-9]*)$ Example: 123 Business id used for filtering stores |
query Parameters
| lat required | string (Latitude) ^(\+|-)?(?:90(?:(?:\.0{1,7})?)|(?:[0-9]|[1-8]... Example: lat=-32.1234537 latitude |
| lon required | string (Longitude) ^(\+|-)?(?:180(?:(?:\.0{1,7})?)|(?:[0-9]|[1-9... Example: lon=-156.1234538 longitude |
| limit | integer (Limit) [ 1 .. 20 ] ^(0|[1-9][0-9]*)$ Default: 10 Specify the maximum number of items that may be returned for a single request. |
| open_at | string (OpenAt) ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}... Example: open_at=2018-08-22T17:20:28Z If specified, only stores that are open for business at the specified time are returned. Possible values is future UTC timestamp in ISO-8601 format within seven days from current time. |
| is_pickup | boolean (IsPickup) Default: true If true, return stores based on store pick up raidus. Otherwise, return stores based on delivery radius. The default value is true. |
| search_radius | integer (StoreRadius) [ 1 .. 10000 ] Default: 1000 Define the distance in meters within which to return store results. The default value is 1000. Search radius is only applicable to pick ups. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "stores": [
- {
- "name": "test",
- "id": "123",
- "address": "123 Street Apt123, 98101",
- "distance": 1.2,
- "average_eta": 35
}
]
}Search nearby stores by business group
Search for stores that are currently active on storefront and within a specified area given business group id and location. Search results can be refined by providing additional keywords and the result will be sorted by distance.
Authorizations:
path Parameters
| business_group_id required | string (BusinessGroupId) ^([1-9][0-9]*)$ Example: 123 Business group id used for filtering stores |
query Parameters
| lat required | string (Latitude) ^(\+|-)?(?:90(?:(?:\.0{1,7})?)|(?:[0-9]|[1-8]... Example: lat=-32.1234537 latitude |
| lon required | string (Longitude) ^(\+|-)?(?:180(?:(?:\.0{1,7})?)|(?:[0-9]|[1-9... Example: lon=-156.1234538 longitude |
| limit | integer (Limit) [ 1 .. 20 ] ^(0|[1-9][0-9]*)$ Default: 10 Specify the maximum number of items that may be returned for a single request. |
| open_at | string (OpenAt) ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}... Example: open_at=2018-08-22T17:20:28Z If specified, only stores that are open for business at the specified time are returned. Possible values is future UTC timestamp in ISO-8601 format within seven days from current time. |
| is_pickup | boolean (IsPickup) Default: true If true, return stores based on store pick up raidus. Otherwise, return stores based on delivery radius. The default value is true. |
| search_radius | integer (StoreRadius) [ 1 .. 10000 ] Default: 1000 Define the distance in meters within which to return store results. The default value is 1000. Search radius is only applicable to pick ups. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "stores": [
- {
- "name": "test",
- "id": "123",
- "address": "123 Street Apt123, 98101",
- "distance": 1.2,
- "average_eta": 35
}
]
}