Пожалуйста, подождите...

Обработано… 0%

Идет поиск начислений в Государственной информационной системе о государственных и муниципальных платежах (ГИС ГМП)...

Идет поиск начислений в госавтоинспекции (ГИБДД)...

Что-то пошло не так...

Не удалось получить информацию о штрафах.
Возможно серверы ГиБДД не отвечают или временно не доступны.

API

ШтрафовНЕТ API служит для получения данных сервиса программным способом. Это автоматизирует создание систем проверки и оплаты штрафов ГиБДД, получение статистики и другие действия, доступные в веб-интерфейсе.

Последнее обновление: 13.10.2016 г.

Дата API


C чего начать?


1 Зарегистрировать аккаунт Web-мастера на сайте PHLIP CPA *

2 Зарегистрировать партнерский или клиентский проект в нашей системе.

3 Получить токен доступа.

4 Изучить справочник ресурсов, в котором перечислены все объекты ШтрафовНЕТ и описаны действия с ними.

* Для получения партнерских вознаграждений при оплате штрафов ГИБДД.

Описание


Наше API находится по адресу: https://api.shtrafovnet.ru/

Мы используем кодировку UTF-8. Все данные необходимо передавать в формате JSON. Формат ответа (Content-Type), а также ошибки, отправляются в формате JSON.

Тестовый Web-клиент всегда можно найти в репозитории на github'e. Также web-версия данного клиента доступна по ссылке.

Авторизация


Для методов:
  • PUT /projects/{email}
  • PATH /projects/{email}
  • POST /tokens

Необходимо передать HTTP заголовок вида Authorization: Basic {TOKEN}, где {TOKEN} - является строка "{PROJECT_EMAIL}:{PROJECT_PASSWORD}" закодированная в base64

curl -X {METHOD} -H "Authorization: Basic {TOKEN}" {URL}

Также, при использовании cURL, можно указать "email:password" в опциях --user или -u:

curl -X {METHOD} --user "email:password" {URL}
Для всех остальных:

Необходимо передать HTTP заголовок вида Authorization: Bearer {TOKEN}, где {TOKEN} - является токен, полученный при обращении к методу POST /tokens

curl -X {METHOD} -H "Authorization: Bearer {TOKEN}" {URL}
Важно! Время жизни данного токена 1 год. Не нужно его получать при каждом запросе. При получении токена, положите его в кеш для повторного использования =)

Статусы ответов

Мы стараемся соответствовать общепринятым http-кодам, вот некоторые из них:

Код Описание
200 Успешный запрос
201 Ресурс успешно создан/добавлен
204 Операция выполнена. Пустой ответ.
400 Произошла ошибка в запросе или данные переданы некорректно
401 Ошибка авторизации
403 Нет прав для доступа к ресурсу
404 Ресурс/страница не найдены
429 Отправлено слишком много запросов за короткое время
500 Внутренняя ошибка сервера
Ознакомиться со всем списком кодов можно на странице википедии.

Изменения


Дата Описание
26 августа, 2016 Запуск Shtrafovnet Development API v1.0
29 августа, 2016 Добавлены:
31 августа, 2016 Добавлены:
01 сентября, 2016 Добавлены:
02 сентября, 2016 Удалены:
Добавлены:
04 сентября, 2016 Добавлены:
06 сентября, 2016 Добавлены:
  • Метод для получения платежей пользователя.
  • Добавлена реализация вывода платежей пользователя в тестовом Web-клиенте.
14 сентября, 2016 Добавлены:
15 сентября, 2016 Изменены лимиты на количество получаемых транспортных средств/счетов за один запрос.
3 октября, 2016 Добавлено уведомление проектов о новых штрафах у транспортного средства.
8 октября, 2016 Добавлены новые типы уведомлений:

Изменена функция тестирования уведомлений.

13 октября, 2016 Изменены обязательные параметры для создания транспортного средства:

при указании гос. номера ТС ввод свидетельства о регистрации ТС обязателен (и наоборот).

Справочник ресурсов

Проекты


Проекты являются основными организационными объектами в пределах API.

Пользователи созданные/зарегистрированные в рамках проекта, навсегда закрепляются за ним и не будут использоваться напрямую в основном проекте "ШтрафовНЕТ" и другими проектами.

Методы

Проекты: Получение информации

Данный метод возвращает информацию о проекте

Запрос
GET https://api.shtrafovnet.ru/projects/{email}

Убедитесь, что вы заменили {email} на электронный адрес проекта.

Ответ
{
    "id": 1361,
    "email": "partners@domain.com",
    "name": "The Best Project",
    "url": "https://domain.com",
    "affiliateId": 666,
    "status": "active",
    "notificationType": "postback",
    "notificationUrl": "https://mybestsite.com/shtrafovnet/postback",
    "createdAt": "2016-08-31T18:03:36+0300"
}

