Data dictionary
AddressDetail
Note: D-Store passes each parameter in this data model if it can obtain the parameter value.
Field | Data type | Required | Description |
addressDetail | String | No | The buyer's address. The value is based on the buyer's input, which might include the following details in the given order: street number, street name, area, city, and country. Maximum length: 255 characters |
blockNo | String | No | The block number. Maximum length: 255 characters |
floorNo | String | No | The floor number. Maximum length: 255 characters |
unitNo | String | No | The unit number. Maximum length: 255 characters |
postCode | String | No | The postcode of the buyer's address. You can use this parameter to calculate delivery distance and time. Maximum length: 6 characters |
latitude | String | No | The latitude of the user's address. You can use this parameter and longitude to calculate delivery distance and time. Value range: -180.000000-180.000000 |
longitude | String | No | The longitude of the user's address. You can use this parameter and latitude to calculate delivery distance and time. Value range: -90.000000-90.000000 |
additionalInformation | String | No | The additional address information. Maximum length: 255 characters |
Amount
Field | Data type | Required | Description |
value | Integer | Yes | The amount value in the currency's smallest unit. For example, Value range: 0-2147483647 |
currency | String | Yes | The 3-character currency code that follows ISO-4217. For example, Maximum length: 3 characters |
ClosingEndTimes
Field | Datatype | Required | Description |
defaultClosingEndTime | Datetime | No | The end time of the closing period for all order channels. The value follows the ISO 8601 standard format. Note: If the specified value exceeds the maximum closing duration allowed by any order channel where the store operates, it is automatically adjusted to align with the maximum closing end time allowed by that channel. The maximum closing duration for each channel is as follows:
|
Customer
Field | Data type | Required | Description |
buyerName | String | No | The buyer's name. Maximum length: 64 characters |
mobileNo | String | No | The buyer's phone number. Maximum length: 64 characters |
areaCode | String | No | The international calling code of the buyer's phone number without the plus sign or zero prefixes. Maximum length: 10 characters |
String | No | The buyer's email address. Maximum length: 64 characters |
DeliveryDetail
Field | Data type | Required | Description |
deliveryProvider | String | Yes | The entity that provides the delivery service for the order.
|
addressInfo | No | The details of the delivery address. This parameter is specified if the delivery service is provided by the merchant. | |
riderCollectionTime | Datetime | No | The estimated time when the delivery rider is expected to arrive at the merchant's location to collect the order. The value follows the ISO 8601 standard format. This parameter might be specified if the delivery service is provided by the order channel. |
DetailedStoreInfo
Field | Data type | Required | Description |
posStoreId | String | Yes | The unique ID that is assigned by the POS provider to identify a store. Maximum length: 255 characters |
name | String | No | The store name. Maximum length: 255 characters Note: Specify this parameter if you call the syncStore API to create a new store. |
status | String | No | The store status. Valid values are:
Notes:
|
fullAddress | String | No | The full address of the store. Include the following details when applicable: street name and number, area, province, and city. Maximum length: 2048 characters Note: Specify this parameter if you call the syncStore API to create a new store. |
mobileNo | String | No | The contact number of the store. Specify this parameter using the local phone number without the area code and spaces. Maximum length: 32 characters Note: Specify this parameter if you call the syncStore API to create a new store. |
extendInfo | Object | No | An extended attribute that is used to provide additional information if necessary. Maximum length: 4096 characters This parameter is specified in key-value pairs with the following valid key:
Notes:
|
OrderAmountDetail
Field | Data type | Required | Description |
subTotalAmount | Yes | The subtotal, which is the sum of all product prices. | |
tax | No | The tax amount. | |
taxDetail | No | The tax breakdown. This parameter is specified if tax is specified. | |
serviceCharge | No | The service charge. | |
takeawayAmount | No | The takeaway fee. | |
deliveryFee | No | The delivery fee. | |
discountAmount | No | The discount amount. | |
paymentAmount | Yes | The paid amount, which equals the amount specified in orderAmount minus the one in orderAmountDetail.discountAmount. | |
paymentDetails | Array<PaymentDetail> | Yes | The payment breakdown based on payment methods. |
refundDetails | Array<RefundDetail> | No | The refund details. Specify this parameter if the order includes a refund. |
extendInfo | Object | No | An extended attribute that is used to provide additional information if necessary. Maximum length: 2048 characters This parameter is specified in key-value pairs with the following valid key:
|
OrderProduct
Field | Data type | Required | Description |
subOrderId | String | No | The unique ID that is assigned by D-Store in createOrder requests to identify each top-level product with its set of subproducts within an order. This ID ensures distinctions between items that might have the same top-level product but different subproducts. This parameter value is used in order modification requests. |
posProductId | String | Yes | The unique ID that is assigned by the POS provider to identify a product. |
price | No | The product price. Specify this parameter if the value of products.type is | |
quantity | Integer | Yes | The product quantity. Value range: 0-unlimited |
subProducts | Array<OrderProduct> | No | The subproduct that is associated with a product or another subproduct, which can be a product in a bundle or combo, a variant, or a modifier. |
memo | String | No | The buyer's notes on a product. Maximum length: 2048 characters |
PaymentDetail
Field | Data type | Required | Description |
paymentAmount | Yes | The amount of money that is paid through the specified payment method. | |
paymentMethod | String | Yes | The method by which the specified payment amount is paid. Valid values are:
|
extendInfo | Object | No | An extended attribute that is used to provide additional information if necessary. Maximum length: 2048 characters This parameter is specified in key-value pairs. If the payment is processed by an acquiring service provider, specify the following keys:
|
Product
Note: Products with an identical posProductId share the following parameters across all stores: type, name, description, images, and subProducts. Therefore, when the POS provider calls syncProduct to synchronize full product information for a different store of the same merchant, any updates to the shared parameters in one store are automatically applied across all other stores with the specified products.
Field | Data type | Required | Description |
posProductId | String | Yes | The unique ID that is assigned by the POS provider to identify a product. Notes:
|
type | String | No | The product type. Valid values are:
Note: Specify this parameter if you call the syncProduct API to synchronize full product information. |
status | String | Yes | The product status. Valid values are:
Note: You can remove a product by removing its data from the syncProduct request. |
name | String | No | The product name. Maximum length: 255 characters Note: Specify this parameter if you call the syncProduct API to synchronize full product information. |
description | String | No | The product description. Maximum length: 2048 characters |
images | Array<String> | No | The product images shown in the menu. Maximum size: 5 elements Maximum length: 255 characters |
price | No | The product price. Note: Specify this parameter if you call the syncProduct API to synchronize full product information. | |
quantityRule | No | The quantity rule of the product. | |
overloads | Array<ProductOverload> | No | The adjusted price or quantity rule of a product. |
subProducts | Array<String> | No | The ID list of products that you want to attach the product to. |
ProductOverload
Field | Data type | Required | Description |
posProductIds | Array<String> | Yes | The ID list of products that you want to adjust the price for. Maximum length: 255 characters |
price | No | The adjusted price of the product. This parameter can only take effect for products whose type is | |
quantityRule | No | The adjusted quantity rule of the product. |
PromotionDetail
Field | Data type | Required | Description |
promoId | String | Yes | The unique ID that is assigned by D-Store to identify a promotional campaign. Maximum length: 64 characters |
promoType | String | Yes | The type of the promotional campaign. Valid values are:
|
promoName | String | No | The name of the promotional campaign. Maximum length: 256 characters |
discountAmount | Yes | The discount amount of this order. | |
promoInvestorType | String | Yes | The investor who funds the promotional campaign. Valid values are:
|
extendInfo | String | No | The extended information about the promotional campaign.
|
QuantityRule
Field | Data type | Required | Description |
max | Integer | Yes | The maximum number of products a user can choose. The value of this parameter cannot be smaller than that of the quantityRule.min parameter. Value range: 0-2147483647 |
min | Integer | Yes | The minimum number of products a user can choose. The value of this parameter cannot be greater than that of the quantityRule.max parameter. Value range: 0-2147483647 |
Receipt
Field | Data type | Required | Description |
cashierReceipt | String | No | The receipt provided for merchants displays the transaction information. |
customerReceipt | String | No | The receipt provided for buyers displays the transaction information. |
RefundDetail
Field | Data type | Required | Description |
refundAmount | Yes | The amount of money that is refunded through the specified refund method. | |
refundMethod | String | Yes | The method by which the specified refund amount is refunded. Valid values are:
|
refundReason | String | No | The refund reason. |
extendInfo | Object | No | An extended attribute that is used to provide additional information if necessary. Maximum length: 2048 characters This parameter is specified in key-value pairs. If the refund is processed by an acquiring service provider, specify the following keys:
|
RefundInfo
Field | Data type | Required | Description |
requestRefundId | String | Yes | The unique ID that is assigned by the order channel to identify a refund. |
refundStatus | String | Yes | The status of the refund. Valid value is:
|
refundAmount | Yes | The amount to be refunded to the buyer. |
Result
Field | Data type | Required | Description |
resultStatus | String | Yes | The result status. Valid values are:
|
resultCode | String | No | The result code. Maximum length: 64 characters |
resultMessage | String | No | The result message that describes the result code in detail. Maximum length: 256 characters |
Store
Field | Data type | Required | Description |
posStoreId | String | Yes | The unique ID that is assigned by the POS provider to identify a store. Maximum length: 255 characters |
name | String | No | The store name. Maximum length: 255 characters |
TaxDetail
Field | Data type | Required | Description |
subTotalTaxAmount | Yes | The tax amount for the subtotal. | |
serviceChargeTaxAmount | No | The tax amount for the service charge. This parameter is specified if the service charge and its tax are both applied to the order. | |
takeawayTaxAmount | No | The tax amount for the takeaway fee. This parameter is specified if the takeaway fee and its tax are both applied to the order. |
UpdatedOrderProduct
Field | Data type | Required | Description |
subOrderId | String | No | The unique ID that is assigned by D-Store to identify each top-level product with its set of subproducts within an order. This ID ensures distinctions between items that might have the same top-level product but different subproducts. Note: This parameter is specified in the pushOrderChange requests if order modifications are made. |
posProductId | String | Yes | The unique ID that is assigned by the POS provider to identify a product. Note: The product specified by this parameter is a top-level product. |
updateType | String | Yes | The type of changes that are made to the specified top-level product. Valid values are:
|
price | No | The updated price of the specified product. This parameter is specified if the value of updateType is | |
quantity | Integer | No | The updated quantity of the specified product. This parameter is specified if the value of updateType is Value range: 0-unlimited |
subProducts | Array<OrderProduct> | No | The subproducts that are ordered with the top-level products. This parameter is specified if any subproducts are ordered. |