# Обмен сообщениями

## Входящие сообщения

Все сообщения от пользователей, необходимо отправлять на URL-адрес для входящих сообщений, настроенный в Fasttrack для канала "API messenger".

URL для входящих сообщений:

{% code overflow="wrap" %}

```
https://dashboard.fstrk.io/bots/receive_post/:bot uuid/api_messenger/
```

{% endcode %}

{% tabs %}
{% tab title="Body" %}

```json
{
  "chat": {
    "client_id": "{{ user_id }}",
    "name": "{{ user_name }}"
  },
  "id": "{{ message_id }}",
  "payload": {
    "text": "/start",
    "type": "text",
    "deeplink_params": {
      "c": 111,
      "n": 222
    }
  }
}
```

{% endtab %}

{% tab title="Fields" %}

{% endtab %}
{% endtabs %}

Пример запроса в формате JSON:

```json
{
  "id": "1",
  "chat": {
    "client_id": "00000000-0000-0000-0000-000000000000",
    "name": "Иван"
  },
  "timestamp": 1619676736171,
  "payload": {
    "type": "text",
    "text": "Текст сообщения"
  }
}
```

* `id` - ID сообщения на вашей стороне
* `chat.client_id` - ID клиента на вашей стороне
* `chat.name` - имя клиента (не обязательно)
* `timestamp` - время отправки сообщения
* `payload.type` - тип сообщения (пока только text)
* `payload.text` - содержание сообщения (для payload.type == text)

{% hint style="info" %}
`client_id` создается на вашей стороне. \
Максимальная длина идентификатора – 36 символов.
{% endhint %}

## Исходящие сообщения

Сообщения, созданные на стороне Fasttrack, будут отправляться на указанный в настройках канала "API messenger" адрес Webhook URL.

Пример сообщения с ответом оператора из Fasttrack:

```json
{
  "id": "00000000-0000-0000-0000-000000000000",
  "chat": {
    "uuid": "00000000-0000-0000-0000-000000000000",
    "client_id": "00000000-0000-0000-0000-000000000000"
  },
  "sender": {
    "type": "operator",
    "name": "Nikolay",
    "avatar": null
  },
  "timestamp": 1619676206524,
  "payload": {
    "type": "text",
    "text": "Текст сообщения"
  }
}
```

* `id` – ID сообщения в Fasttrack;
* `chat.uuid` – ID клиента в Fasttrack;
* `chat.client_id` – ID клиента на вашей стороне
* `sender.type` – тип отправителя (operator или bot)
* `sender.name` – имя отправителя (например имя оператора)
* `sender.avatar` – аватар отправителя (может быть пустым)
* `timestamp` – время отправки сообщения
* `payload.type` – тип сообщения (пока только text)
* `payload.text` – содержание сообщения (для payload.type == text)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fstrk.io/knowledge_base/channels/svoi-kanal-api/messages.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