Проекты: Новый проект (Партнер)

Данный метод позволяет зарегистрировать нового партнера в системе ШтрафовНЕТ

Партнерский аккаунт проекта позволяет реализовать у себя на сайте полнофункциональный сервис для проверки и платы штрафов ГИБДД для своих пользователей

Обязательное условие: сервис должен конвертировать запросы в конверсии (оплаты), иначе мы будем вынуждены отключить его.

Запрос
POST https://api.shtrafovnet.ru/projects?type=partner
Параметры
передаются в теле запроса, json
Код Тип Обязательный? Описание
email Строка Да Адрес электронной почты проекта (используется в качестве логина)
plainPassword Строка Да Пароль от аккаунта
name Строка Да Название вашего проекта
url Строка Да Адрес сайта вашего проекта
affiliateId Число Нет
Идентификатор Web-мастера с сервиса phlip cpa.
Используется для начисления партнерских вознаграждений.
notificationUrl Строка Нет Адрес на который будет посылаться POST запрос с данными уведомления
Status: 201 OK
Location: https://api.shtrafovnet.ru/projects/partners@domain.com
Ответ
{
    "id": 1361,
    "email": "partners@domain.com",
    "name": "The Best Project",
    "url": "https://domain.com",
    "affiliateId": 666,
    "status": "active",
    "notificationType": "postback",
    "notificationUrl": "https://mybestsite.com/shtrafovnet/postback",
    "notificationFormat": "json",
    "createdAt": "2016-08-31T18:03:36+0300"
}
Поля
Код Тип Описание
id Число Уникальный идентификатор проекта
email Строка Адрес электронной почты проекта
name Строка Название проекта
url Строка Адрес сайта проекта
affiliateId Число
Идентификатор Web-мастера с сервиса phlip cpa.
status Строка Статус проекта (active/inactive)
notificationType Строка Механизм отправки уведомлений для проекта
notificationUrl Строка Адрес на который будет посылаться POST запрос с данными уведомления
notificationFormat Строка Формат предоставления данных в уведомлении
createdAt Дата/время Дата и время создания проекта

Проекты: Новый проект (Клиент)

Данный метод позволяет зарегистрировать нового клиента в системе ШтрафовНЕТ

Клиентский аккаунт проекта позволяет всесторонне интегрироваться с вашей CRM-системой, получать ежедневные/еженедельные отчеты (postback, email) по вашим транспортным средствам в необходимом формате.

Обязательное условие: заключение договора.

Запрос
POST https://api.shtrafovnet.ru/projects?type=client
Параметры
передаются в теле запроса, json
Код Тип Обязательный? Описание
email Строка Да Адрес электронной почты проекта (используется в качестве логина)
plainPassword Строка Да Пароль от аккаунта
name Строка Да Название вашего проекта
url Строка Да Адрес сайта вашего проекта
affiliateId Число Нет
Идентификатор Web-мастера с сервиса phlip cpa.
Используется для начисления партнерских вознаграждений.
notificationUrl Строка Нет Адрес на который будет посылаться POST запрос с данными уведомления
Status: 201 OK
Location: https://api.shtrafovnet.ru/projects/partners@domain.com
Ответ
{
    "id": 1361,
    "email": "partners@domain.com",
    "name": "The Best Project",
    "url": "https://domain.com",
    "affiliateId": 666,
    "status": "active",
    "notificationType": "postback",
    "notificationUrl": "https://mybestsite.com/shtrafovnet/postback",
    "createdAt": "2016-08-31T18:03:36+0300"
}
Поля
Код Тип Описание
id Число Уникальный идентификатор проекта
email Строка Адрес электронной почты проекта
name Строка Название проекта
url Строка Адрес сайта проекта
affiliateId Число
Идентификатор Web-мастера с сервиса phlip cpa.
status Строка Статус проекта (active/inactive)
notificationType Строка

Тип уведомлений для проекта (postback, self, dns)

  • postback - отправляется POST запрос на указанный в поле notificationUrl урл с данными уведомления.
  • self - мы берем на себя отправку уведомлений пользователям по средствам email (мы не придерживаемся данному типу уведомлений, т.к. для пользователя это будет неоднозначно).
  • dns - мы берем на себя отправку уведомлений пользователям по средствам email от вашего имени/домена, с вашими шаблонами и конечными ссылками.
По умолчанию используется тип postback.
Другие типы уведомлений обговариваются с каждым проектом отдельно (в них много тонкостей).
notificationUrl Строка Адрес на который будет посылаться POST запрос с данными уведомления
createdAt Дата/время Дата и время создания проекта

Проекты: Редактирование проекта

