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

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


---

# 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/vkhodyashie-sobytiya-i-soobsheniya-ot-polzovatelya.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.
