# Webhook

Необходимо сообщить менеджеру адрес вашего сервера, который будет принимать статусы SMS

Метод отправки JSON-документа: **`POST`**

К примеру, в php JSON-документ будет доступен через функцию **`file_get_contents("php://input")`** или переменную **`$GLOBALS['HTTP_RAW_POST_DATA']`**

Система отправляет JSON-документ серверу клиента следующего содержания:

```json
[
    {
        "id_sms": "ID SMS в системе для проверки статуса",
        "time": "2011-01-01 12:57:46",
        "state": "Статус"
        },
    {
        "id_sms": "ID SMS в системе для проверки статуса",
        "time": "2011-01-01 12:57:46",
        "state": "Статус"
    }
]

```

### Расшифровка параметров

<table><thead><tr><th width="153.33333333333331">Параметр</th><th width="152">Тип данных</th><th>Описание</th></tr></thead><tbody><tr><td>id_sms</td><td>Int</td><td>Номер SMS сообщения, полученный в ответном JSON-документа в процессе отправки SMS сообщения</td></tr><tr><td>time</td><td>String</td><td>Время изменения статуса</td></tr><tr><td>state</td><td>String</td><td><p>Последний статус сообщения:</p><ul><li>«send» - статус сообщения не получен. В этом случае передается пустой time (time="")</li><li>«not_deliver» - сообщение не было доставлено. Конечный статус (не меняется со временем)</li><li>«expired» - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный статус (не меняется со временем)</li><li>«deliver» - сообщение доставлено.</li><li>«read» - сообщение прочитано. Конечный статус (не меняется со временем</li><li>«partly_deliver» - сообщение было отправлено, но статус так и не был получен</li></ul></td></tr></tbody></table>

### Возвращаемый ответ сервера клиента в JSON-документе

{% hint style="danger" %}
Если сервер клиента не передаст **id\_sms**, то статус будет считаться не полученным клиентом. При этом будет сделано 5 попыток доставить статус.
{% endhint %}

```json
[
    {
        "id_sms":3234
    },
    {
        "id_sms":3235
    }
]
```