Данный метод позволяет обновить данные проекта (заменяются все параметры)

Запрос
PUT https://api.shtrafovnet.ru/projects/{email}

Убедитесь, что вы заменили {email} на электронный адрес проекта.

Параметры
передаются в теле запроса, json
Код Тип Обязательный? Описание
email Строка Да Адрес электронной почты проекта
name Строка Да Название вашего проекта
url Строка Да Адрес сайта вашего проекта
affiliateId Число Нет
Идентификатор Web-мастера с сервиса phlip cpa.
Используется для начисления партнерских вознаграждений.
notificationUrl Строка Нет Адрес на который будет посылаться POST запрос с данными уведомления
Status: 200 OK
Ответ

В ответе будет содержаться обновленная информация об изменяемом проекте.

Проекты: Редактирование проекта

Данный метод позволяет обновить данные проекта (заменяются только указанные параметры)

Запрос
PATCH https://api.shtrafovnet.ru/ projects/{email}

Убедитесь, что вы заменили {email} на электронный адрес проекта.

Параметры
передаются в теле запроса, json
Код Тип Обязательный? Описание
email Строка Нет Адрес электронной почты проекта
name Строка Нет Название вашего проекта
url Строка Нет Адрес сайта вашего проекта
affiliateId Число Нет
Идентификатор Web-мастера с сервиса phlip cpa.
Используется для начисления партнерских вознаграждений.
notificationUrl Строка Нет Адрес на который будет посылаться POST запрос с данными уведомления
Status: 200 OK
Ответ

В ответе будет содержаться обновленная информация об изменяемом проекте.

Токены доступа


Для получения доступа к ресурсам проекта, необходимо сгенерировать ключ доступа.

Методы

Токены доступа: Создание ключа

Данный метод позволяет создать уникальный ключ проекта.
Ключ действует один год, не нужно генерировать его каждый раз для запроса (при получении, разумно положить его в кэш)

Запрос
POST https://api.shtrafovnet.ru/tokens
Параметры

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

Status: 201 OK
Ответ
{
    "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXUyJ9.eyJpZCI6MTM2OSwiaWF0IjoiMTQ3MjY2MTMzNiJ9.b1e3_Z8pPKU6a57JGqvFrFS-2KkT9bPw8EEmtiIeP8kEg6bi1kpDmoCjMjstDXn1aPMuvxvjandnT2tm5_2bYTiqkTgCoKF4yYr0AAYHLtf_11WO2WckLIPfg0xjyQduCLyoYvR9xd60s73NKe7ROu8YLVny7OdXbOq1MbZqxAfIUi-3aA3BtV36j7zzOZ7NX2djDr6zKdCsSPrDMue09L-tF4RZ93gLx-M4GIQAUaX4Wb4TYnn_UovRHLlWTPL3GT3XXLdzvh34RTCA10_-AZmXpPPuZDtRkzGGCk0MrzBXPpv6hmKb5pvHvMnf9zw2x8Ab4bU8xeTKearnncdCmiaT7X_wJDvFUBt5nLZG82flCvjKhDHWqeIfLlvvZu7MLkfKpfVBPNRMZC-r3gk25pMz9TuKrOkjXR6aH3Tc_itUYSGXsJEV6SmbA6CC42akR5s3ZHd5zzppCYCDA8kc5b-8yt4hQGaH3x14YMtZH-sJCNtLn-nM01olLTk60HphrA5_9b4UUyQMQrahE2cQdhGPGEMxgvn47zLP2rXZtid2TvSPf5iTriwCL4HVa0eodC9t5a4mqorsU0Ax7t6mNhbhQe40x8V0hjZ9TpDvceUNq1MvBHJX7wK4xBcEKhuSqfKjPzcQKFMShfh_W0VqjQRcDYW6Sg9CRXO2or98Ss4"
}
Поля
Код Тип Описание
token Строка Уникальный ключ доступа

Пользователи


Методы
Транспортные средства
Платежи

Пользователи: Получение информации

Данный метод возвращает информацию о пользователе

Запрос
GET https://api.shtrafovnet.ru/users/{email}

Убедитесь, что вы заменили {email} на реальный электронный адрес пользователя.

Ответ
{
    "project": 1429,
    "id": 5262,
    "email": "user@mail.ru",
    "username": "SuperUser",
    "isServiceNotice": true,
    "status": "active",
    "createdAt": "2016-08-31T20:02:23+0300"
}

Пользователи: Новый нользователь

Данный метод позволяет зарегистрировать нового пользователя в проекте

