# Batch Bind OpenItemCode

The endpoints allows developers setting the OpenItemCode mapping relationship using store ID and product name.
**Rate Limiting**
App-level throttling: **QPS ≤ 10**
**Notes**
- Existing partners that have already integrated via Keeta ID-based APIs must complete OpenItemCode binding for their existing products through this API before switching to OpenItemCode-based APIs, if they have previously created marketing campaigns on the Keeta platform.

Endpoint: POST /product/mapping/batchupdatebyname
Version: v.1.0.0

## Request fields (application/json):

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

  - `spuMappingList` (array, required)
    Please specify the mapping relationship between SPU names and their corresponding openItemCodes in this field. For detailed definitions of openItemCode, please refer to the []()Menu Development Guide documentation.

  - `spuMappingList.name` (string, required)
    Display name of the SPU
    Example: Spicy Beef Noodles

  - `spuMappingList.openItemCode` (string, required)
    Developer-provided external identifier that maintains a one-to-one mapping with Keeta's internal spuId. Must be unique across all SPUs. For details, see Menu Integration Guide
    Example: SPU#10001

  - `spuMappingList.skuList` (array, required)
    List of SKUs associated with this SPU using OpenItemCode references For details, see Menu Integration Guide

  - `spuMappingList.skuList.spec` (string)
    Display name of the SKU
    Example: Big

  - `spuMappingList.skuList.openItemCode` (string, required)
    Developer-provided external identifier that maintains a one-to-one mapping with Keeta's internal skuId. Must be unique across all SKUs. For details, see Menu Integration Guide
    Example: 1582

  - `spuMappingList.languageType` (string, required)
    Language code for the name field
    Example: en

## Response 200:

  - `200` (unknown)
    Request executed successfully

## 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.
    Example: 0

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

  - `data` (array)
    Returns a list of OpenItemCode values for all SPUs that were successfully bound during this API request.

  - `errorList` (array)
    Returns detailed information about SPUs that failed to bind, including SPU OpenItemCode and error message.

  - `errorList.id` (integer)
    Unique identifier for the SPU (Standard Product Unit), generated by Keeta's system

  - `errorList.name` (string)
    Display name of the SPU

  - `errorList.openItemCode` (string)
    Developer-provided external identifier that maintains a one-to-one mapping with Keeta's internal SPU ID. Refer to the "Menu Development Guide" for implementation details.
    Example: VGsku-00035

  - `errorList.errorPictureList` (array)
    Contains information about failed image binding attempts during batch operations, including error details

  - `errorList.errorPictureList.url` (string)
    Product image URLs
    Example: https://img-ap-hongkong.mykeeta.net/sailorproduct/9c760595674b395e330cf94b0e5068b09999.jpg

  - `errorList.errorPictureList.code` (integer)
    A numeric status identifier indicating the result of the interface call, used to determine whether the operation executed successfully. **A code value of 0** indicates that **the request was executed successfully**. **Any non-zero code value** indicates that **request execution failed**. **Specific error details** can be viewed in the *message* field.

  - `errorList.errorPictureList.message` (string)
    Text description corresponding to the status code, explaining the operation result or error cause to users.

  - `errorList.code` (integer)
    A numeric status identifier indicating the result of the interface call, used to determine whether the operation executed successfully. **A code value of 0** indicates that **the request was executed successfully**. **Any non-zero code value** indicates that **request execution failed**. **Specific error details** can be viewed in the *message* field.

  - `errorList.message` (string)
    Text description corresponding to the status code, explaining the operation result or error cause to users.

