# Image Upload

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.

Endpoint: POST /base/image/upload
Version: v.1.0.0

## Request fields (multipart/form-data):

  - `shopId` (integer, required)
    Unique identifier of the Keeta store.
    Example: 12345

  - `imageName` (string, required)
    The name of the image.
    Example: "imageName"

  - `imageData` (string, required)
    The byte array of the image.

## Response 200 fields (application/json):

  - `code` (integer, required)
    A numeric status identifier indicating the result of the interface call, used to determine whether the operation executed successfully.

  - `message` (string, required)
    Text description corresponding to the status code, explaining the operation result or error cause to users.
    Example: "Success"

  - `data` (string)
    Photo's URL
    Example: "https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b395e330cf94b0e5068b09999.jpg"