Запрос
POST https://api.shtrafovnet.ru/users
Параметры
передаются в теле запроса, json
Код Тип Обязательный? Описание
email Строка Да Адрес электронной почты пользователя (уникальное поле в рамках проекта)
username Строка Нет Имя пользователя (Никнейм)
isServiceNotice true/false Нет Флаг о согласии пользователя получать уведомления.
По умолчанию false
Status: 201 OK
Location: https://api.shtrafovnet.ru/users/user@mail.ru
Ответ
{
    "project": 1429,
    "id": 5262,
    "email": "user@mail.ru",
    "username": "SuperUser",
    "isServiceNotice": true,
    "status": "active",
    "createdAt": "2016-08-31T20:02:23+0300"
}
Поля
Код Тип Описание
id Число Уникальный идентификатор пользователя
project Число Идентификатор проекта
email Строка Адрес электронной почты
username Строка Имя пользователя
isServiceNotice true/false Флаг о согласии пользователя получать уведомления
status Строка Статус пользователя (new/active/inactive)
createdAt Дата/время Дата и время создания пользователя

Пользователи: Редактирование пользователя

Данный метод позволяет обновить данные пользователя (заменяются все параметры)

Запрос
PUT https://api.shtrafovnet.ru/users/{email}

Убедитесь, что вы заменили {email} на реальный электронный адрес пользователя.

Параметры
передаются в теле запроса, json
Код Тип Обязательный? Описание
email Строка Да Адрес электронной почты пользователя (уникальное поле в рамках проекта)
username Строка Нет Имя пользователя (Никнейм)
isServiceNotice true/false Нет Флаг о согласии пользователя получать уведомления.
По умолчанию false
Status: 200 OK
Ответ

В ответе будет содержаться обновленная информация об изменяемом пользователе.

Пользователи: Редактирование пользователя

Данный метод позволяет обновить данные пользователя (заменяются только указанные параметры)

Запрос
PATCH https://api.shtrafovnet.ru/users/{email}

Убедитесь, что вы заменили {email} на реальный электронный адрес пользователя.

Параметры
передаются в теле запроса, json
Код Тип Обязательный? Описание
email Строка Нет Адрес электронной почты пользователя (уникальное поле в рамках проекта)
username Строка Нет Имя пользователя (Никнейм)
isServiceNotice true/false Нет Флаг о согласии пользователя получать уведомления
Status: 200 OK
Ответ

В ответе будет содержаться обновленная информация об изменяемом пользователе.

Пользователи: Получение списка транспортных средств

Данный метод возвращает список транспортных средств пользователя.

Запрос
GET https://api.shtrafovnet.ru/users/{email}/cars

Убедитесь, что вы заменили {email} на реальный идентификатор пользователя.

Ответ
{
    "items": [
        {
            "id": 3297,
            "project": 2188,
            "user": "user@mail.ru",
            "name": null,
            "driverLicense": "77YY000025",
            "reg": "А001АА77",
            "cert": "77XX000025",
            "scannedAt": null,
            "createdAt": "2016-09-04T00:30:56+0300"
        },
        ...
    ],
    "total": 50,
    "count": 110,
    "_links": {
        "self": "https://api.shtrafovnet.ru/users/user@mail.ru/cars?page=1",
        "first": "https://api.shtrafovnet.ru/users/user@mail.ru/cars?page=1",
        "last": "https://api.shtrafovnet.ru/users/user@mail.ru/cars?page=3",
        "next": "https://api.shtrafovnet.ru/users/user@mail.ru/cars?page=2"
    }
}
Поля
Код Тип Описание
items Массив Массив транспортных средств
count Число Количество транспортных средств в массиве items
total Число Общее количество транспортных средств у пользователя
_links Массив

Массив ссылок для навигации

  • self - ссылка на текущую страницу
  • first - ссылка на первую страницу
  • last - ссылка на последнию страницу
  • next - ссылка на следующую страницу
  • prev - ссылка на предыдущую страницу
По умолчанию отдается по 50 транспортных средств на каждой странице.

Пользователи: Получение списка платежей

Данный метод возвращает список созданных и/или оплаченных платежей пользователя.

Запрос
GET https://api.shtrafovnet.ru/users/{email}/invoices

Убедитесь, что вы заменили {email} на реальный идентификатор пользователя.

