Skip to content

Keeta Menu Management API (v.1.0.0)

This API provides comprehensive menu management capabilities for Keeta platform integration, including menu synchronization, product status management, and real-time notifications.

Download OpenAPI description
Overview
Keeta Developer Website

https://developers.mykeeta.com/

Languages
Servers

https://open.mykeeta.com/api/open/

Operations
Webhooks
Operations

Request

  1. Query all ChoiceGroups in store.

Rate limit: 50 QPS by appId dimension.

Bodyapplication/jsonrequired
shopIdinteger(int64)required

store id in KeeTa

Example: 25381
curl -i -X POST \
  https://open.mykeeta.com/api/open/product/choicegroup/list \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 25381
  }'

Responses

Successful returns ChoiceGroup list.

Bodyapplication/json
codeintegerrequired

A numeric status identifier indicating the result of the interface call, used to determine whether the operation executed successfully.

Enum ValueDescription
0

The request was executed successfully.

Non-zero value

The request execution failed. Specific error details can be viewed in the message field.

Example: 0
messagestringrequired

Text description corresponding to the status code, explaining the operation result or error cause to users.

Example: "Success"
dataArray of objects(ChoiceGroup)

ChoiceGroup data model

Response
application/json
{ "code": 0, "message": "Success", "data": [ {} ] }

Request

  1. if the ChoiceGroupSku.name is the same as Spu.name, normally they will bound.
  2. ChoiceGroup.maxNumber should greater than or equals to ChoiceGroup.minNumber and ChoiceGroup.maxNumber should greater than 0.
  3. ChoiceGroupSku.price is required, status is required.

Rate limit: 10 QPS by appId dimension.

Bodyapplication/jsonrequired
shopIdinteger(int64)required

store id in KeeTa

Example: 25381
choiceGroupListArray of objects(ChoiceGroup)required

ChoiceGroup data model

choiceGroupList[].​idinteger(int64)

Unique ChoiceGroup ID generated by Keeta system. Not required in OpenItemCode-based APIs. Required for updates in Keeta ID-based APIs.

Example: 0
choiceGroupList[].​namestringrequired

Display name of the ChoiceGroup

Example: "Sauces"
choiceGroupList[].​sourceLanguageTypestringrequired

Language code for name field (refer to Menu Integration Guide)

Example: "en"
choiceGroupList[].​nameTranslationstring

Localized name translation

Example: "選擇醬料"
choiceGroupList[].​targetLanguageTypestring

Language code for nameTranslation (required if translation exists), please refer to Menu API Integration Guide

Example: "zh-HK"
choiceGroupList[].​nameTranslateTypeinteger

Source of name translation. When the value equals 1, it indicates that the name translation was provided by the merchant.

Example: 1
choiceGroupList[].​minNumberintegerrequired

Minimum number of ChoiceGroupSkus that must be selected

Example: 0
choiceGroupList[].​maxNumberintegerrequired

Maximum number of ChoiceGroupSkus that can be selected

Example: 3
choiceGroupList[].​choiceGroupSkuListArray of objects(ChoiceGroupSku)required

List of available ChoiceGroupSkus in this ChoiceGroup

choiceGroupList[].​choiceGroupSkuList[].​idinteger(int64)

Primary key for ChoiceGroupSku, mainly used for order API alignment. Changes when names are modified. Not required in OpenItemCode-based APIs. Required for updates in Keeta ID-based APIs.

Example: 0
choiceGroupList[].​choiceGroupSkuList[].​namestringrequired

Display name of the ChoiceGroupSku. Should match SPU name when representing the same product for internal correlation.

Example: "Ketchup"
choiceGroupList[].​choiceGroupSkuList[].​sourceLanguageTypestringrequired

Language code for name field (refer to Menu Integration Guide)

Example: "en"
choiceGroupList[].​choiceGroupSkuList[].​nameTranslationstring

Localized name translation

Example: "番茄醬"
choiceGroupList[].​choiceGroupSkuList[].​targetLanguageTypestring

