---
metadata:
  - name: generator
    content: Diplodoc Platform v5.55.0
alternate:
  - https://yandex.com/dev/market/partner-api/doc/en/step-by-step/chats.md
  - https://yandex.com/dev/market/partner-api/doc/ru/step-by-step/chats.md
  - https://yandex.com/dev/market/partner-api/doc/zh/step-by-step/chats.md
  - href: zh/step-by-step/chats.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/market/partner-api/doc/zh/llms.txt

# 与客户聊天

Yandex Market API 允许您在聊天室中与客户沟通。

聊天的类型是什么？:

* `ORDER` — 奉命行事。 [关于订单和退款的聊天](https://yandex.ru/support/marketplace/ru/orders/communication/about-orders)
* `RETURN` — 关于退款（FBY, FBS 和 Express). [关于订单和退款的聊天](https://yandex.ru/support/marketplace/ru/orders/communication/about-orders)
* `DIRECT` — 如果客户对产品有疑问，他们就会开始聊天。 卖方不能创建它。 [了解有关此类聊天的更多信息](https://yandex.ru/support/marketplace/ru/orders/communication/with-users)

## 如何检查是否有新的聊天或消息 {#check}

**通过API通知:**

  燕基科斯.Market会向您发送请求。 [POST 通知书](https://yandex.com/dev/market/partner-api/doc/zh/push-notifications/reference/sendNotification.md) 出现新聊天或消息时:

  * On**CHAT_CREATED**：在系统中创建聊天并保存 `chatId`. 使用方法获取一次聊天上下文 [GET v2/businesses/{businessId}/chat](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/getChat.md) 并保存所述聊天信息。

  * On**CHAT_MESSAGE_SENT**：仅使用该方法接收消息 [GET v2/businesses/{businessId}/chats/message](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/getChatMessage.md). 如果聊天尚未保存，请使用该方法获取一次 [GET v2/businesses/{businessId}/chat](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/getChat.md) 并保存它。

**通过主API:**

  * 检查是否有与买家聊天。 — [POST v2/businesses/{businessId}/chats](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/getChats.md). 在请求中，指定聊天类型以及与其相关的订单或退款的ID。

  * 接收一个特定的聊天 — [GET v2/businesses/{businessId}/chat](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/getChat.md)

要接收消息，请使用以下方法:

* [POST v2/businesses/{businessId}/chats/history](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/getChatHistory.md) — 对于聊天消息的历史;
* [GET v2/businesses/{businessId}/chats/message](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/getChatMessage.md) — 为了信息。

## 如何回复邮件 {#answer}

<!-- source: zh/_includes/mermaid/chats-answer.md -->
```mermaid
%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#FDF3E8',
      'primaryTextColor': '#000000',
      'primaryBorderColor': '#BA9C80',
      'lineColor': '#BA9C80',
      'secondaryColor': '#94E1C4',
      'tertiaryColor': '#F84E57',
      'noteBkgColor': '#FED58D'
    }
  }
}%%

sequenceDiagram
    participant Merchant as 您的店铺
    participant Market as Yandex Market

    rect rgb(251, 243, 232)
        note right of Merchant: 搜索需要店铺回复的聊天

        Merchant ->>+ Market: "statuses": ["WAITING_FOR_PARTNER"]<br>POST v2/businesses/{businessId}/chats
        Market ->> Market: 生成聊天列表。
        Market -->>- Merchant: OK: 聊天列表。
    end

    rect rgb(251, 243, 232)
        note right of Merchant: 获取消息历史

        Merchant ->>+ Market: 聊天ID<br>POST v2/businesses/{businessId}/chats/history
        Market ->> Market: 生成消息列表。
        Market -->>- Merchant: OK: 聊天消息。
    end

    rect rgb(251, 243, 232)
        note right of Merchant: 发送消息

        Merchant ->>+ Market:消息<br>POST v2/businesses/{businessId}/chats/message
        Market ->> Market: 发送消息。
        Market -->>- Merchant: OK
    end

    rect rgb(251, 243, 232)
        note right of Merchant: 发送文件

        Merchant ->>+ Market: 文件<br>POST v2/businesses/{businessId}/chats/file/send
        Market ->> Market: 发送文件。
        Market -->>- Merchant: OK
    end
```
<!-- endsource: zh/_includes/mermaid/chats-answer.md -->

1. 找到需要答案的聊天。 为此，请提出请求 [POST v2/businesses/{businessId}/chats](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/getChats.md).
   在请求中，发送状态"需要存储响应"("statuses":["WAITING_FOR_PARTNER"])。

1. 要获取聊天消息历史记录，请使用请求 [POST v2/businesses/{businessId}/chats/history](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/getChatHistory.md)，其中传递聊天ID。

1. 使用请求发送消息 [POST v2/businesses/{businessId}/chats/message](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/sendMessageToChat.md).
   如果您需要向买家发送文件 — 例如，附加的产品照片 — 使用请求 [POST v2/businesses/{businessId}/chats/file/send](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/sendFileToChat.md).

## 如何开始聊天 {#create}

<!-- source: zh/_includes/mermaid/chats-create.md -->
```mermaid
%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#FDF3E8',
      'primaryTextColor': '#000000',
      'primaryBorderColor': '#BA9C80',
      'lineColor': '#BA9C80',
      'secondaryColor': '#94E1C4',
      'tertiaryColor': '#F84E57',
      'noteBkgColor': '#FED58D'
    }
  }
}%%

sequenceDiagram
    participant Merchant as 您的店铺
    participant Market as Yandex Market

    rect rgb(251, 243, 232)
        note right of Merchant: 检查是否存在与买家的聊天

        Merchant ->>+ Market: 聊天类型和订单或退货标识符<br>POST v2/businesses/{businessId}/chats
        Market ->> Market: 检查是否存在<br>与买家的聊天。
        Market -->>- Merchant: OK: 如果存在则返回聊天信息。
    end

    rect rgb(251, 243, 232)
        note right of Merchant: 如果不存在则创建聊天
        Merchant ->>+ Market: POST v2/businesses/{businessId}/chats/new
        Market ->> Market: 创建与用户<br>的聊天。
        Market -->>- Merchant: OK: 返回聊天标识符。
    end

    rect rgb(251, 243, 232)
        note right of Merchant: 发送消息

        Merchant ->>+ Market: 消息<br>POST v2/businesses/{businessId}/chats/message
        Market ->> Market: 发送消息。
        Market -->>- Merchant: OK
    end

    rect rgb(251, 243, 232)
        note right of Merchant: 发送文件

        Merchant ->>+ Market: 文件<br>POST v2/businesses/{businessId}/chats/file/send
        Market ->> Market: 发送文件。
        Market -->>- Merchant: OK
    end
```
<!-- endsource: zh/_includes/mermaid/chats-create.md -->

1. 您可以开始新的聊天并使用请求获取其ID。 [POST v2/businesses/{businessId}/chats/new](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/createChat.md).
如果与传输上下文的聊天已经存在，则将返回此聊天的ID。

    {% note tip "如何开始测试聊天" %}

    在调试界面中，创建测试订单，然后单击**创建测试聊天**或发出请求 [POST v2/businesses/{businessId}/chats/new](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/createChat.md).

    [了解有关使用测试订单的更多信息](https://yandex.com/dev/market/partner-api/doc/zh/concepts/sandbox.md)

    请注意:

    * 这样的聊天只能为订单创建，而不是退款;

    * 测试聊天中没有客户回复。

    {% endnote %}

2. 发送带有请求的消息 [POST v2/businesses/{businessId}/chats/message](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/sendMessageToChat.md).
如果您需要向买家发送文件 — 例如，附加的产品照片 — 使用请求 [POST v2/businesses/{businessId}/chats/file/send](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/sendFileToChat.md).

3. 检查来自买方的新消息。 — [POST v2/businesses/{businessId}/chats/history](https://yandex.com/dev/market/partner-api/doc/zh/reference/chats/getChatHistory.md). 使用基于请求中最后一条消息的ID的过滤器，只接收新消息，而不是重新上传您已经拥有的消息。