Ответ
{
    "items": [
        {
            "car": 3425,
            "user": "user@mail.ru",
            "id": 50292,
            "amount": 500,
            "totalAmount": 550,
            "commission": 10,
            "status": "new",
            "phone": "89507756028",
            "wireSurname": "Иванов",
            "wireName": "Иван",
            "wirePatronymic": "Иванович",
            "createdAt": "2016-09-06T13:02:32+0300",
            "paidAt": null,
            "orders": [
                {
                    "fine": 1290,
                    "receiptUrl": null,
                    "postNumber": "188000152",
                    "postedAt": "2016-09-06",
                    "id": 633,
                    "status": "new",
                    "errorMessage": null
                },
                ...
            ]
        },
        ...
    ],
    "total": 25,
    "count": 60,
    "_links": {
        "self": "https://api.shtrafovnet.ru/users/user@mail.ru/invoices?page=2",
        "first": "https://api.shtrafovnet.ru/users/user@mail.ru/invoices?page=1",
        "last": "https://api.shtrafovnet.ru/users/user@mail.ru/invoices?page=3",
        "next": "https://api.shtrafovnet.ru/users/user@mail.ru/invoices?page=3",
        "prev": "https://api.shtrafovnet.ru/users/user@mail.ru/invoices?page=1"
    }
}

Поля
Код Тип Описание
items Массив Массив платежей
count Число Количество платежей в массиве items
total Число Общее количество платежей у пользователя
_links Массив

Массив ссылок для навигации

  • self - ссылка на текущую страницу
  • first - ссылка на первую страницу
  • last - ссылка на последнию страницу
  • next - ссылка на следующую страницу
  • prev - ссылка на предыдущую страницу
По умолчанию отдается по 25 платежей на каждой странице.

Транспортные средства


Методы

Транспортные средства: Получение информации

Данный метод возвращает информацию о транспортном средстве

Запрос
GET https://api.shtrafovnet.ru/cars/{id}

Убедитесь, что вы заменили {id} на реальный идентификатор транспортного средства.

Ответ
{
    "id": 1943,
    "project": 500001,
    "user": "user@mail.ru",
    "name": "Ferrari F40",
    "driverLicense": "77АА000001",
    "reg": "А777АА136",
    "cert": "77АА000001",
    "scannedAt": null,
    "createdAt": "2016-08-31T21:40:03+0300"
}

Транспортные средства: Получение списка транспортных средств проекта

Данный метод возвращает список всех транспортных средств проекта.

Запрос
GET https://api.shtrafovnet.ru/cars
Ответ
{
    "items": [
        {
            "id": 3297,
            "project": 2188,
            "user": "user@mail.ru",
            "name": null,
            "driverLicense": "77YY000025",
            "reg": "А001АА77",
            "cert": "77XX000025",
            "scannedAt": null,
            "createdAt": "2016-09-04T00:30:56+0300"
        },
        ...
    ],
    "total": 50,
    "count": 110,
    "_links": {
        "self": "https://api.shtrafovnet.ru/cars?page=1",
        "first": "https://api.shtrafovnet.ru/cars?page=1",
        "last": "https://api.shtrafovnet.ru/cars?page=3",
        "next": "https://api.shtrafovnet.ru/cars?page=2"
    }
}
Поля
Код Тип Описание
items Массив Массив транспортных средств
count Число Количество транспортных средств в массиве items
total Число Общее количество транспортных средств у проекта
_links Массив

Массив ссылок для навигации

  • self - ссылка на текущую страницу
  • first - ссылка на первую страницу
  • last - ссылка на последнию страницу
  • next - ссылка на следующую страницу
  • prev - ссылка на предыдущую страницу
По умолчанию отдается по 50 транспортных средств на каждой странице.

Транспортные средства: Новое транспортное средства

Данный метод позволяет создать новое транспортное средство

Запрос
POST https://api.shtrafovnet.ru/cars
Параметры
передаются в теле запроса, json
Код Тип Формат Обязательный? Описание
cert Строка 77АА000001 Нет Номер свидетельства о регистрации транспортного средства
reg Строка А001АА777 Нет Государственный номер транспортного средства
driverLicense Строка 77АА000001 Нет Номер водительского удостоверения
name Строка --- Нет Название транспортного средства
email Строка --- Нет

Адрес электронной почты

При указании email'a будет выбран или создан пользователь и данное транспортное средство будет закреплено за ним.

Для создания транспортного средства, необходимо:
указать данные о транспортном средстве (СТС + гос. номер) и/или указать данные о водителе (ВУ)

При указании государственного номера транспортного средства - ввод свидетельства о регистрации обязателен (и наоборот).
Status: 201 OK
Location: https://api.shtrafovnet.ru/cars/100
Ответ
{
    "id": 100,
    "project": 55655,
    "user": "user@mail.ru",
    "name": "Ferrari F40",
    "driverLicense": "77АА000001",
    "reg": "А777АА136",
    "cert": "77АА000001",
    "scannedAt": null,
    "createdAt": "2016-08-31T21:40:03+0300"
}
Поля
Код Тип Описание
id Число Уникальный идентификатор транспортного средства
project Число Идентификатор проекта
user Строка Идентификатор пользователя
name Строка Название транспортного средства
cert Строка Номер свидетельства о регистрации транспортного средства
reg Строка Государственный номер транспортного средства
driverLicense Строка Номер водительского удостоверения
scannedAt Дата/время Дата и время последнего сканирования в базе ГИС ГМП данного транспортного средства
createdAt Дата/время Дата и время создания транспортного средства

