> For the complete documentation index, see [llms.txt](https://sms-club.gitbook.io/smsclub24ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sms-club.gitbook.io/smsclub24ru/proverka-statusa-soobsheniya/webhook.md).

# Webhook

Спецификации для отправки JSON и XML

{% tabs %}
{% tab title="XML" %}
Метод отправки XML-документа: **`POST`**

К примеру, в **phpXML**-документ будет доступен через переменную **`$GLOBALS['HTTP_RAW_POST_DATA']`**

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

```xml
<?xml version="1.0" encoding="utf-8" ?>
<response>
     <state id_sms="IDSMS в системе для проверки статуса" time="2011-01-01 12:57:46" sms="Статус">Статус</state>
     <state id_sms="IDSMS в системе для проверки статуса" time="2011-01-01 12:57:46" sms="Статус" viber="Статус">Статус</state>
     <state id_sms="IDSMS в системе для проверки статуса" time="2011-01-01 12:57:46" viber="Статус">Статус</state>
</response>
```

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

| Параметр                                      | Тип    | Описание                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| --------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>response</p><p>.state</p><p>\[id\_sms]</p> | Int    | Номер сообщения, полученный в ответном XML-документа в процессе отправки сообщения                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| <p>response</p><p>.state</p><p>\[time]</p>    | Date   | Время изменения статуса                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <p>response</p><p>.state</p>                  | String | <p></p><p>Последний статус сообщения:</p><ul><li>«send» - статус сообщения не получен. В этом случае передается пустой time (time="")</li><li>«not\_deliver» - сообщение не было доставлено. Конечный статус (не меняется со временем)</li><li>«expired» - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный статус (не меняется со временем)</li><li>«deliver» - сообщение доставлено.</li><li>«read» - сообщение прочитано. Конечный статус (не меняется со временем) <em>для viber сообщения</em></li><li>«partly\_deliver» - сообщение было отправлено, но статус так и не был получен</li></ul> |
| <p>response</p><p>.state</p><p>\[sms]</p>     | String | Статус SMS сообщения.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| <p>response</p><p>.state</p><p>\[viber]</p>   | String | Статус Viber сообщения.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |

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

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

```xml
<?xml version="1.0" encoding="utf-8" ?>
<response>
     <id_sms>3234</id_sms>
     <id_sms>3235</id_sms>
</response>
```

{% endtab %}

{% tab title="JSON" %}
Метод отправки 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": "Статус"
    }
]
```

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

| Параметр | Тип    | Описание                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| -------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id\_sms  | Int    | Номер сообщения, полученный в ответном JSON-документа в процессе отправки сообщения                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| time     | Date   | Время изменения статуса                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| state    | String | <p></p><p>Последний статус сообщения:</p><ul><li>«send» - статус сообщения не получен. В этом случае передается пустой time (time="")</li><li>«not\_deliver» - сообщение не было доставлено. Конечный статус (не меняется со временем)</li><li>«expired» - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный статус (не меняется со временем)</li><li>«deliver» - сообщение доставлено.</li><li>«read» - сообщение прочитано. Конечный статус (не меняется со временем) для viber сообщения</li><li>«partly\_deliver» - сообщение было отправлено, но статус так и не был получен</li></ul> |

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

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

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

{% endtab %}
{% endtabs %}
