Skip to content

Keeta Order Management API (v.1.0.0)

This API provides comprehensive order management capabilities for Keeta platform integration, including order operations, refund management, and real-time notifications.

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 order information and making updates

Operations

Webhooks

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

Webhooks

Request

This webhook is sent by Keeta to notify the developer's system that a new order has been placed.

Event ID: 1001

Notes: In the event that Keeta's platform sends a new order notification but does not receive an acknowledgment from the developer's system, Keeta will attempt to resend the notification up to a maximum of three additional times.

Bodyapplication/jsonrequired
orderInfoobject

This structure contains all the detailed information about the order (such as order delivery information, recipient information, cost information, etc.)

application/json
{ "orderInfo": { "baseOrder": {}, "merchantOrder": {}, "merchantOrderDeliveries": [], "deliveryInfos": [], "orderPromotionDtlList": [], "refundInfos": [], "recipientInfo": {}, "feeDtl": {}, "rebates": {}, "rebatesTag": true, "products": [], "bigOrderTag": true, "subOrderInfoList": [] } }

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

Order Acceptance NotificationWebhook

Request

This webhook serves to notify the developer's system when an order's status changes to 'Order Confirmed' on the Keeta platform.

Event ID: 1002

Bodyapplication/jsonrequired
orderViewIdinteger(int64)

Unique identifier for orders on Keeta platform

Example: 756823555555859
shopIdinteger(int64)

Unique identifier of the Keeta store

Example: 466663
statusinteger

Order status code, always 30 for this event

Example: 30
opTimeinteger(int64)

Time when the event occurred, specified as milliseconds since Jan 1, 1970 (Unix epoch)

Example: 1751448108144
application/json
{ "orderViewId": 756823555555859, "shopId": 466663, "status": 30, "opTime": 1751448108144 }

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

Order Completion NotificationWebhook

Request

This webhook serves to notify the developer's system when an order's status changes to 'Delivered' on the Keeta platform.

Event ID: 1003

Bodyapplication/jsonrequired
orderViewIdinteger(int64)

Unique identifier for orders on Keeta platform

Example: 756823555555859
shopIdinteger(int64)

Unique identifier of the Keeta store

Example: 466663
statusinteger

Order status code, always 40 for this event

Example: 40
opTimeinteger(int64)

Time when the event occurred, specified as milliseconds since Jan 1, 1970 (Unix epoch)

Example: 1751448108144
application/json
{ "orderViewId": 756823555555859, "shopId": 466663, "status": 40, "opTime": 1751448108144 }

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

Order Cancellation NotificationWebhook

Request

This webhook serves to notify the developer's system when an order's status changes to 'Cancelled' on the Keeta platform.

Event ID: 1004

Bodyapplication/jsonrequired
orderViewIdinteger(int64)

Unique identifier for orders on Keeta platform

Example: 756823555555859
shopIdinteger(int64)

Unique identifier of the Keeta store

Example: 466663
statusinteger

Order status code, always 50 for this event

Example: 50
opTimeinteger(int64)

Time when the event occurred, specified as milliseconds since Jan 1, 1970 (Unix epoch)

Example: 1751448108144
cancelReasonstring

Text description of cancellation reason

Example: "Customer cancel the order"
opTypeinteger

Code representing who initiated the cancellation:

Enum ValueDescription
0

System-automated cancellation

10

Customer-initiated cancellation

20

Merchant-initiated cancellation

30

Customer service-initiated cancellation

Example: 10
application/json
{ "orderViewId": 756823555555859, "shopId": 466663, "status": 50, "opTime": 1751448108144, "cancelReason": "Customer cancel the order", "opType": 10 }

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

Order Refund Status Change NotificationWebhook

Request

This webhook is designed to inform the developer's system whenever there is a change in the status of an order's refund application on the Keeta platform.

Event ID: 1005

Bodyapplication/jsonrequired
orderViewIdinteger(int64)

Unique identifier for orders on Keeta platform

Example: 756823555555859
shopIdinteger(int64)

Unique identifier of the Keeta store

Example: 466663
statusinteger

Refund status code

Example: 2001
afterSaleOrderIdinteger(int64)

Unique identifier for the after-sales application

Example: 833443425408767
isAppealinteger

Indicates if this is an appealed refund request

Enum ValueDescription
0

indicates a standard refund request

1

indicates a customer appeal case (requires platform intervention)

Example: 0
picturesstring

The pictures field contains a JSON-formatted array string that stores URLs of images uploaded by customers as evidence for their refund requests. This field supports a maximum of 9 image URLs, with each URL separated by commas and properly escaped within the JSON array structure.

Example: "https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b395e330cf94b0e5068b0111111.jpg"
moneyinteger(int64)

Refund amount

Example: 2800
currencystring

Currency code for the refund amount

Example: "HKD"
applyOpTypeinteger

Code representing who initiated the refund request:

Enum ValueDescription
0

System-automated refund

10

Customer-initiated refund

20

Merchant-initiated refund

30

Customer service-initiated refund

Example: 10
applyReasonstring

Original reason for refund request

Example: "xxx"
handleOpTypeinteger

This field represents the code value corresponding to the type of personnel handling this after-sales application:

Enum ValueDescription
0

indicates system-automated processing

10