Language code for nameTranslation (required if translation exists), please refer to Menu API Integration Guide

Example: "zh-HK"
choiceGroupList[].​choiceGroupSkuList[].​nameTranslateTypeinteger

Source of name translation. When the value equals 1, it indicates that the name translation was provided by the merchant.

Example: 1
choiceGroupList[].​choiceGroupSkuList[].​pricestring

Delivery price (supports 2 decimal places)

Example: "12.33"
choiceGroupList[].​choiceGroupSkuList[].​pickPricestring

Pickup price (supports 2 decimal places)

Example: "12.33"
choiceGroupList[].​choiceGroupSkuList[].​canteenPricestring

Dine-in price (supports 2 decimal places)

Example: "12.33"
choiceGroupList[].​choiceGroupSkuList[].​currencystring

Currency code (refer to "Currency Symbols" enum). Defaults to merchant's currency.

Example: "HKD"
choiceGroupList[].​choiceGroupSkuList[].​statusintegerrequired

Availability status:

0: indicates the ChoiceGroupSku is unavailable / 1: indicates ChoiceGroupSku is available

Example: 1
choiceGroupList[].​choiceGroupSkuList[].​openItemCodestringrequired

Third-party ChoiceGroupSku identifier. Mandatory and unique in OpenItemCode-based APIs.

Example: "CHOICE#10001"
choiceGroupList[].​choiceGroupSkuList[].​nutritionalInfoobject

Nutritional components (refer to "Nutritional Elements" enum)

choiceGroupList[].​choiceGroupSkuList[].​allergensArray of strings

Allergen information (refer to "Allergens" enum)

choiceGroupList[].​choiceGroupSkuList[].​pictureListArray of objects

ChoiceGroupSku image URLs

choiceGroupList[].​choiceGroupSkuList[].​relatedSpuOpenItemCodestring

Third-party SPU identifier this ChoiceGroupSku should bind to. Using this to explicitly bind the ChoiceGroupSku to the given SPU.

choiceGroupList[].​choiceGroupSkuList[].​relatedSkuOpenItemCodestring

Third-party SKU identifier this ChoiceGroupSku should bind to. Using this to explicitly bind the ChoiceGroupSku to the given SKU. When a ChoiceGroupSku bind to a SKU, it will use the bounded SKU's ChoiceGroups to form a multi-layer ChoiceGroup structure.

choiceGroupList[].​openItemCodestringrequired

Developer-provided ChoiceGroup identifier. Mandatory and unique in OpenItemCode-based APIs.

Example: "GROUP#10001"
choiceGroupList[].​repeatableinteger

Multiple selection flag:

Enum ValueDescription
0

indicates single selection only

1

allows multiple selections of the same ChoiceGroupSku

Example: 0
curl -i -X POST \
  https://open.mykeeta.com/api/open/product/choicegroup/batchcreate \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 25381,
    "choiceGroupList": [
      {
        "id": 0,
        "name": "Sauces",
        "sourceLanguageType": "en",
        "nameTranslation": "選擇醬料",
        "targetLanguageType": "zh-HK",
        "nameTranslateType": 1,
        "minNumber": 0,
        "maxNumber": 3,
        "choiceGroupSkuList": [
          {
            "id": 0,
            "name": "Ketchup",
            "sourceLanguageType": "en",
            "nameTranslation": "番茄醬",
            "targetLanguageType": "zh-HK",
            "nameTranslateType": 1,
            "price": "12.33",
            "pickPrice": "12.33",
            "canteenPrice": "12.33",
            "currency": "HKD",
            "status": 1,
            "openItemCode": "CHOICE#10001",
            "nutritionalInfo": {
              "property1": 0,
              "property2": 0
            },
            "allergens": [
              "string"
            ],
            "pictureList": [
              {
                "url": "https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b395e330cf94b0e5068b09999.jpg"
              }
            ],
            "relatedSpuOpenItemCode": "string",
            "relatedSkuOpenItemCode": "string"
          }
        ],
        "openItemCode": "GROUP#10001",
        "repeatable": 0
      }
    ]
  }'

