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

  • To update a ShopCategory information, will keep its original ID
  • Please ensure that each parameter is the value you want to update.

Rate limit: 10 QPS by appId dimension.

Bodyapplication/jsonrequired
shopIdinteger(int64)required

store id in KeeTa

Example: 25381
shopCategoryobject(ShopCategory)required
shopCategory.​idinteger(int64)

Keeta's menu category ID. Not required for OpenItemCode-based APIs. Required for updates in Keeta ID-based APIs.

Example: 12345
shopCategory.​namestringrequired

Name of the category in a menu

Example: "Happy Meal"
shopCategory.​sourceLanguageTypestringrequired

Language type of the name field. Supported language enums can be found in Menu Integration Guide

Example: "en"
shopCategory.​nameTranslationstring

Translated text for the name field

Example: "開心樂園餐"
shopCategory.​targetLanguageTypestring

Language type of nameTranslation. Required when nameTranslation is provided.

Example: "zh-HK"
shopCategory.​nameTranslateTypeinteger

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

Example: 1
shopCategory.​typeintegerrequired

Indicates the menu category type:

Enum ValueDescription
0

indicates a regular optional category (customers may skip)

1

indicates a required category (customers must select at least one item)

Example: 0
shopCategory.​descriptionstring

Brief description of the category in a menu

Example: "Happy Meal description"
shopCategory.​descSourceLanguageTypestring

Language type of description. Required if description exists.

Example: "en"
shopCategory.​descriptionTranslationstring

Translated text for description

Example: "開心樂園餐描述"
shopCategory.​descTargetLanguageTypestring

Language type of descriptionTranslation. Required when descriptionTranslation exists.

Example: "zh-HK"
shopCategory.​descriptionTranslateTypeinteger

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

Example: 1
shopCategory.​openItemCodestringrequired

Third-party category ID. Mandatory and must be unique in OpenItemCode-based APIs. Optional in Keeta ID-based APIs.

Example: "SHOP_CATEGORY#10001"
shopCategory.​availableTimeobject

Selling time slots for this category. Categories are unavailable outside these times.

curl -i -X POST \
  https://open.mykeeta.com/api/open/product/shopcategory/update \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 25381,
    "shopCategory": {
      "id": 12345,
      "name": "Happy Meal",
      "sourceLanguageType": "en",
      "nameTranslation": "開心樂園餐",
      "targetLanguageType": "zh-HK",
      "nameTranslateType": 1,
      "type": 0,
      "description": "Happy Meal description",
      "descSourceLanguageType": "en",
      "descriptionTranslation": "開心樂園餐描述",
      "descTargetLanguageType": "zh-HK",
      "descriptionTranslateType": 1,
      "openItemCode": "SHOP_CATEGORY#10001",
      "availableTime": {
        "code": 0,
        "values": [
          "string"
        ],
        "available": [
          {
            "startTimestamp": 1735660800000,
            "endTimestamp": 1736956799000
          }
        ]
      }
    }
  }'

Responses

Successful update.

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"
dataobject(ShopCategory)
Response
application/json
{ "code": 0, "message": "Success", "data": { "id": 12345, "name": "Happy Meal", "sourceLanguageType": "en", "nameTranslation": "開心樂園餐", "targetLanguageType": "zh-HK", "nameTranslateType": 1, "type": 0, "description": "Happy Meal description", "descSourceLanguageType": "en", "descriptionTranslation": "開心樂園餐描述", "descTargetLanguageType": "zh-HK", "descriptionTranslateType": 1, "openItemCode": "SHOP_CATEGORY#10001", "availableTime": {} } }

Request

  1. You can only delete ShopCategory that doesn't contain any product.
  2. Please make sure the ShopCategory.id is in-store.

Rate limit: 10 QPS by appId dimension.

Bodyapplication/jsonrequired
shopIdinteger(int64)required

store id in KeeTa

Example: 25381
shopCategoryIdListArray of integers(int64)required

ShopCategory id list to be deleted

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

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 ShopCategory id list

errorListArray of objects(ErrorShopCategory)

failed ShopCategory data

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

Request

  • Adjust one specific ShopCategory's order, the sequence need to be greater than 0 and less than the number of ShopCategories.

Rate limit: 10 QPS by appId dimension.

Bodyapplication/jsonrequired
idinteger(int64)required

ShopCategory id

shopIdinteger(int64)required

store id in KeeTa

Example: 25381
sequenceintegerrequired

target sequence

Example: 2455425486
curl -i -X POST \
  https://open.mykeeta.com/api/open/product/shopcategory/updatesequence \
  -H 'Content-Type: application/json' \
  -d '{
    "id": 0,
    "shopId": 25381,
    "sequence": 2455425486
  }'

Responses

Request executed successfully

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"
Response
application/json
{ "code": 0, "message": "Success" }
Operations