indicates customer-initiated refund

20

indicates merchant-initiated refund

30

indicates Keeta customer service representative intervention

Example: 20
handleReasonstring

This field indicates the reason why the after-sales application has been changed to its current status.

Example: "Merchant agree refund"
opTimeinteger(int64)

Time when the event occurred, specified as milliseconds since Jan 1, 1970 (Unix epoch)

Example: 1751448108144
application/json
{ "orderViewId": 756823555555859, "shopId": 466663, "status": 2001, "afterSaleOrderId": 833443425408767, "isAppeal": 0, "pictures": "https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b395e330cf94b0e5068b0111111.jpg", "money": 2800, "currency": "HKD", "applyOpType": 10, "applyReason": "xxx", "handleOpType": 20, "handleReason": "Merchant agree refund", "opTime": 1751448108144 }

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

Delivery Status Change NotificationWebhook

Request

This webhook is designed to inform the developer's system whenever there is a change in the status of Keeta Couriers.

Event ID: 1006

Bodyapplication/jsonrequired
orderViewIdinteger(int64)

Unique identifier for orders on Keeta platform

Example: 756823555555859
shopIdinteger(int64)

Unique identifier of the Keeta store

Example: 466663
logisticsStatusinteger

The current operational state of the delivery order in the fulfillment workflow, with the following possible values

Enum ValueDescription
0

(Order Created) - The delivery request has been successfully registered in Keeta's system but rider assignment has not yet begun.

10

(Dispatching) - The system is actively searching for and assigning an available rider to fulfill the order.

20

(Rider Assigned) - A rider has accepted the delivery task and is preparing to travel to the merchant location.

25

(Rider Arrived at Store) - The assigned rider has reached the merchant's physical location and is waiting to collect the order.

30

(Order Collected) - The rider has physically received the order package and begun the delivery journey to the customer.

50

(Delivery Completed) - The order has been successfully delivered to and acknowledged by the customer.

99

(Order Cancelled) - The delivery process was terminated.

Example: 10
opTimeinteger(int64)

Time when the event occurred, specified as milliseconds since Jan 1, 1970 (Unix epoch)

Example: 1751448108144
courierNamestring

Name of the courier responsible for delivery

Example: "Pony Ma"
courierPhonestring

Phone number of the courier responsible for delivery

Example: "+96342425335"
bigOrderTagboolean

Identifies large orders requiring split delivery:

When bigOrderTag = True, the order is a "Large Order"

When bigOrderTag = False, the order is a standard single-delivery order

Large Order Definition: Orders exceeding logistical capacity thresholds, necessitating division into sub-orders.

Example: false
merchantSubOrderIdinteger(int64)

Unique identifier for the suborder

application/json
{ "orderViewId": 756823555555859, "shopId": 466663, "logisticsStatus": 10, "opTime": 1751448108144, "courierName": "Pony Ma", "courierPhone": "+96342425335", "bigOrderTag": false, "merchantSubOrderId": 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" }

Partial Product Refund Request Status Change NotificationWebhook

Request

This webhook is designed to notify your system when the status of a partial product refund request within an order changes on the Keeta platform.

Event ID: 1007

Bodyapplication/jsonrequired
orderViewIdinteger(int64)

Unique identifier for orders on Keeta platform

Example: 756823555555859
shopIdinteger(int64)

Unique identifier of the Keeta store

Example: 466663
statusinteger

Refund status code

Example: 5001
afterSaleOrderIdinteger(int64)

Unique identifier for the after-sales application

Example: 833441825390895
isAppealinteger

Indicates if this is an appealed refund request

Enum ValueDescription
0

Not an appeal

1

Customer appeal case

Example: 0
picturesstring

JSON-formatted array string of image URLs uploaded by customers

Example: "https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b344560cf94b0e5068b19511.jpg"
moneyinteger(int64)

Refund amount

Example: 3620
currencystring

Currency code for the refund amount

Example: "HKD"
applyOpTypeinteger

Code representing who initiated the refund request

Example: 10
applyReasonstring

Original reason for refund request

Example: "The quantity of delivered goods has decreased; Additional information: No egg tarts available"
handleOpTypeinteger

Code representing who handled the refund request

Example: 20
handleReasonstring

Reason for status change

Example: "Merchant agree refund"
opTimeinteger(int64)

Time when the event occurred, specified as milliseconds since Jan 1, 1970 (Unix epoch)

Example: 1751448108144
refundProductsArray of objects(ProductDTO)

This field contains detailed information about all the products that are going to be refunded

application/json
{ "orderViewId": 756823555555859, "shopId": 466663, "status": 5001, "afterSaleOrderId": 833441825390895, "isAppeal": 0, "pictures": "https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b344560cf94b0e5068b19511.jpg", "money": 3620, "currency": "HKD", "applyOpType": 10, "applyReason": "The quantity of delivered goods has decreased; Additional information: No egg tarts available", "handleOpType": 20, "handleReason": "Merchant agree refund", "opTime": 1751448108144, "refundProducts": [ {} ] }

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

MerchanSelfDelivery

The endpoint below is restricted to merchant self-delivery orders and is only available for updates after the merchant accepts the order. Orders that are completed or cancelled cannot be updated.
Availability: This API is available starting August 16, 2025.

Operations