Транспортные средства: Редактирование

Данный метод позволяет обновить данные транспортного средства (заменяются только указанные параметры)

Запрос
PATCH https://api.shtrafovnet.ru/cars/{id}

Убедитесь, что вы заменили {id} на реальный идентификатор транспортного средства.

Параметры
передаются в теле запроса, json
Код Тип Обязательный? Описание
name Строка --- Нет Название транспортного средства
email Строка --- Нет

Адрес электронной почты

При указании email'a будет выбран или создан пользователь и данное транспортное средство будет закреплено за ним.

Обновление полей cert, reg и driverLicense невозможно, так как штрафы добавляются под конкретные значения и при смене получится путаница.

Если вам или вашим клиентам необходимо обновить значения каких-то полей, самый простой способ удалить данное ТС и создать новое.
Status: 200 OK
Ответ

В ответе будет содержаться обновленная информация об изменяемом транспортном средстве.

Транспортные средства: Удаление

Данный метод удаляет транспортное средство из проекта

Запрос
DELETE https://api.shtrafovnet.ru/cars/{id}

Убедитесь, что вы заменили {id} на реальный идентификатор транспортного средства.

Статус: 204 OK
Ответ

Данный метод возвращает пустой результат.

Штрафы


Методы

Штрафы: Получение информации

Данный метод возвращает информацию о штрафе транспортного средства

Запрос
GET https://api.shtrafovnet.ru/cars/{car_id}/fines/{fine_id}

Убедитесь, что вы заменили {car_id} на реальный идентификатор транспортного средства и {fine_id} на реальный идентификатор штрафа.

Ответ
{
    "isExpired": false,
    "penaltyDate": "2016-11-09",
    "discountDaysLeft": 6,
    "totalAmount": 250,
    "car": 1945,
    "id": 557,
    "postNumber": "18810152160825023829",
    "postedAt": "2016-08-31",
    "amount": 500,
    "isPaid": false,
    "discountDate": "2016-09-06",
    "discountSize": 50,
    "wireKbk": null,
    "wireUsername": null,
    "wireOktmo": null,
    "wireBankBik": null,
    "wireBankAccount": null,
    "wireBankName": null,
    "wireKpp": null,
    "wireInn": null,
    "soiname": null,
    "articleCode": null,
    "location": null
}
Поля
Код Тип Описание
id Число Уникальный идентификатор транспортного средства
car Число Идентификатор транспортного средства
postNumber Строка Номер постановления
postedAt Дата Дата постановления (дата постановления не всегда совпадает с датой нарушения)
isExpired true/false Просрочена ли оплата штрафа (прошло более 70 дней)?
penaltyDate Дата Дата до которой необходимо оплатить постановление без штрафа (после этой даты данные о штрафе передаются в ФССП)
discountDaysLeft Число Количество оставшихся дней в которые можно оплатить штраф со скидкой
discountDate Дата Дата до которой можно оплатить штраф со скидкой
discountSize Число Размер скидки
amount Число Сумма штрафа
totalAmount Число Итоговая сумма штрафа (минус размер скидки если имеется и доступна)
isPaid true/false Оплачен ли штраф?
articleCode Строка Статья нарушения
location Строка Место нарушения

Штрафы: Получение списка

Данный метод возвращает список штрафов транспортного средства.

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

Запрос
GET https://api.shtrafovnet.ru/cars/{id}/fines

Убедитесь, что вы заменили {id} на реальный идентификатор транспортного средства.

Ответ
{
    "car": {
        "id": 1945,
        "name": null,
        "driverLicense": null,
        "reg": null,
        "cert": "XX00000001",
        "scannedAt": null,
        "createdAt": "2016-08-31T22:50:58+0300"
    },
    "fines": [
        {
            "isExpired": false,
            "penaltyDate": "2016-11-09",
            "discountDaysLeft": 6,
            "totalAmount": 250,
            "car": 1945,
            "id": 557,
            "postNumber": "18810152160825023829",
            "postedAt": "2016-08-31",
            "amount": 500,
            "isPaid": false,
            "discountDate": "2016-09-06",
            "discountSize": 50,
            "wireKbk": null,
            "wireUsername": null,
            "wireOktmo": null,
            "wireBankBik": null,
            "wireBankAccount": null,
            "wireBankName": null,
            "wireKpp": null,
            "wireInn": null,
            "soiname": null,
            "articleCode": null,
            "location": null
        },
        ...
    ],
    "total": 2
}
Поля
Код Тип Описание
car Массив Информация о транспортном средстве
fines Массив Список штрафов
total Число Количество штрафов