Responses

Batch creation result.

Bodyapplication/json
codeintegerrequired

A numeric status identifier indicating the result of the interface call, used to determine whether the operation executed successfully.

Enum ValueDescription
0

The request was executed successfully.

Non-zero value

The request execution failed. Specific error details can be viewed in the message field.

Example: 0
messagestringrequired

Text description corresponding to the status code, explaining the operation result or error cause to users.

Example: "Success"
dataArray of objects(ChoiceGroup)

Successful ChoiceGroup data model

errorListArray of objects(ErrorChoiceGroup)

Failed ChoiceGroup informations

Response
application/json
{ "code": 0, "message": "Success", "data": [ {} ], "errorList": [ {} ] }

Request

  1. Mostly like 3.4.2 but ChoiceGroup.id is required.
  2. Please make sure the ChoiceGroup data object is complete.

Rate limit: 10 QPS by appId dimension.

Bodyapplication/jsonrequired
shopIdinteger(int64)required

store id in KeeTa

Example: 25381
choiceGroupListArray of objects(ChoiceGroup)required

ChoiceGroup data model

choiceGroupList[].​idinteger(int64)

Unique ChoiceGroup ID generated by Keeta system. Not required in OpenItemCode-based APIs. Required for updates in Keeta ID-based APIs.

Example: 0
choiceGroupList[].​namestringrequired

Display name of the ChoiceGroup

Example: "Sauces"
choiceGroupList[].​sourceLanguageTypestringrequired

Language code for name field (refer to Menu Integration Guide)

Example: "en"
choiceGroupList[].​nameTranslationstring

Localized name translation

Example: "選擇醬料"
choiceGroupList[].​targetLanguageTypestring

Language code for nameTranslation (required if translation exists), please refer to Menu API Integration Guide

Example: "zh-HK"
choiceGroupList[].​nameTranslateTypeinteger

Source of name translation. When the value equals 1, it indicates that the name translation was provided by the merchant.

Example: 1
choiceGroupList[].​minNumberintegerrequired

Minimum number of ChoiceGroupSkus that must be selected

Example: 0
choiceGroupList[].​maxNumberintegerrequired

Maximum number of ChoiceGroupSkus that can be selected

Example: 3
choiceGroupList[].​choiceGroupSkuListArray of objects(ChoiceGroupSku)required

List of available ChoiceGroupSkus in this ChoiceGroup

choiceGroupList[].​choiceGroupSkuList[].​idinteger(int64)

Primary key for ChoiceGroupSku, mainly used for order API alignment. Changes when names are modified. Not required in OpenItemCode-based APIs. Required for updates in Keeta ID-based APIs.

Example: 0
choiceGroupList[].​choiceGroupSkuList[].​namestringrequired

Display name of the ChoiceGroupSku. Should match SPU name when representing the same product for internal correlation.

Example: "Ketchup"
choiceGroupList[].​choiceGroupSkuList[].​sourceLanguageTypestringrequired

Language code for name field (refer to Menu Integration Guide)

Example: "en"
choiceGroupList[].​choiceGroupSkuList[].​nameTranslationstring

Localized name translation

Example: "番茄醬"
choiceGroupList[].​choiceGroupSkuList[].​targetLanguageTypestring

Language code for nameTranslation (required if translation exists), please refer to Menu API Integration Guide

Example: "zh-HK"
choiceGroupList[].​choiceGroupSkuList[].​nameTranslateTypeinteger

Source of name translation. When the value equals 1, it indicates that the name translation was provided by the merchant.

Example: 1
choiceGroupList[].​choiceGroupSkuList[].​pricestring

Delivery price (supports 2 decimal places)

Example: "12.33"
choiceGroupList[].​choiceGroupSkuList[].​pickPricestring

Pickup price (supports 2 decimal places)

Example: "12.33"
choiceGroupList[].​choiceGroupSkuList[].​canteenPricestring

Dine-in price (supports 2 decimal places)

Example: "12.33"
choiceGroupList[].​choiceGroupSkuList[].​currencystring

