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-объект, как в ответе на запрос входящих сообщений.
{"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). Если ваш сервер вернёт другой код, будет предпринята повторная попытка отправки согласно заданным правилам. Правила оговариваются с каждым пользователем индивидуально.