Поиск начислений


Чтобы получить штрафы для транспортного средства, их сначала необходимо запросить из системы ГИС ГМП (это может занимать до 30 секунд в зависимости от загруженности).

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

Методы

Поиск начислений: Получение статуса

Данный метод позволяет получить статус хода выполнения поиска штрафов.

Запрос
GET https://api.shtrafovnet.ru/scan/{id}

Убедитесь, что вы заменили {id} на реальный идентификатор задачи на поиск.

Status: 200 OK
Ответ

Если статус равен wait, необходимо повторно обратиться к данному методу с задержкой в 5 секунд.

{
    "id": 140,
    "car_id": 1986,
    "status": "done",
    "createdAt": "2016-09-01T01:04:28+0300"
}

Поиск начислений: Создание задачи

Данный метод позволяет создать новую задачу на поиск штрафов транспортного средства в системе ГИС ГМП

Запрос
POST https://api.shtrafovnet.ru/scan
Параметры
передаются в теле запроса, json
Код Тип Обязательный? Описание
car_id Число Да Идентификатор транспортного средства
Status: 201 OK
Location: https://api.shtrafovnet.ru/scan/999999
Ответ
{
    "id": 140,
    "car_id": 1986,
    "status": "wait",
    "createdAt": "2016-09-01T01:04:28+0300"
}
Поля
Код Тип Описание
id Число Уникальный идентификатор задачи на поиск штрафа
car_id Число Идентификатор транспортного средства
status Строка

Статус выполнения задачи на поиск

  • wait - проверка продолжается, результат еще не готов.
  • done - проверка завершена без ошибок, можно запрашивать список штрафов.
  • fail - проверка завершена с ошибкой, необходимо либо попробовать создать задачу повторно, либо подождать некоторое время и создать задачу повторно.
createdAt Дата/время Дата и время создания задачи

Оплата


Методы

Оплата: Получение информации

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

Запрос
GET https://api.shtrafovnet.ru/invoices/{id}

Убедитесь, что вы заменили {id} на реальный идентификатор счета (платежа).

Status: 200 OK
Ответ
{
    "car": 2019,
    "user": "user@mail.ru",
    "id": 50067,
    "amount": 2000,
    "totalAmount": 2200,
    "commission": 10,
    "status": "new",
    "phone": "89507756028",
    "wireSurname": "Тестов",
    "wireName": "Тест",
    "wirePatronymic": "Тестович",
    "createdAt": "2016-09-01T01:54:50+0300",
    "paidAt": null,
    "orders": [
        {
            "fine": 640,
            "receiptUrl": null,
            "postNumber": "188XXXX0002",
            "postedAt": "2016-03-01",
            "id": 100,
            "status": "new",
            "errorMessage": null
        },
        {
            "fine": 639,
            "receiptUrl": null,
            "postNumber": "188XXXX0001",
            "postedAt": "2016-09-01",
            "id": 99,
            "status": "new",
            "errorMessage": null
        }
    ]
}
Поля
Код Тип Описание
id Число Уникальный идентификатор счета (платежа)
car Число Идентификатор транспортного средства
user Число Идентификатор пользователя (адрес электронной почты)
status Строка

Статус платежа

  • new - счет создан, но не оплачен.
  • process - счет оплачен (получены деньги от пользователя), ожидается оплата штрафов.
  • hold - в процессе оплаты произошла ошибка, техническая поддержка в оперативном режиме пытается ее устранить. Так же возможно, что сервера ГИС ГМП временно не отвечают.
  • done - счет и штрафы полностью оплачены (квитанции доступны для скачивания).
  • cancel - оплата счета отменена.
  • fail - при оплате возникла критическая ошибка (обрабатывается в ручном режиме).
amount Число Сумма по счету
commission Число Процент комиссии сервиса
totalAmount Число Итоговая сумма счета (включая % комиссии)
phone Строка Номер сотового телефона плательщика
wireSurname Строка Фамилия плательщика
wireName Строка Имя плательщика
wirePatronymic Строка Отчество плательщика
createdAt Дата/время Дата и время создания счета
paidAt Дата/время Дата и время оплаты счета
orders Массив Список оплачиваемых штрафов
Поля (элемент массива orders)
Код Тип Описание
fine Число Идентификатор штрафа
receiptUrl Строка Ссылка на квитанцию
postNumber Строка Номер постановления
postedAt Дата Дата постановления
status Строка

Статус оплаты штрафа по данному счету

  • new - штраф не оплачен.
  • done - штрафы оплачен (квитанция доступна для скачивания).
  • cancel - оплата штрафа отменена (сумма счета пересчитывается, деньги за данный штраф + комиссия за него, возвращаются плательщику).
