Skip to content

Keeta Store Management API (v.1.0.0)

This API provides comprehensive store management capabilities for Keeta platform integration.

Download OpenAPI description
Overview
Keeta Developer Website

https://developers.mykeeta.com/

Languages
Servers

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

Endpoints

Request APIs - All endpoints for requesting store information and making updates

Operations

Request

This endpoint allows developer to request comprehensive store details, including:

  1. Store Name
  2. Store Images: Includes both effective images (currently displayed) and images in process (pending approval)
  3. Address Information
  4. Geolocation Data: Latitude and longitude values
  5. Business Categories: the primary business classification system for stores registered by merchants on the Keeta platform, structured into two tiers: Primary category (main business focus) and Secondary categories (supplementary services)
  6. Store Contact Phone Numbers
  7. Store Status
  8. Store Business Hours
Bodyapplication/jsonrequired
shopIdinteger(int64)required

Unique identifier of the Keeta store

Example: 466663
curl -i -X POST \
  https://open.mykeeta.com/api/open/scm/shop/base/get \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 466663
  }'

Responses

Successful returns store details.

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(ShopBaseInfo)
Response
application/json
{ "code": 0, "message": "Success", "data": { "shopId": 466663, "name": "string", "enName": "string", "mainPictures": [], "logoUrl": "http://img-ap-hongkong.mykeeta.net/sailorproduct/a1232319d53a2fa1e704d2a2ea016cbb167763.jpg", "address": "新界屯門時代廣場南翼3樓25號舖", "enAddress": "Times Square South Wing, 3/F, Shop 25, Tuen Mun, New Territories", "longitude": 113.9758571, "latitude": 22.3922083, "primaryCategoryList": [], "supportCategoryList": [], "phones": [], "status": 3 } }

Request

Update Store Profile Image

Notes:

  1. Image Usage Scenarios Images are displayed in store exposure contexts including search results pages, homepage recommendations, and store header banners to increase user visibility.
  2. Technical Specifications Images must exceed 900×900 pixels in dimension and be under 5MB in file size. Note: This endpoint performs no format validation - callers must ensure compliance.
  3. Content Requirements Images should represent store quality and characteristics, featuring either high-quality signature dishes or brand logos (for locally renowned establishments).
  4. URL Format Rules Image URLs must begin with http:// or https:// and end with .jpg, .png, .jpeg, or .webp extensions.
  5. Approval Workflow Changes don't take effect immediately after API call; all modifications require approval review before activation.
  6. Duplicate Call Restriction Keeta rejects duplicate requests when images are in "Pending Review" status.
Bodyapplication/jsonrequired
shopIdinteger(int64)required

Store ID

Example: 466663
pictureUrlstringrequired

The URL returned by the product image upload API endpoint /api/open/base/image/upload

Example: "https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b395e330cf967hj430119511.jpg"
curl -i -X POST \
  https://open.mykeeta.com/api/open/scm/shop/picture/main/update \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 466663,
    "pictureUrl": "https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b395e330cf967hj430119511.jpg"
  }'

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" }

Request

This endpoint allows updating a store's contact phone numbers.

Notes:

  1. The updated contact numbers will be displayed on the Keeta app to facilitate customer communication with the merchant.
  2. The interface validates phone number quantity (Minimum: 1 phone number, Maximum: 3 phone numbers)
  3. Phone numbers must follow the strict format: International Area Code - Mobile Number (e.g., 86-13800138000)
Bodyapplication/jsonrequired
shopIdinteger(int64)required

Store ID

Example: 466663
phonesArray of strings[ 1 .. 3 ] itemsrequired

A list of contact number (format: International Area Code - Mobile Number)

Example: ["852-12345678","86-18700121234"]
curl -i -X POST \
  https://open.mykeeta.com/api/open/scm/shop/contact/update \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 466663,
    "phones": [
      "852-12345678",
      "86-18700121234"
    ]
  }'

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" }

Request

This endpoint allows querying a store business hours.

Bodyapplication/jsonrequired
shopIdinteger(int64)required

Store ID

Example: 466663
curl -i -X POST \
  https://open.mykeeta.com/api/open/scm/shop/business/hour/effective/get \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 466663
  }'

Responses

Successful returns business hours.

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

Merchant's business hours, returned as a map structure. Keys represent days of the week (e.g., "mon", "tue", "wed", "thu", "fri", "sat", "sun"). Values are the business hours for each day.

Example: {"mon":[{"startTime":36000,"endTime":86400}],"tue":[{"startTime":36000,"endTime":86400}],"wed":[{"startTime":36000,"endTime":86400}],"thu":[{"startTime":36000,"endTime":86400}],"fri":[{"startTime":36000,"endTime":86400}],"sat":[{"startTime":36000,"endTime":86400}],"sun":[{"startTime":36000,"endTime":86400}]}
Response
application/json
{ "code": 0, "message": "Success", "data": { "mon": [], "tue": [], "wed": [], "thu": [], "fri": [], "sat": [], "sun": [] } }

Request

This endpoint allows updating a store's business hours.

Notes:

  1. To indicate a full-day closure, set both startTime and endTime to 0 in the BusinessHourDTO structure for that day.
  2. Within the businessHourOfTheWeek field, business hours must not overlap for any single day.
Bodyapplication/jsonrequired
shopIdinteger(int64)required

Store ID

Example: 466663
businessHourOfTheWeekobjectrequired

