Уведомления (Webhook)

Описание

Простыми словами, Webhook — механизм получения уведомлений об определённых событиях на свой собственный URL.

Для того, чтобы получать от нас автоматические уведомления о новых штрафах ваших транспортных средств (ваших клиентов), необходимо:

  • Выбрать в личном кабинете "Способ получения отчетов" равный "Postback", либо через метод API (обновление информации об аккаунте) указать параметр: notificationType = "postback"
  • Указать в личном кабинете URL адрес, на который мы будем отправлять запросы,
    либо через метод API (обновление информации об аккаунте) указать параметр: notificationUrl = "УРЛ_ПОЛУЧЕНИЯ_УВЕДОМЛЕНИЙ"
  • Выбрать в личном кабинете "Формат предоставления данных" (JSON), либо через метод API (обновление информации об аккаунте) указать параметр: notificationFormat = "json"

Данные

Мы отправляем POST-запрос на указанный вами URL сразу же, как у нас появляется новая информация о штрафе (о каждом отдельно), будь то новый штраф у транспортного средства, либо обновился статус оплаты, или, например, появились новые изображения правонарушения.

Все запросы отправляются в кодировке UTF-8 и с заголовками:
Content-Type: application/json

Пример

{
    "revision":1501716394.988136,
    "type":"fine_change",
    "data":{
        "id":2953319,
        "name":null,
        "postNumber":"18810136170722049545",
        "postedAt":"2017-07-22",
        . . .
        "docType":"sts",
        "docNumber":"3620848239",
        "createdAt":"2017-08-02 17:15:09",
        "updatedAt":"2017-08-02 17:15:09",
        "updatedMask":"1000"
    }
}

Пример (для веб-мастеров)

{
    "revision":1501716394.988136,
    "type":"fine_change",
    "user":{
        "id":1234,
        "email":"user@example.com",
        "username":"Ivan Ivanovich"
    },
    "data":{
        "id":2953319,
        "name":null,
        "postNumber":"18810136170722049545",
        "postedAt":"2017-07-22",
        . . .
        "docType":"sts",
        "docNumber":"3620848239",
        "createdAt":"2017-08-02 17:15:09",
        "updatedAt":"2017-08-02 17:15:09",
        "updatedMask":"1000"
    }
}

Информация о штрафе соотвествует предоставлению из документации:

Важно

Случаются ситуации, когда нарушается последовательность получения информации (недоступность внешних информационных систем и сервисов, ваш сервис может быть недоступен).
Параметр revision — возвращает метку времени создания/изменения штрафа с микросекундами (число с плавающей точкой), поэтому в рамках конкретного штрафа не стоит принимать изменения в работу, если вы приняли уже уведомление с большей временной меткой.

После получения и обработки уведомления необходимо установить в ответе HTTP Status Code = 200 (успешное выполнение).

Если у вас много транспортных средств и штрафов, уведомлений может быть много, и чтобы их не пропустить, советуем организовать очередь для последующей обработки полученных данных.

Если у вас возникнут вопросы и/или предложения, пишите на development@shtrafovnet.ru.