errorMessage Строка Сообщение об ошибке по оплате данного штрафа

Оплата: Создание счета

Данный метод позволяет создать счет на оплату штрафов ГИБДД

Запрос
POST https://api.shtrafovnet.ru/invoices
Параметры
передаются в теле запроса, json
Код Тип Формат Обязательный? Описание
car Число --- Да Идентификатор транспортного средства
fines Массив --- Да Массив с идентификаторами штрафов
email Строка --- Да

Адрес электронной почты плательщика.

Важно! Если пользователя с таким адресом нет у проекта, он будет автоматически создан и доступен через метод
получение информации о пользователе.
wireSurname Строка [А-Я] Да Фамилия плательщика
wireName Строка [А-Я] Да Имя плательщика
wirePatronymic Строка [А-Я] Да Отчество плательщика
phone Строка 8 (999) 999-9999 Да Номер сотового телефона (обязательное требование ГИС ГМП)
success_url Строка URL Нет

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

Также будет добавляет параметр MNT_TRANSACTION_ID в указанную ссылку, чтобы вы смогли определить внутренний идентификатор заказа.
fail_url Строка URL Нет

URL страницы вашего сервиса, куда должен попасть покупатель после отмененной оплаты.

Также будет добавляет параметр MNT_TRANSACTION_ID в указанную ссылку, чтобы вы смогли определить внутренний идентификатор заказа.
return_url Строка URL Нет

URL страницы вашего сервиса, куда должен вернуться покупатель при добровольном отказе от оплаты.

Также будет добавляет параметр MNT_TRANSACTION_ID в указанную ссылку, чтобы вы смогли определить внутренний идентификатор заказа.
Status: 201 OK
Location: https://api.shtrafovnet.ru/invoices/50001
Ответ
{
    "id": 50001,
    "pay_url": "https://www.payanyway.ru/assistant.htm?MNT_ID=XXXX&MNT_TRANSACTION_ID=50001&MNT_CURRENCY_CODE=RUB&MNT_AMOUNT=2200.00&MNT_TEST_MODE=0&MNT_SUCCESS_URL=http://domain.com/success.html&MNT_FAIL_URL=http://domain.com/fail.html&MNT_RETURN_URL=http://domain.com/cancel.html&MNT_DESCRIPTION=Оплата_постановления_№XXXXX&MNT_SIGNATURE=YYYY"
}
Поля
Код Тип Описание
id Число Уникальный идентификатор счета (платежа)
pay_url Строка

URL оплаты.

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

Уведомления


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

Сервис посылает POST запрос на указанный в информации о проекте адрес notificationUrl

Типы сообщений:

Уведомления: Счет оплачен

Параметр Тип Значение Описание
type строка pay_approved Тип уведомления
user строка xxxx@xxx.xx Email-пользователя
invoice число {id} Идентификатор счета

Уведомления: Новые штрафы

Параметр Тип Значение Описание
type строка fines_new Тип уведомления
user строка xxxx@xxx.xx Email-пользователя
car число {id} Уникальный идентификатор транспортного средства

Уведомления: Штраф оплачен и/или исчез из ГИС ГМП

Параметр Тип Значение Описание
type строка fine_paid Тип уведомления
user строка xxxx@xxx.xx Email-пользователя
car число {id} Идентификатор транспортного средства
fine число {id} Идентификатор штрафа

Уведомления: Окончание срока оплаты постановления со скидкой

Параметр Тип Значение Описание
type строка fine_discount_end Тип уведомления
user строка xxxx@xxx.xx Email-пользователя
car число {id} Идентификатор транспортного средства
fine число {id} Идентификатор штрафа
days_left число [14, 10, 3, 1] Количество оставшихся дней (1 — крайний день оплаты со скидкой)

Уведомления: Окончание срока оплаты постановления

Параметр Тип Значение Описание
type строка fine_penalty Тип уведомления
user строка xxxx@xxx.xx Email-пользователя
car число {id} Идентификатор транспортного средства
fine число {id} Идентификатор штрафа
days_left число [14, 10, 3, 1] Количество оставшихся дней (1 — крайний день оплаты)

Статистика


Документация по различной статистической информации будет доступна в ближайшее время...

Тестирование


Методы позволяющие проверить некий функционал API

Методы

Тестирование: Создание уведомления

Данный метод позволяет создать уведомление (Postback), которое будет отправлено проекту.
Список доступных типов уведомлений тут

Запрос
POST https://api.shtrafovnet.ru/test/notification
Параметры
передаются в теле запроса, json
Код Тип Значение Описание
type Строка {type} Тип уведомления
Status: 201 OK
Ответ
{
    "status": "success",
    "car": 12345,
    "type": "fines_new"
}