# Блок "Входящий Webhook"

Блок "Входящий Webhook" создан для приема http-запросов со сторонних ресурсов и их обработки с помощью языка JavaScript.

<figure><img src="https://4232059198-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcwC4mS9LmU7UEQEkHVB0%2Fuploads%2FkCkGpxVZXUuVbiXOCHuQ%2Fwh.jpg?alt=media&#x26;token=68a359ac-496b-4ecc-a50a-3ed1673518d4" alt=""><figcaption></figcaption></figure>

### Объект request

Данные, которые поступили в данный  блок, записывается в JavaScript объект `request:`

```javascript
var headers = request.headers; // Объект заголовков
var query = request.query; // Объект переменных строки запроса
var rawBody = request.body; // Сырое тело запроса
var data = request.data; // Объект всех переменных запроса, включая строку запроса, форму, тело и т.д.
```

### Пример работы блока:

{% hint style="info" %}
Прежде чем писать код обработки поступивших данных, вам нужно установить текущий контакт (пользователя), иначе связь "Продолжить" не отработает.
{% endhint %}

```javascript
// Получить внутренний ID контакта платформы из строки запроса:
var contactId = request.query.contact_id;

// Получить TLG ID контакта:
var contactId = request.data.message.from.id;


// Установить контакт по его TLG ID
var checkId = setContactByTelegramId(contactId);
// Если контакт установлен, то выполнится код "todo"
if (checkId) {
  // todo
}
```

**Все функции установки контакта:**

{% content-ref url="vnutrennie-funkcii-js/setcontactbytelegramid" %}
[setcontactbytelegramid](https://jetbot.gitbook.io/api/javascript/vnutrennie-funkcii-js/setcontactbytelegramid)
{% endcontent-ref %}

{% content-ref url="vnutrennie-funkcii-js/setcontactbyid" %}
[setcontactbyid](https://jetbot.gitbook.io/api/javascript/vnutrennie-funkcii-js/setcontactbyid)
{% endcontent-ref %}
