Doordash Item management API Specification (2.0)
API to manage item catalog, inventory, pricing and other attributes.
Add new items
Add new items managed by business. Items sold across all stores must be added to business first. Items must be uniquely identifiable across stores. As of now, only one businessId must be specified. Request validation will fail if no businessId or multiple businessIds are specified.
Request Body schema: application/json
object | |
Array of objects (Item) |
Responses
Request samples
- Payload
{- "scope": {
- "business_ids": [
- "string"
]
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "description": "string",
- "product_traits": [
- "ALCOHOL"
], - "other_identifiers": [
- {
- "identifier_type": "UPC",
- "identifier_value": "string"
}
], - "images": [
- {
- "url": "string",
- "sort_id": 0
}
], - "size": {
- "details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}, - "pack_size_details": {
- "count_per_pack": 0,
- "per_item_size_details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}
}
}, - "weighted_item_info": {
- "average_weight_per_each": 0,
- "average_weight_measurement_unit": "ea",
- "shop_by_measurement_unit": "kg",
- "price_by_measurement_unit": "kg"
}, - "brand_info": {
- "name": "string"
}, - "program_eligibility": [
- "SNAP"
], - "item_categorizations": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}
}
], - "product_attributes": [
- {
- "attribute_name": "string",
- "attribute_value": {
- "single_select_bool": true
}
}
]
}
]
}
Response samples
- 201
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Update existing items
Update existing items managed by business.
Request Body schema: application/json
object | |
Array of objects (Item) |
Responses
Request samples
- Payload
{- "scope": {
- "business_ids": [
- "string"
]
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "description": "string",
- "product_traits": [
- "ALCOHOL"
], - "other_identifiers": [
- {
- "identifier_type": "UPC",
- "identifier_value": "string"
}
], - "images": [
- {
- "url": "string",
- "sort_id": 0
}
], - "size": {
- "details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}, - "pack_size_details": {
- "count_per_pack": 0,
- "per_item_size_details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}
}
}, - "weighted_item_info": {
- "average_weight_per_each": 0,
- "average_weight_measurement_unit": "ea",
- "shop_by_measurement_unit": "kg",
- "price_by_measurement_unit": "kg"
}, - "brand_info": {
- "name": "string"
}, - "program_eligibility": [
- "SNAP"
], - "item_categorizations": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}
}
], - "product_attributes": [
- {
- "attribute_name": "string",
- "attribute_value": {
- "single_select_bool": true
}
}
]
}
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Update existing store
path Parameters
store_location_id required | string <string> ID of store to be updated |
Request Body schema: application/json
update existing store
merchant_supplied_store_id | string |
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "merchant_supplied_store_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "merchant_supplied_store_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
]
}
Endpoints to manage inventory/pricing and other item attributes specific to this store
Add inventory/pricing and other in-store attributes of new item that is made available for sale in the store.
Add inventory/pricing and other in-store attributes of new item that is made available for sale in the store. base_price and status must be specified first time when an item is made available for sale in a store. At this time, item with extras/options is supported only via job management endpoint. Request validation will fail if extras/options are present in POST/PATCH.
path Parameters
store_location_id required | string <string> ID of store where the item is physically sourced. |
Request Body schema: application/json
object Only need this information when you use paginated pull workflow | |
Array of objects (StoreItem) |
Responses
Request samples
- Payload
{- "meta": {
- "current_page": 0,
- "page_size": 0,
- "total_page": 0
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "item_availability": "ACTIVE",
- "balance_on_hand": 0,
- "last_sold_datetime": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "base_price_per_measurement_unit": 0,
- "loyalty_price": 0,
- "loyalty_price_per_measurement_unit": 0
}, - "location": {
- "aisle": "string",
- "zone": "string",
- "shelf": "string",
- "side": "string",
- "additional_details": "string",
- "coordinates": {
- "x": 0,
- "y": 0
}, - "raw_text": "string",
- "section": "string"
}, - "item_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "extras": [
- {
- "name": "string",
- "merchant_supplied_id": "string",
- "description": "string",
- "availability": "ACTIVE",
- "sort_id": 0,
- "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": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "availability": "ACTIVE",
- "price_info": {
- "base_price": 0
}, - "item_extra_option_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "description": "string",
- "default": true,
- "sort_id": 0,
- "extras": [
- { }
]
}
]
}
]
}
]
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Update inventory/pricing and other in-store attributes of item that is already sold in the store.
At this time, item with extras/options is supported only via job management endpoint. Request validation will fail if extras/options are present in POST/PATCH.
path Parameters
store_location_id required | string <string> ID of store where the item is physically sourced. |
Request Body schema: application/json
object Only need this information when you use paginated pull workflow | |
Array of objects (StoreItem) |
Responses
Request samples
- Payload
{- "meta": {
- "current_page": 0,
- "page_size": 0,
- "total_page": 0
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "item_availability": "ACTIVE",
- "balance_on_hand": 0,
- "last_sold_datetime": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "base_price_per_measurement_unit": 0,
- "loyalty_price": 0,
- "loyalty_price_per_measurement_unit": 0
}, - "location": {
- "aisle": "string",
- "zone": "string",
- "shelf": "string",
- "side": "string",
- "additional_details": "string",
- "coordinates": {
- "x": 0,
- "y": 0
}, - "raw_text": "string",
- "section": "string"
}, - "item_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "extras": [
- {
- "name": "string",
- "merchant_supplied_id": "string",
- "description": "string",
- "availability": "ACTIVE",
- "sort_id": 0,
- "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": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "availability": "ACTIVE",
- "price_info": {
- "base_price": 0
}, - "item_extra_option_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "description": "string",
- "default": true,
- "sort_id": 0,
- "extras": [
- { }
]
}
]
}
]
}
]
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Create jobs to trigger various pull request flows. Job parameters should confirm to the schema defined for specific job.
Request Body schema: application/json
job_type | string Enum: "PULL_STORE_ITEMS" "PULL_STORE_ITEMS_WITH_PAGINATION" Use PULL_STORE_ITEMS if you can return all items in one pull call for one store, otherwise use PULL_STORE_ITEMS_WITH_PAGINATION which is paginated version pull. |
object |
Responses
Request samples
- Payload
{- "job_type": "PULL_STORE_ITEMS",
- "job_parameters": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string",
- "max_page_size": 0
}
Create new promotion for store
path Parameters
store_location_id required | string <string> location ID of store |
Request Body schema: application/json
create new promotion
promotion_id | string Promotion Id to identify a promotion uniquely with a Mx. Required. |
promotion_type | string Enum: "BUY_X_FOR_Y" "BUY_X_SAVE_Y" "BUY_X_GET_Y_Z_PERCENT_OFF" Promotion types |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
start_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, start time of the promotion with local timezone, example 2024-04-03T10:15:30Z https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
end_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, end time of the promotion with local timezone https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
Responses
Request samples
- Payload
{- "promotion_id": "string",
- "promotion_type": "BUY_X_FOR_Y",
- "purchase_criteria": {
- "purchase_items": [
- "string"
], - "purchase_quantity": 0
}, - "redemption_limit": {
- "limit_per_order": 0
}, - "discount_options": {
- "discount_total_price": 0,
- "discount_price_off": 0,
- "discount_percentage": 0,
- "discount_quantity": 0
}, - "start_time": "string",
- "end_time": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Update promotions in store
path Parameters
store_location_id required | string <string> location ID of store to be updated |
Request Body schema: application/json
update promotions in store
promotion_id | string Promotion Id to identify a promotion uniquely with a Mx. Required. |
promotion_type | string Enum: "BUY_X_FOR_Y" "BUY_X_SAVE_Y" "BUY_X_GET_Y_Z_PERCENT_OFF" Promotion types |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
start_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, start time of the promotion with local timezone, example 2024-04-03T10:15:30Z https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
end_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, end time of the promotion with local timezone https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
Responses
Request samples
- Payload
{- "promotion_id": "string",
- "promotion_type": "BUY_X_FOR_Y",
- "purchase_criteria": {
- "purchase_items": [
- "string"
], - "purchase_quantity": 0
}, - "redemption_limit": {
- "limit_per_order": 0
}, - "discount_options": {
- "discount_total_price": 0,
- "discount_price_off": 0,
- "discount_percentage": 0,
- "discount_quantity": 0
}, - "start_time": "string",
- "end_time": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
merchant_supplied_item_id | string Merchant supplied Id to identify an item uniquely within business across all stores. Every item that is shopable by CX must be represented as an unique item |
name | string Name of the item |
description | string Description of the item |
product_traits | Array of strings (ProductTrait) Items Enum: "ALCOHOL" "MEDICATION" "WEIGHTED" Specifies type of product(s) represented by the item. These attributes will be used to validate product specific attributes in request and apply product specific business logic internally. For example, when WEIGHTED is specified as one of the product trait, presence of weighted_item_info will be validated in the request payload |
Array of objects Other identifiers associated with item. | |
Array of objects Images of the item, atleast one image must be specified | |
object size of the item | |
object attributes related to items that are sold by weights | |
object brand of the item if applicable | |
program_eligibility | Array of strings (ProgramEligibility) Items Enum: "SNAP" "HSA" "FSA" Program eligibility of the item |
Array of objects One or more categories associated with the item | |
Array of objects (ProductAttributes) product_attributes allow us to infer everything about an item necessary for customers to shop, dasher to fulfill, merchants to merchandise, and advertisers to advertise. See supported full attribute list: https://developer.doordash.com/en-US/docs/marketplace/retail/catalog_management/supported_attribute |
{- "merchant_supplied_item_id": "string",
- "name": "string",
- "description": "string",
- "product_traits": [
- "ALCOHOL"
], - "other_identifiers": [
- {
- "identifier_type": "UPC",
- "identifier_value": "string"
}
], - "images": [
- {
- "url": "string",
- "sort_id": 0
}
], - "size": {
- "details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}, - "pack_size_details": {
- "count_per_pack": 0,
- "per_item_size_details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}
}
}, - "weighted_item_info": {
- "average_weight_per_each": 0,
- "average_weight_measurement_unit": "ea",
- "shop_by_measurement_unit": "kg",
- "price_by_measurement_unit": "kg"
}, - "brand_info": {
- "name": "string"
}, - "program_eligibility": [
- "SNAP"
], - "item_categorizations": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}
}
], - "product_attributes": [
- {
- "attribute_name": "string",
- "attribute_value": {
- "single_select_bool": true
}
}
]
}
merchant_supplied_store_id | string |
Array of objects | |
Array of objects |
{- "merchant_supplied_store_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
]
}
merchant_supplied_item_id | string |
item_availability | string Enum: "ACTIVE" "INACTIVE" |
balance_on_hand | integer |
last_sold_datetime | string DateTime in ISO8601 format of when the item was last sold at the store. |
object (PriceInfo) | |
object (ItemLocation) Default location of an item in the store across business. Can be specified at store level for any store specific customizations. | |
Array of objects (TimeBlock) Special hours on when item will be available | |
Array of objects (Extra) |
{- "merchant_supplied_item_id": "string",
- "item_availability": "ACTIVE",
- "balance_on_hand": 0,
- "last_sold_datetime": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "base_price_per_measurement_unit": 0,
- "loyalty_price": 0,
- "loyalty_price_per_measurement_unit": 0
}, - "location": {
- "aisle": "string",
- "zone": "string",
- "shelf": "string",
- "side": "string",
- "additional_details": "string",
- "coordinates": {
- "x": 0,
- "y": 0
}, - "raw_text": "string",
- "section": "string"
}, - "item_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "extras": [
- {
- "name": "string",
- "merchant_supplied_id": "string",
- "description": "string",
- "availability": "ACTIVE",
- "sort_id": 0,
- "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": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "availability": "ACTIVE",
- "price_info": {
- "base_price": 0
}, - "item_extra_option_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "description": "string",
- "default": true,
- "sort_id": 0,
- "extras": [
- { }
]
}
]
}
]
}
promotion_id | string Promotion Id to identify a promotion uniquely with a Mx. Required. |
promotion_type | string Enum: "BUY_X_FOR_Y" "BUY_X_SAVE_Y" "BUY_X_GET_Y_Z_PERCENT_OFF" Promotion types |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
start_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, start time of the promotion with local timezone, example 2024-04-03T10:15:30Z https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
end_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, end time of the promotion with local timezone https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
{- "promotion_id": "string",
- "promotion_type": "BUY_X_FOR_Y",
- "purchase_criteria": {
- "purchase_items": [
- "string"
], - "purchase_quantity": 0
}, - "redemption_limit": {
- "limit_per_order": 0
}, - "discount_options": {
- "discount_total_price": 0,
- "discount_price_off": 0,
- "discount_percentage": 0,
- "discount_quantity": 0
}, - "start_time": "string",
- "end_time": "string"
}
object | |
Array of objects (Item) |
{- "scope": {
- "business_ids": [
- "string"
]
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "description": "string",
- "product_traits": [
- "ALCOHOL"
], - "other_identifiers": [
- {
- "identifier_type": "UPC",
- "identifier_value": "string"
}
], - "images": [
- {
- "url": "string",
- "sort_id": 0
}
], - "size": {
- "details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}, - "pack_size_details": {
- "count_per_pack": 0,
- "per_item_size_details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}
}
}, - "weighted_item_info": {
- "average_weight_per_each": 0,
- "average_weight_measurement_unit": "ea",
- "shop_by_measurement_unit": "kg",
- "price_by_measurement_unit": "kg"
}, - "brand_info": {
- "name": "string"
}, - "program_eligibility": [
- "SNAP"
], - "item_categorizations": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}
}
], - "product_attributes": [
- {
- "attribute_name": "string",
- "attribute_value": {
- "single_select_bool": true
}
}
]
}
]
}
object Only need this information when you use paginated pull workflow | |
Array of objects (StoreItem) |
{- "meta": {
- "current_page": 0,
- "page_size": 0,
- "total_page": 0
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "item_availability": "ACTIVE",
- "balance_on_hand": 0,
- "last_sold_datetime": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "base_price_per_measurement_unit": 0,
- "loyalty_price": 0,
- "loyalty_price_per_measurement_unit": 0
}, - "location": {
- "aisle": "string",
- "zone": "string",
- "shelf": "string",
- "side": "string",
- "additional_details": "string",
- "coordinates": {
- "x": 0,
- "y": 0
}, - "raw_text": "string",
- "section": "string"
}, - "item_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "extras": [
- {
- "name": "string",
- "merchant_supplied_id": "string",
- "description": "string",
- "availability": "ACTIVE",
- "sort_id": 0,
- "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": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "availability": "ACTIVE",
- "price_info": {
- "base_price": 0
}, - "item_extra_option_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "description": "string",
- "default": true,
- "sort_id": 0,
- "extras": [
- { }
]
}
]
}
]
}
]
}
job_type | string Enum: "PULL_STORE_ITEMS" "PULL_STORE_ITEMS_WITH_PAGINATION" Use PULL_STORE_ITEMS if you can return all items in one pull call for one store, otherwise use PULL_STORE_ITEMS_WITH_PAGINATION which is paginated version pull. |
object |
{- "job_type": "PULL_STORE_ITEMS",
- "job_parameters": {
- "property1": "string",
- "property2": "string"
}
}
store_location_id | string |
pull_mode | string Value: "REPLACE" |
merchant_supplied_page_size | integer |
{- "store_location_id": "string",
- "pull_mode": "REPLACE",
- "merchant_supplied_page_size": 0
}
Array of objects (Promotion) | |||||||||||||||
Array
|
{- "promotions": [
- {
- "promotion_id": "string",
- "promotion_type": "BUY_X_FOR_Y",
- "purchase_criteria": {
- "purchase_items": [
- "string"
], - "purchase_quantity": 0
}, - "redemption_limit": {
- "limit_per_order": 0
}, - "discount_options": {
- "discount_total_price": 0,
- "discount_price_off": 0,
- "discount_percentage": 0,
- "discount_quantity": 0
}, - "start_time": "string",
- "end_time": "string"
}
]
}