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. 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": [ {} ] }

Batch query which products are using these ChoiceGroups

Request

  1. Query ChoiceGroup's applied products.

Rate limit: 10 QPS by appId dimension.

Bodyapplication/jsonrequired
shopIdinteger(int64)required

store id in KeeTa

Example: 25381
choiceGroupIdListArray of integers(int64)required

ChoiceGroup id list

Example: [3123,4343]
curl -i -X POST \
  https://open.mykeeta.com/api/open/product/choicegroup/listappliedspu \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 25381,
    "choiceGroupIdList": [
      3123,
      4343
    ]
  }'

Responses

Query applied SPU 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(ChoiceGroupAppliedSpu)

Successful ChoiceGroupAppliedSpu data model

errorListArray of objects(ErrorChoiceGroup)

Failed choiceGroup informations, mostly the wrong ChoiceGroup.id

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

Request

  1. Batch delete ChoiceGroups and related ChoiceGroupSkus.

Rate limit: 10 QPS by appId dimension.

Bodyapplication/jsonrequired
shopIdinteger(int64)required

store id in KeeTa

Example: 25381
choiceGroupIdListArray of integers(int64)required

ChoiceGroup id list

Example: [3123,4343]
curl -i -X POST \
  https://open.mykeeta.com/api/open/product/choicegroup/batchdel \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 25381,
    "choiceGroupIdList": [
      3123,
      4343
    ]
  }'

Responses

Batch deletion 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 integers(int64)

Successful ChoiceGroup id list

errorListArray of objects(ErrorChoiceGroup)

Failed ChoiceGroup informations

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