> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.returnhelper.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 按 Return Inventory ID 创建 Recall

<Warning>
  此页面由 AI 自动翻译。API 技术规格以英文呈现为标准。如有任何疑问，请参阅[英文版本](/api-reference/recall/create-recall-by-return-inventory-ids)。
</Warning>

为已抵达仓库的一个或多个退件库存项创建召回请求。召回会将物品从仓库再次寄出，目的地为我们的香港仓库。

## 前置条件

* 目标库存项必须已存在于您的账户。`returnInventoryId` 由 `newInventoryCreated` webhook 事件推送——集成应在自有侧将其缓存。
* 每条库存的当前 `handlingStatusCode` 必须可依处理状态机推进至召回（`Handling.rtn`）——通常 `pending` 或 `ohd` 状态可用。
* 没有任何项可处于已激活（未取消）的召回中。
* 没有任何项的所属行项目存在待处理的 VAS——请先解决。

## 必填字段

* **`returnInventoryIdList`** — 非空 `List<long>`。

## 副作用

* 每条库存的 `handlingCode` 会被设为 `rtn`。
* 每条库存的 RMA 映射会被锁定，禁止交换。
* 召回履约为异步；状态更新透过 webhook 推送（`recallShipmentDispatched`、`recallDelivered` 等）。

## 相关

* [建立召回订单](/zh-Hans/api-reference/recall/create-recall-order) — 直接接受召回 payload 的旧版非批量端点。新集成请优先使用本批量端点。
* [按退件库存 ID 取消召回](/zh-Hans/api-reference/recall/cancel-recall-by-return-inventory-id) — 在仓库履约前撤销召回。
* [取得所有召回库存状态](/zh-Hans/api-reference/recallstatus/get-all-recall-inventory-statuses) — 代码到标签的映射。
* [Webhooks](/zh-Hans/webhooks) — `recallUpdateStatus` 与召回生命周期事件会将进度推送至您的端点。


## OpenAPI

````yaml post /api/Recall/createRecallByReturnInventoryId
openapi: 3.1.0
info:
  title: Return Helper API
  description: API documentation for Return Helper — covering User and Public endpoints.
  version: 1.0.0
servers:
  - url: https://api.returnshelper.com/uat/user
    description: Sandbox — User API
  - url: https://api.returnshelper.com/uat/public
    description: Sandbox — Public API
  - url: https://api.returnhelpercentre.com/v1/user
    description: Production — User API
  - url: https://api.returnhelpercentre.com/v1/public
    description: Production — Public API
  - url: https://api.returnhelperchina.com/user
    description: Production — User API (China)
security:
  - ApiKey: []
    ApiToken: []
paths:
  /api/Recall/createRecallByReturnInventoryId:
    post:
      tags:
        - Recall
      summary: Create recall by return inventory IDs
      operationId: ReturnUserApi_CreateRecallByReturnInventoryId
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRecallByReturnInventoryIdListRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CreateRecallByReturnInventoryIdListResponse
        '401':
          description: >-
            Authentication failed. Returned when the `x-rr-apikey` or
            `x-rr-apitoken` header is missing or invalid. The body uses the
            standard `ApiResponse` envelope with `meta.error.message` describing
            the auth failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
      security:
        - ApiKey: []
          ApiToken: []
      servers:
        - url: https://api.returnshelper.com/uat/user
          description: Sandbox — User API
components:
  schemas:
    CreateRecallByReturnInventoryIdListRequest:
      type: object
      properties:
        returnInventoryIdList:
          type: array
          items:
            type: integer
            format: int64
          description: List of return inventory IDs
      required:
        - returnInventoryIdList
    CreateRecallByReturnInventoryIdListResponse:
      type: object
      properties:
        recallList:
          type: array
          items:
            $ref: '#/components/schemas/CreateRecallPayload'
          description: List of created recalls
    ApiResponse:
      type: object
      description: >-
        Universal response envelope. Successful responses include the business
        payload as additional top-level fields alongside `correlationId` and
        `meta`. Failed responses (auth errors, validation errors) only populate
        `correlationId` and `meta`, with `meta.errorCode` and `meta.error`
        describing the failure.
      properties:
        correlationId:
          type:
            - string
            - 'null'
          description: >-
            Unique correlation ID for tracing the request through Return Helper
            systems.
        meta:
          $ref: '#/components/schemas/ApiResponseMeta'
    CreateRecallPayload:
      type: object
      properties:
        apiId:
          type: integer
          format: int32
        recallId:
          type: integer
          format: int64
        warehouseId:
          type: integer
          format: int32
        recallNumber:
          type:
            - string
            - 'null'
        recallStatusCode:
          type: string
          description: Recall status code
        warehouseRemarks:
          type:
            - string
            - 'null'
        recallInventoryList:
          type: array
          items:
            type: object
            description: '(see source: RecallInventoryPayload)'
    ApiResponseMeta:
      type: object
      description: >-
        Application-level metadata for every API response. Inspect `status` and
        `errorCode` to detect soft-error responses (validation failures arrive
        as HTTP 200 with `meta.status: 400`).
      properties:
        status:
          type: integer
          description: >-
            Application-level status code. For successful operations this
            mirrors the HTTP status (e.g. 200). For validation failures it
            reports the logical status (e.g. 400) even though the wire HTTP
            status is 200.
        data:
          type: object
          additionalProperties:
            type: string
          description: Reserved free-form metadata key/value pairs. Usually empty.
        errorCode:
          type:
            - string
            - 'null'
          description: >-
            Machine-readable error code (e.g. `VALIDATION_FAILED`). Non-null
            only when the operation failed.
        error:
          type: object
          additionalProperties: true
          description: >-
            Field-level or message-level error detail keyed by request property
            name. Empty object on success.
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-rr-apikey
      description: Your API key
    ApiToken:
      type: apiKey
      in: header
      name: x-rr-apitoken
      description: Your API token — keep this private

````