Skip to content

Image Upload

Request

This endpoint allows merchants to upload images to the Keeta platform. The returned image URL can be used during menu synchronization.

Rate Limiting: App-level throttling: QPS ≤ 50

Implementation Notes:

  • Different store locations may safely reuse the same image URL, and developers should avoid redundant uploads of identical images to prevent triggering rate limits.
  • Keeta exclusively accepts JPEG, JPG, PNG and WebP file formats for image submissions. Please also ensure the image URL's content-type is one of the following: image/jpeg, image/jpg, image/png, image/webp.
  • Merchants should maintain consistent image dimensions across their catalog since significant variations in picture sizes may degrade display quality in consumer-facing applications, potentially hindering customers' ability to examine product details visually.
  • While the system enforces a hard maximum file size limit of 5MB, we strongly recommend keeping individual images under 2MB to ensure optimal performance; uploads exceeding 5MB will automatically fail.
  • Although a 4:3 aspect ratio is recommended for ideal rendering, non-compliant images will be automatically cropped by the system, which may result in unintended scaling or distortion.
  • Minimum dimension requirements mandate images be at least 600 pixels wide and 450 pixels tall to maintain baseline quality standards.
  • Calls must utilize the multipart/form-data content type for parameter transmission.
  • Developers must exclude the imgData field from any signature calculation processes during authentication.
Bodymultipart/form-datarequired
shopIdinteger, (int64)required

Unique identifier of the Keeta store.

Example:12345
imageNamestringrequired

The name of the image.

Example:"imageName"
imageDatastring, (binary)required

The byte array of the image.

curl -i -X POST \
  https://open.mykeeta.com/api/open/base/image/upload \
  -H 'Content-Type: multipart/form-data' \
  -F shopId=12345 \
  -F imageName=imageName \
  -F imageData=@imageData.bin

Responses

Successful image upload.

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

Photo's URL

Example:"https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b395e330cf94b0e5068b09999.jpg"
Response
{ "code": 0, "message": "Success", "data": "https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b395e330cf94b0e5068b09999.jpg" }