# HTTP Callback

Получение входящих сообщений происходит точно так же, как и получение статусов.

Вам потребуется сообщить нам адрес и порт вашего сервера, на который будут поступать входящие сообщения.

Так же, как и при получении статусов, сервис HTTP Callback будет периодически проверять доступность вашего сервера, отправляет GET-запрос на \<host>:\<port>/ping. Если ваш сервер доступен, вы получите все доступные на текущий момент входящие сообщения.

#### Пример запроса

```
curl --location --request GET 'https://app.sms.by/remote-api/viber/ping' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic MzM3MTY6VXRoOWp1aGE=' \
--header 'Cookie: XSRF-TOKEN=eyJpdiI6IjF4QUF5RENyUjF3YmlzZFF3Q3ZwSEE9PSIsInZhbHVlIjoiN0U2UUN3R2p0NThoWTF3QXU1VlJBa3h6clp0djdkamtUQWU4TDdDbU40NldndXlrcGhReVRpZkZCbm52aXdscjdaVWliY1NXaGtDUEFnMU5IbG9rMUE9PSIsIm1hYyI6IjQwNjUxZmYxMmY0MTMyYjkyMDMwODYzY2I2ZWY3NWVmODVjYTBmMDdlOWZhNGY1NzQ5ZDNiNzE4MmYxZTg5MDYifQ%3D%3D; laravel_session=eyJpdiI6InRwVkFqU2FcL200ZHBxWGczOEthQ1RBPT0iLCJ2YWx1ZSI6IlQ2UnpydnJ0SFhIemlMWFd2ZHBKWEJcLzlBSjhndUpGY3B6dktMSjNESXNQRVpaZWorRU9pR28wOHJrb0o0V0c2djZKSDJ5MkloNzJOQ1lLR0VDc1g4UT09IiwibWFjIjoiYzMzYWVjN2EyZDA5YjMzZTkxMmYyZWUyNjE4NjJmNGYxOWU4NWUzYjdmZTcxYzg3OTMwM2Q4NjYzYmIxYTYyYyJ9' \
--data-raw ''
```

Входящие сообщения будут передаваться на ваш сервер в запросе, который имеет следующую структуру:

* тип запроса - POST;
* URL: \<host>:\<port>/inbounds;
* Authorization: Basic base64(login:pass)
* Content-Type - application/json

В качестве значений параметров \<host> и \<port> вам потребуется указать адрес и порт вашего сервера.

По умолчанию эндпоинт для получения входящих сообщений `/inbounds`. Вы можете задать кастомное значение эндпоинта для получения входящих сообщений. Для этого необходимо вместе с адресом и портом вашего сервера укажите название эндпоинта.

В теле запроса передаётся точно такой же JSON-объект, как в ответе на [запрос входящих сообщений](zapros-k-api.md#poluchenie-massiva-statusov).

```
{"timestamp":"1551106300857","messages":[{"@type":"inbound","msid":"43000aa1-1111-1111-0000-aa0007777777","creationDate":"1551106273415","addresses":{"source":"70000000000","destination":"TEST"},"body":{"bodyType":"text","content":"Simple test"}}]}
```

В ответ на запрос ваш сервер должен вернуть код `200 OK` или `202 (Accepted)`. Если ваш сервер вернёт другой код, будет предпринята повторная попытка отправки согласно заданным правилам. Правила оговариваются с каждым пользователем индивидуально.
