> For the complete documentation index, see [llms.txt](https://docs.fstrk.io/knowledge_base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fstrk.io/knowledge_base/channels/svoi-kanal-api/vkhodyashie-sobytiya-i-soobsheniya-ot-polzovatelya.md).

# Входящие события и сообщения (от пользователя)

Входящие сообщения – это любые данные (текст, изображения, файлы или служебные команды), которые приходят от пользователей через ваш чат, мессенджер или приложение и которые ваша система передаёт в Fasttrack на указанный вебхук-адрес для дальнейшей обработки.

## Базовый пример

```json
{
  "chat": {
    "client_id": "e937a119-baf5-4aa4-aa21-42795043e236",
    "name": "Иван"
  },
  "id": 1323,
  "payload": {
    // ... зависит от payload.type
  },
  "meta": {
    // ... доп. информация в контексте сообщения
  }
  "timestamp": 1744214074793
}
```

Корневые элементы

* `chat` *object* <mark style="color:red;">\*</mark> – Информация о пользователе канала.
* `id` *string* – Идентификатор сообщения на вашей стороне.\
  \- ограничение: 64 символа
* `payload` *object* <mark style="color:red;">\*</mark> – Содержание сообщения от пользователя.
* `timestamp` *integer or null (date-time) –* Временная метка.\
  \- unix timestamp
* `meta` *object* – Доп. информация в контексте сообщения

Объект **`chat`**

* `client_id` *string* <mark style="color:red;">\*</mark> – Идентификатор пользователя на вашей стороне.
* `name` *string* <mark style="color:red;">\*</mark> – Имя пользователя в канале.

Объект **`payload`**

* `type` *string* <mark style="color:red;">\*</mark> – Тип контента.\
  \- варианты `"text"` `"image"` `"video"` `"audio"` `"document"` `"location"` `"postback"`

## Содержание сообщений

### Команда /start

<pre class="language-json"><code class="lang-json"><strong>{
</strong>  // ...
  "payload": {
    "type": "text",
    "text": "/start",
    "deeplink_params": {
      "c": "123",
      "n": "1000"
    }
  }
}
</code></pre>

Объект **`payload`**

* `type` *string <mark style="color:red;">\*</mark> –* Тип контента.\
  \- значение `"text"`
* `text` *string <mark style="color:red;">\*</mark>* – Команда.\
  \- значение `"/start"`
* `deeplink_params` *object* – Параметры диплинка.

Объект **`deeplink_params`**

* `c` *string* *<mark style="color:red;">\*</mark>* – Идентификатор диплинка.
* `n` *string* *<mark style="color:red;">\*</mark>* – Идентификатор сценария (узла).

### Сообщение с текстом

```json
{
  // ...
  "payload": {
    "type": "text",
    "text": "Добрый день!"
  }
}
```

Объект **`payload`**

* `type` *string <mark style="color:red;">\*</mark> –* Тип контента.\
  \- значение `"text"`
* `text` string – Текст сообщения.

### Сообщение с картинкой

```json
{
  // ...
  "payload": {
    "type": "image",
    "url": "",
    "capture": "This is example image."
  }
}
```

Объект **`payload`**

* `type` *string <mark style="color:red;">\*</mark> –* Тип контента.\
  \- значение `"image"`
* `url` *string* *<mark style="color:red;">\*</mark>* – Ссылка на изображение.
* `capture` *string* – Подпись к изображению.

### Сообщение с файлом

```json
{
  // ...
  "payload": {
    "type": "document",
    "url": "",
    "capture": "This is example file."
  }
}
```

Объект **`payload`**&#x20;

* `type` *string <mark style="color:red;">\*</mark> –* Тип контента.\
  \- значение `"document"`
* `url` *string <mark style="color:red;">\*</mark>* – Ссылка на файл.
* `capture` *string* – Подпись к файлу.

### Видео-сообщение

```json
{
  // ...
  "payload": {
    "type": "video",
    "url": "",
    "capture": "This is example video."
  }
}
```

Объект **`payload`**

* `type` *string <mark style="color:red;">\*</mark> –* Тип контента.\
  \- значение `"video"`
* `url` *string* *<mark style="color:red;">\*</mark>* – Ссылка на видео.
* `capture` *string* – Подпись к видео.

### Аудио-сообщение

```json
{
  // ...
  "payload": {
    "type": "audio",
    "url": "",
    "capture": "This is example audio."
  }
}
```

Объект **`payload`**&#x20;

* `type` *string <mark style="color:red;">\*</mark> –* Тип контента.\
  \- значение `"audio"`
* `url` *string <mark style="color:red;">\*</mark>* – Ссылка на аудио.
* `capture` *string* – Подпись к аудио.

### Локация

```json
{
  // ...
  "payload": {
    "type": "location",
    "lat": "-15.793889",
    "lng": "-47.882778"
  }
}
```

Объект **`payload`**&#x20;

* `type` *string <mark style="color:red;">\*</mark> –* Тип контента.\
  \- значение `"location"`
* `lat` *string* – Долгота.
* `lng` *string* – Широта.

### Нажатие на кнопку

```json
{
  // ...
  "payload": {
    "type": "postback",
    "data": "payload нажатой кнопки"
  }
}
```

Объект **`payload`**&#x20;

* `type` *string <mark style="color:red;">\*</mark> –* Тип контента.\
  \- значение `"postback"`
* `data` *string* – значение payload кнопки, на которую нажал пользователь
