# Получение сообщения от клиента

Все сообщения пользователя приходят с типом события `message_created`.

{% hint style="info" %}

#### типы сообщений

* text — текстовое сообщение
* postback — нажатие пользователем на кнопку в чат-боте
* image — изображение
* document — файл
* unknown — неподдерживаемый формат (например, отправка контакта пользователем)
  {% endhint %}

#### 1. Текстовое сообщение (полный webhook)

{% code overflow="wrap" %}

```json
{
  "event_type": "message_created",
  "payload": {
    "chat": {
      "uuid": "uuid пользователя",
      "avatar": "ссылка на аватар пользователя",
      "platform": "мессенджер",
      "phone": "номер телефона пользователя",
      "name": "имя пользователя"
    },
    "profile": {
      "uuid": "uuid профиля пользователя"
    },
    "message": {
      "uuid": "uuid сообщения",
      "type": "text",
      "text": "сообщение пользователя"
    },
    "session": {
      "title": null,
      "context": null,
      "team": {
        "id": "id команды",
        "name": "название команды"
      }
    }
  },
  "timestamp": 1777966993528
}
```

{% endcode %}

<details>

<summary><strong>Описание параметров</strong></summary>

#### chat

* `uuid` — уникальный идентификатор чата&#x20;
* `avatar` — аватар пользователя (при наличии)
* `platform` — канал (Telegram, WhatsApp и т.д.)
* `phone` — телефон (если доступен)
* `name` — имя пользователя

#### profile

* `uuid` — идентификатор профиля пользователя

#### session

* `title` — заголовок чат-сессии (может быть null)
* `context` — контекст чат-сессии (может быть null)
* `team.id` — ID команды (число)
* `team.name` — название команды

#### message

* `uuid` — уникальный ID сообщения
* `type` — тип текстового сообщения
* `text` — содержимое сообщения

</details>

### 2. Кнопка (postback)

<pre data-overflow="wrap"><code><strong>{
</strong>   // ...
    "message": {
      "uuid": "uuid сообщения",
      "type": "postback",
      "text": "Название кнопки"
    },
    // ...
}
</code></pre>

<details>

<summary><strong>Описание параметров</strong></summary>

#### message

* `uuid` — уникальный ID сообщения
* `type` — тип события нажатия на кнопку в сценарии чат-бота
* `text` — название кнопки

</details>

### 3. Изображение

<pre data-overflow="wrap"><code><strong>{
</strong>   // ...
    "message": {
      "uuid": "uuid сообщения",
      "type": "image",
      "url": "ссылка на изображение",
      "caption": "описание или null"
    },
    // ...
}
</code></pre>

<details>

<summary><strong>Описание параметров</strong></summary>

#### message

* `uuid` — уникальный ID сообщения
* `type` — тип сообщения при получении сообщения изображения от пользователя
* `url` — ссылка на изображение
* `caption` — описание от пользователя к изображению, может быть null

</details>

### 4. Файл

<pre data-overflow="wrap"><code><strong>{
</strong>   // ...
    "message": {
      "uuid": "uuid сообщения",
      "type": "document",
      "url": "ссылка на файл",
      "caption": "описание или null"
    },
    // ...
}
</code></pre>

<details>

<summary><strong>Описание параметров</strong></summary>

#### message

* `uuid` — уникальный ID сообщения
* `type` — тип сообщения при получении сообщения файла от пользователя
* `url` — ссылка на файл
* `caption` — описание от пользователя к файлу, может быть null

</details>

### 5. Неподдерживаемый формат

<pre data-overflow="wrap"><code><strong>{
</strong>   // ...
    "message": {
      "uuid": "uuid сообщения",
      "type": "unknown",
      "error": "Неподдерживаемый формат сообщения"
    },
    // ...
}
</code></pre>

<details>

<summary><strong>Описание параметров</strong></summary>

#### message

* `uuid` — уникальный ID сообщения
* `type` — тип сообщения при отправке пользователем неподдерживаемого типа контента
* `error` — описание ошибки

</details>


---

# 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/intagrations/sobstvennaya-crm-and-cdp-new/poluchenie-soobsheniya-ot-klienta.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.