Merchant's business hours, performed as a map structure. Keys represent days of the week (e.g., "mon", "tue", "wed", "thu", "fri", "sat", "sun"). Values are the business hours for each day.

Example: {"mon":[{"startTime":3000,"endTime":17400}],"tue":[{"startTime":3000,"endTime":17400}],"wed":[{"startTime":3000,"endTime":17400}],"thu":[{"startTime":3000,"endTime":17400}],"fri":[{"startTime":3000,"endTime":17400}],"sat":[{"startTime":3000,"endTime":17400}],"sun":[{"startTime":0,"endTime":0}]}
businessHourOfTheWeek.​property name*Array of objects(BusinessHourDTO)additional property
curl -i -X POST \
  https://open.mykeeta.com/api/open/scm/shop/business/hour/effective/update \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 466663,
    "businessHourOfTheWeek": {
      "mon": [
        {
          "startTime": 3000,
          "endTime": 17400
        }
      ],
      "tue": [
        {
          "startTime": 3000,
          "endTime": 17400
        }
      ],
      "wed": [
        {
          "startTime": 3000,
          "endTime": 17400
        }
      ],
      "thu": [
        {
          "startTime": 3000,
          "endTime": 17400
        }
      ],
      "fri": [
        {
          "startTime": 3000,
          "endTime": 17400
        }
      ],
      "sat": [
        {
          "startTime": 3000,
          "endTime": 17400
        }
      ],
      "sun": [
        {
          "startTime": 0,
          "endTime": 0
        }
      ]
    }
  }'

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" }

Request

Use this endpoint to suspend store operations. Suspended stores remain hidden from customers until manually reactivated.

Bodyapplication/jsonrequired
shopIdinteger(int64)required

Store ID

Example: 466663
curl -i -X POST \
  https://open.mykeeta.com/api/open/scm/shop/status/rest \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 466663
  }'

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" }

Request

This endpoint reactivates suspended stores, transitioning them from a non-operational state back to operational status for order acceptance and customer visibility.

Bodyapplication/jsonrequired
shopIdinteger(int64)required

Store ID

Example: 466663
curl -i -X POST \
  https://open.mykeeta.com/api/open/scm/shop/status/open \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 466663
  }'

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" }

Request

This endpoint retrieves a store's currently active special business hours, which temporarily override regular operating hours for specific dates (e.g., holidays, events).

Notes:

  1. Special business hours refer to temporarily adjusted operating schedules for stores on specific dates, such as holidays, special events, or operational changes that differ from regular weekly hours
  2. When configured, these hours automatically override standard schedules during their effective period and seamlessly revert to normal hours after expiration without manual intervention, ensuring continuous and accurate operational information.
Bodyapplication/jsonrequired
shopIdinteger(int64)required

Store ID

Example: 466663
curl -i -X POST \
  https://open.mykeeta.com/api/open/scm/shop/special/business/hour/effective/get \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 466663
  }'

Responses

Successful returns special business hours.

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(SpecialBusinessHourDTO)
Response
application/json
{ "code": 0, "message": "Success", "data": [ {} ] }

Request

This endpoint updates a store's special business hours, enforcing non-overlapping date ranges and supporting full-day closures or complete configuration clearance.

Notes:

  1. Multiple SpecialBusinessHourDTO entries must have non-overlapping date ranges (startDate to endDate) to prevent scheduling conflicts and ensure operational clarity.
  2. To indicate 24-hour closure during a period, submit one SpecialBusinessHourDTO with startTime=0 and endTime=0.
  3. To completely clear all special business hours configurations, set the specialBusinessHour field to either null or an empty array [] in your request payload.
Bodyapplication/jsonrequired
shopIdinteger(int64)required

Store ID

Example: 466663
specialBusinessHourArray of objects(SpecialBusinessHourDTO)required

Special business hours list

specialBusinessHour[].​startDateinteger(int64)required

Start date timestamp (milliseconds) for 00:00:00.000 of the day timestamp example: 1690214400000 (2023-07-24 00:00:00 UTC)

Example: 1690214400000
specialBusinessHour[].​endDateinteger(int64)required

End date timestamp (milliseconds) for 23:59:59.999 of the day timestamp example: 1690646399999 (2023-07-28 23:59:59.999 UTC)

Example: 1690646399999
specialBusinessHour[].​businessHourArray of objects(BusinessHourDTO)required

Operating hours during [startDate, endDate] period Full-day closure: Single DTO with startTime=0 and endTime=0

specialBusinessHour[].​businessHour[].​startTimeintegerrequired

Start time of business period in seconds:

  • Range: 0 (midnight) to 86400 (next midnight)
  • For full-day closure: Set to 0 along with endTime=0
  • Time periods must not overlap within the same day
Example: 27000
specialBusinessHour[].​businessHour[].​endTimeintegerrequired

End time of business period in seconds:

  • Must be >= startTime except for cross-day periods
  • For full-day closure: Set to 0 along with startTime=0
Example: 28000
curl -i -X POST \
  https://open.mykeeta.com/api/open/scm/shop/special/business/hour/effective/update \
  -H 'Content-Type: application/json' \
  -d '{
    "shopId": 466663,
    "specialBusinessHour": [
      {
        "startDate": 1690214400000,
        "endDate": 1690646399999,
        "businessHour": [
          {
            "startTime": 27000,
            "endTime": 28000
          }
        ]
      }
    ]
  }'

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" }

Webhooks

Webhooks - Webhook notifications sent by Keeta to third-party systems

Webhooks