Currency code (refer to "Currency Symbols" enum). Defaults to merchant's currency.

Example: "HKD"
choiceGroupList[].​choiceGroupSkuList[].​statusintegerrequired

Availability status:

0: indicates the ChoiceGroupSku is unavailable / 1: indicates ChoiceGroupSku is available

Example: 1
choiceGroupList[].​choiceGroupSkuList[].​openItemCodestringrequired

Third-party ChoiceGroupSku identifier. Mandatory and unique in OpenItemCode-based APIs.

Example: "CHOICE#10001"
choiceGroupList[].​choiceGroupSkuList[].​nutritionalInfoobject

Nutritional components (refer to "Nutritional Elements" enum)

choiceGroupList[].​choiceGroupSkuList[].​allergensArray of strings

Allergen information (refer to "Allergens" enum)

choiceGroupList[].​choiceGroupSkuList[].​pictureListArray of objects

ChoiceGroupSku image URLs

choiceGroupList[].​choiceGroupSkuList[].​relatedSpuOpenItemCodestring

Third-party SPU identifier this ChoiceGroupSku should bind to. Using this to explicitly bind the ChoiceGroupSku to the given SPU.

choiceGroupList[].​choiceGroupSkuList[].​relatedSkuOpenItemCodestring

Third-party SKU identifier this ChoiceGroupSku should bind to. Using this to explicitly bind the ChoiceGroupSku to the given SKU. When a ChoiceGroupSku bind to a SKU, it will use the bounded SKU's ChoiceGroups to form a multi-layer ChoiceGroup structure.

choiceGroupList[].​openItemCodestringrequired

Developer-provided ChoiceGroup identifier. Mandatory and unique in OpenItemCode-based APIs.

Example: "GROUP#10001"
choiceGroupList[].​repeatableinteger

Multiple selection flag:

Enum ValueDescription
0

indicates single selection only

1

allows multiple selections of the same ChoiceGroupSku

Example: 0
curl -i -X POST \
  https://open.mykeeta.com/api/open/product/choicegroup/batchupdate \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 25381,
    "choiceGroupList": [
      {
        "id": 0,
        "name": "Sauces",
        "sourceLanguageType": "en",
        "nameTranslation": "選擇醬料",
        "targetLanguageType": "zh-HK",
        "nameTranslateType": 1,
        "minNumber": 0,
        "maxNumber": 3,
        "choiceGroupSkuList": [
          {
            "id": 0,
            "name": "Ketchup",
            "sourceLanguageType": "en",
            "nameTranslation": "番茄醬",
            "targetLanguageType": "zh-HK",
            "nameTranslateType": 1,
            "price": "12.33",
            "pickPrice": "12.33",
            "canteenPrice": "12.33",
            "currency": "HKD",
            "status": 1,
            "openItemCode": "CHOICE#10001",
            "nutritionalInfo": {
              "property1": 0,
              "property2": 0
            },
            "allergens": [
              "string"
            ],
            "pictureList": [
              {
                "url": "https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b395e330cf94b0e5068b09999.jpg"
              }
            ],
            "relatedSpuOpenItemCode": "string",
            "relatedSkuOpenItemCode": "string"
          }
        ],
        "openItemCode": "GROUP#10001",
        "repeatable": 0
      }
    ]
  }'

Responses

Batch update result.

Bodyapplication/json
codeintegerrequired

A numeric status identifier indicating the result of the interface call, used to determine whether the operation executed successfully.

Enum ValueDescription
0

The request was executed successfully.

Non-zero value

The request execution failed. Specific error details can be viewed in the message field.

Example: 0
messagestringrequired

Text description corresponding to the status code, explaining the operation result or error cause to users.

Example: "Success"
dataArray of objects(ChoiceGroup)

Successful ChoiceGroup data model

errorListArray of objects(ErrorChoiceGroup)

Failed ChoiceGroup informations

Response
application/json
{ "code": 0, "message": "Success", "data": [ {} ], "errorList": [ {} ] }
Operations