API Reference

Shtrafovnet Clients API

Для юридических лиц и индивидуальных предпринимателей имеющих свой автотранспорт, мы предоставляем услуги по массовой проверке и оплате штрафов (ГИБДД, АМПП, МАДИ и др).

Подробнее об условиях: https://b2b.shtrafovnet.ru/

API расположено по адресу:

https://api.shtrafovnet.ru/latest/clients/

Запросы

Любой инструмент, умеющий работать с HTTP, может связываться с API просто путем формирования правильного URI. Запросы должны выполняться с использованием протокола HTTPS, чтобы трафик шифровался. Интерфейс реагирует на различные методы в зависимости от требуемого действия.

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

Метод Описание
GET

Для простого извлечения информации о вашей учетной записи, транспортных средствах или информации о штрафах вам следует использовать метод GET. Запрошенная вами информация будет возвращена вам как объект JSON.

Атрибуты, определенные объектом JSON, могут использоваться для формирования дополнительных запросов. Любой запрос с использованием метода GET доступен только для чтения и не влияет на какие-либо объекты, которые вы запрашиваете.

DELETE

Чтобы уничтожить ресурс и удалить его из учетной записи, следует использовать метод DELETE. Это удалит указанный объект, если он будет найден. Если он не найден, операция вернет ответ, указывающий, что объект не найден.

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

PUT

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

Как и метод DELETE, метод PUT является идемпотентом. Он устанавливает состояние цели, используя предоставленные значения, независимо от их текущих значений. Запросы, используя метод PUT, не нужно проверять текущие атрибуты объекта.

POST

Чтобы создать новый объект, в вашем запросе должен быть указан метод POST.

Запрос POST включает в себя все атрибуты, необходимые для создания нового объекта. Если вы хотите создать новый объект, отправьте POST запрос на целевой URI.

PATCH

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

Отличие от метода PUT в том, что данный метод не изменяет полностью объект, а только пеерданные параметры.

Ответы

Когда запрос выполнен успешно, тело ответа обычно отправляется обратно в виде объекта JSON. Исключением является обработка запроса DELETE, который приведет к успешному состоянию HTTP 204 и пустому телу ответа.

RESPONSE FOR A SINGLE OBJECT

{
  "id": 123
  "cert": "11AA123456"
  . . .
}

RESPONSE FOR AN OBJECT COLLECTION

{
  "cars": [
    {
      "id": 123
      "cert": "11AA123456"
      . . .
    },
    {
      "id": 234
      "cert": "11BB123456"
      . . .
    }
  ]
}

Параметры

Существует два разных способа передачи параметров в запросе с помощью API.

При передаче параметров для создания или обновления объекта параметры должны передаваться как объект JSON, содержащий имена и значения соответствующих атрибутов в виде пар «ключ-значение». Когда вы используете этот формат, вы должны указать, что вы отправляете объект JSON в заголовок. Это делается путем установки заголовка Content-Type: application/json. Это гарантирует, что ваш запрос будет интерпретирован правильно.

При передаче параметров для фильтрации ответа на запросы GET параметры могут передаваться с использованием стандартных атрибутов запроса. В этом случае параметры будут встроены в URI, добавив ? в конце URI, а затем установки каждого атрибута с помощью знака равенства. Атрибуты могут быть разделены символом &.

PASS PARAMETERS AS A JSON OBJECT

curl -H "Authorization: Bearer $TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"cert": "11AA123456", "reg": "а001аа777"}' \
     -X POST "https://api.shtrafovnet.ru/v2/cars"

PASS FILTER PARAMETERS AS A QUERY STRING

curl -H "Authorization: Bearer $TOKEN" \
     -X GET "https://api.shtrafovnet.ru/v2/cars/1234/fines?type=nopaid"

Авторизация

Для методов управления аккаунтом , а так же для получения токена доступа используется Basic-авторизация.

Для всех остальных запросов необходимо указывать заголовок Authorization: Bearer $TOKEN содержащий полученный токен доступа.

CURL EXAMPLE (BASIC AUTH)

curl -X $HTTP_METHOD -H 'Content-Type: application/json' \
     -u '$EMAIL:$PASSWORD' \
     $URL 

CURL EXAMPLE (BEARER AUTH)

curl -X $HTTP_METHOD \
     -H 'Content-Type: application/json' \
     -H 'Authorization: Bearer $TOKEN' \
     $URL 

Библиотеки

Чтобы максимально упростить интеграцию Shtrafovnet API, существуют официальные клиенты:

Ошибки

Если возникает ошибка, будь то на сервере или на стороне клиента, сообщения об ошибках будут возвращены в массиве ошибок.

Например:

400 Bad Request
{
    "status":400,
    "type":"validation_error",
    "title":"There was a validation error",
    "errors":{
        "name":[
            "This value should not be blank."
        ],
        "email":[
            "Email address can not be empty",
            "This value should not be blank."
        ],
        "companyInn":[
            "This value should not be blank."
        ],
        "plainPassword":[
            "This value should not be blank."
        ]
    }
}

Ссылки

Объект ссылки возвращается как часть тела ответа, когда включена разбивка на страницы.

По умолчанию для каждой страницы возвращается 200 объектов. Если ответ содержит 200 объектов или меньше, объект ссылок не будет возвращен.

Если ответ содержит более 200 объектов, первые 200 будут возвращены вместе с объектом ссылок.

Объект _links содержит содержит ключи, указывающие взаимосвязь дополнительных страниц. Значения этих параметров - это URL-адреса связанных страниц. Ключи будут следующими:

  • self: URI текущей страницы результатов.
  • first: URI первой страницы результатов.
  • prev: URI предыдущей последовательной страницы результатов.
  • next: URI следующей последовательной страницы результатов.
  • last: URI последней страницы результатов.

Параметры:

  • pages указывает на общее количество страниц результата запроса.
  • page указывает на текущую страницу результата запроса.
  • total указывает на общее количество элементов результата запроса.
  • count указывает на количество элементов запроса на текущей странице.

SAMPLE LINKS OBJECT

{
    . . .
    "pages": 10,
    "page": 1,
    "total": 2000,
    "count": 200,
    "_links": {
        "self": "https://api.shtrafovnet.ru/v2/cars?page=1",
        "first": "https://api.shtrafovnet.ru/v2/cars?page=1",
        "next": "https://api.shtrafovnet.ru/v2/cars?page=2",
        "last": "https://api.shtrafovnet.ru/v2/cars?page=3"
    },
    . . .
}

Аккаунт

Информация об аккаунте

Получение сводной информации об аккаунте дилера/интегратора
GET /account

Response parameters

Param Type Description
id integer Уникальный идентификатор клиента
email string Адрес электронной почты (используется для доступа к аккаунту)
name string Сокращенное наименование
status string Состояние аккаунта
Возможные значения: new, active, inactive,
Значение по умолчанию: new
url string Web-адрес сайта
createdAt string Дата регистрации аккаунта
serviceTest boolean Флаг указывающий что аккаунт находится на тестовом периоде обслуживания
Возможные значения: true, false,
Значение по умолчанию: true
serviceEnable boolean Флаг указывающий что информационное обслуживание активно
Возможные значения: true, false,
Значение по умолчанию: true
serviceDaysLeft integer Флаг указывающий что информационное обслуживание заканчивается через N дней
Значение по умолчанию: 7
companyName string Полное название компании без сокращений
companyAddress string Почтовый адрес организации
Например: 396005, г.Воронеж, ул.Ленина 1, д.5
companyAddressLegal string Юридический адрес организации
Например: 396005, г.Воронеж, ул.Ворошилова 123, д.23, офис 657
companyInn string Идентификационный номер налогоплательщика (ИНН)
companyKpp string Код причины постановки на учет (КПП)
companyOgrn string Основной государственный регистрационный номер (ОГРН)
companyBankBik string Банковский идентификационный код (БИК)
companyBankName string Название банка (Например: ТОЧКА ПАО БАНКА "ФК ОТКРЫТИЕ" г. МОСКВА)
companyBankAccount string Номер расчетного счета
companyBankCorrespondentAccount string Номер корреспондентского счета
companyActivity string Вид деятельности организации
companyHeadFullname string ФИО руководителя организации
companyHeadPosition string Должность руководителя организации
companyHeadBase string Основание на котором действует руководитель
companyContactFullname string ФИО контактного лица
companyContactPhone string Контактный телефон для связи и решения вопросов
payCommission integer Процент вознаграждения ШтрафовНЕТ от суммы счета, за оплату штрафов по агентскому договору за клиента
Значение по умолчанию: 4
agencyContract string Номер агентского договора
agencyContractDate string Дата от которой действует агентский договор на оплату штрафа за клиента
balance integer Текущее состояние баланса клиента
notificationType string Тип получаемых уведомлений/отчетов отправляемых сервисом ШтрафовНЕТ клиенту
Возможные значения: email, postback,
Значение по умолчанию: email
notificationUrl string Адрес конечного получателя уведомления/отчета (адрес электронной почты если выбран тип "email", либо URL если выбран "postback")
Значение по умолчанию: Электронная почта клиента
notificationFormat string Формат присылаемых нами данных (отчеты, уведомления). Если выбрана отправка на электронную почту, для выбранного формата будет создан файл с данными. Для postback доступен только формат: xml и json
Возможные значения: excel, csv, xml, json,
Значение по умолчанию: excel
notificationVariable string Фильтр отправляемых в отчете данных о штрафах
Возможные значения: nopaid, only_new, all,
Значение по умолчанию: nopaid
service object Объект текущего информационного обслуживания клиента

Request

curl --include \ --request GET \ --user '$EMAIL:$PASSWORD' \ --url 'https://api.shtrafovnet.ru/v2/clients/account'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Date: Tue, 13 Jun 2017 22:35:48 GMT { "id": 190, "email": "client@gmail.com", "name": "Test Client", "status": "new", "url": null, "createdAt": "2017-06-17T02:32:00+0300", "serviceTest": true, "serviceEnable": true, "serviceDaysLeft": 7, "companyName": "Test Client Fullname", "companyAddress": null, "companyAddressLegal": null, "companyInn": "1234567890", "companyKpp": null, "companyOgrn": null, "companyActivity": null, "companyContactFullname": "Ivanov Ivan Ivanovich", "companyContactPhone": "+7(900) ***-****", "companyHeadFullname": null, "companyHeadPosition": null, "companyHeadBase": null, "companyBankName": null, "companyBankBik": null, "companyBankAccount": null, "companyBankCorrespondentAccount": null, "notificationType": "email", "notificationFormat": "excel", "notificationUrl": "client@example.com", "notificationVariable": "nopaid", "payCommission": 4, "agencyContract": null, "agencyContractDate": null, "balance": 0, "service": { "id": 316, "startedAt": "2017-06-17 00:00:00", "endedAt": "2017-06-24 23:59:59", "tariff": { "id": 6, "minCars": 501, "maxCars": 1000, "scanPeriod": "day", "price": 15000, "pricePerCar": 0 } } }

Регистрация нового аккаунта

Создание нового бизнес аккаунта.
После регистрации на указанную почту будет отправлено письмо с подтверждением.

Дальнейшая работа с API возможна только с подтвержденным аккаунтом.
POST /account

Request parameters

Param Type Description
email string Адрес электронной почты (используется для доступа к аккаунту)
Обязательный.
plainPassword string Пароль от аккаунта
Обязательный.
name string Сокращенное наименование
Обязательный.
url string Web-адрес сайта
companyName string Полное название компании без сокращений
companyAddress string Почтовый адрес организации
Например: 396005, г.Воронеж, ул.Ленина 1, д.5
companyAddressLegal string Юридический адрес организации
Например: 396005, г.Воронеж, ул.Ворошилова 123, д.23, офис 657
companyInn string Идентификационный номер налогоплательщика (ИНН)
Обязательный.
companyKpp string Код причины постановки на учет (КПП)
companyOgrn string Основной государственный регистрационный номер (ОГРН)
companyBankBik string Банковский идентификационный код (БИК)
companyBankName string Название банка (Например: ТОЧКА ПАО БАНКА "ФК ОТКРЫТИЕ" г. МОСКВА)
companyBankAccount string Номер расчетного счета
companyBankCorrespondentAccount string Номер корреспондентского счета
companyActivity string Вид деятельности организации
companyHeadFullname string ФИО руководителя организации
companyHeadPosition string Должность руководителя организации
companyHeadBase string Основание на котором действует руководитель
companyContactFullname string ФИО контактного лица
Обязательный.
companyContactPhone string Контактный телефон для связи и решения вопросов
Обязательный.
notificationType string Тип получаемых уведомлений/отчетов отправляемых сервисом ШтрафовНЕТ клиенту
Возможные значения: email, postback,
Значение по умолчанию: email
notificationUrl string Адрес конечного получателя уведомления/отчета (адрес электронной почты если выбран тип "email", либо URL если выбран "postback")
Значение по умолчанию: Электронная почта клиента
notificationFormat string Формат присылаемых нами данных (отчеты, уведомления). Если выбрана отправка на электронную почту, для выбранного формата будет создан файл с данными. Для postback доступен только формат: xml и json
Возможные значения: excel, csv, xml, json,
Значение по умолчанию: excel
notificationVariable string Фильтр отправляемых в отчете данных о штрафах
Возможные значения: nopaid, only_new, all,
Значение по умолчанию: nopaid

Request

curl --include \ --request POST \ --header 'Content-Type: application/json' \ --data '{"email":"user@example.com","plainPassword":"12345678","name":"Best Company","companyInn":"7700123456","companyContactFullname":"Sinyukov Ivan","companyContactPhone":"8(950)111-22-33","notificationType":"postback","notificationFormat":"json","notificationUrl":"https:\/\/example.com\/shtrafovnet\/postback"}' \ --url 'https://api.shtrafovnet.ru/v2/clients/account'

Response

HTTP/1.1 201 Created Server: nginx Content-Type: application/json Location: https://api.shtrafovnet.ru/v2/clients/account Date: Fri, 16 Jun 2017 23:32:01 GMT { "id": 190, "email": "client@gmail.com", "name": "Test Client", "status": "new", "url": null, "createdAt": "2017-06-17T02:32:00+0300", "serviceTest": true, "serviceEnable": true, "serviceDaysLeft": 7, "companyName": "Test Client Fullname", "companyAddress": null, "companyAddressLegal": null, "companyInn": "1234567890", "companyKpp": null, "companyOgrn": null, "companyActivity": null, "companyContactFullname": "Ivanov Ivan Ivanovich", "companyContactPhone": "+7(900) ***-****", "companyHeadFullname": null, "companyHeadPosition": null, "companyHeadBase": null, "companyBankName": null, "companyBankBik": null, "companyBankAccount": null, "companyBankCorrespondentAccount": null, "notificationType": "email", "notificationFormat": "excel", "notificationUrl": "client@example.com", "notificationVariable": "nopaid", "payCommission": 4, "agencyContract": null, "agencyContractDate": null, "balance": 0, "service": { "id": 316, "startedAt": "2017-06-17 00:00:00", "endedAt": "2017-06-24 23:59:59", "tariff": { "id": 6, "minCars": 501, "maxCars": 1000, "scanPeriod": "day", "price": 15000, "pricePerCar": 0 } } }

Сброс пароля от аккаунта

После выполнения запроса будет сформирован новый пароль для вашего аккаунта и отправлен на электронный адрес указанный при регистрации
POST /account/reset-password

Request parameters

Param Type Description
email string Адрес электронной почты указанный при регистрации
Обязательный.

Request

curl --include \ --request POST \ --header 'Content-Type: application/json' \ --data '{"email":"user@example.com"}' \ --url 'https://api.shtrafovnet.ru/v2/clients/account/reset-password'

Response

HTTP/1.1 201 Created Server: nginx Content-Type: application/json Date: Wed, 14 Jun 2017 07:54:51 GMT []

Обновление информации аккаунта

Не обязательно передавать все параметры аккаунта, в теле запроса вы можете указать только необходимые
PATCH /account

Request parameters

Param Type Description
plainPassword string Пароль от аккаунта
name string Сокращенное наименование
url string Web-адрес сайта
companyName string Полное название компании без сокращений
companyAddress string Почтовый адрес организации
Например: 396005, г.Воронеж, ул.Ленина 1, д.5
companyAddressLegal string Юридический адрес организации
Например: 396005, г.Воронеж, ул.Ворошилова 123, д.23, офис 657
companyInn string Идентификационный номер налогоплательщика (ИНН)
companyKpp string Код причины постановки на учет (КПП)
companyOgrn string Основной государственный регистрационный номер (ОГРН)
companyBankBik string Банковский идентификационный код (БИК)
companyBankName string Название банка (Например: ТОЧКА ПАО БАНКА "ФК ОТКРЫТИЕ" г. МОСКВА)
companyBankAccount string Номер расчетного счета
companyBankCorrespondentAccount string Номер корреспондентского счета
companyActivity string Вид деятельности организации
companyHeadFullname string ФИО руководителя организации
companyHeadPosition string Должность руководителя организации
companyHeadBase string Основание на котором действует руководитель
companyContactFullname string ФИО контактного лица
companyContactPhone string Контактный телефон для связи и решения вопросов
notificationType string Тип получаемых уведомлений/отчетов отправляемых сервисом ШтрафовНЕТ клиенту
Возможные значения: email, postback,
Значение по умолчанию: email
notificationUrl string Адрес конечного получателя уведомления/отчета (адрес электронной почты если выбран тип "email", либо URL если выбран "postback")
Значение по умолчанию: Электронная почта клиента
notificationFormat string Формат присылаемых нами данных (отчеты, уведомления). Если выбрана отправка на электронную почту, для выбранного формата будет создан файл с данными. Для postback доступен только формат: xml и json
Возможные значения: excel, csv, xml, json,
Значение по умолчанию: excel
notificationVariable string Фильтр отправляемых в отчете данных о штрафах
Возможные значения: nopaid, only_new, all,
Значение по умолчанию: nopaid

Request

curl --include \ --request PATCH \ --header 'Content-Type: application/json' \ --user '$EMAIL:$PASSWORD' \ --data '{"plainPassword":"new_password","companyName":"The best company in the world","notificationFormat":"csv"}' \ --url 'https://api.shtrafovnet.ru/v2/clients/account'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Date: Tue, 13 Jun 2017 22:59:36 GMT { "id": 190, "email": "client@gmail.com", "name": "Test Client", "status": "new", "url": null, "createdAt": "2017-06-17T02:32:00+0300", "serviceTest": true, "serviceEnable": true, "serviceDaysLeft": 7, "companyName": "Test Client Fullname", "companyAddress": null, "companyAddressLegal": null, "companyInn": "1234567890", "companyKpp": null, "companyOgrn": null, "companyActivity": null, "companyContactFullname": "Ivanov Ivan Ivanovich", "companyContactPhone": "+7(900) ***-****", "companyHeadFullname": null, "companyHeadPosition": null, "companyHeadBase": null, "companyBankName": null, "companyBankBik": null, "companyBankAccount": null, "companyBankCorrespondentAccount": null, "notificationType": "email", "notificationFormat": "excel", "notificationUrl": "client@example.com", "notificationVariable": "nopaid", "payCommission": 4, "agencyContract": null, "agencyContractDate": null, "balance": 0, "service": { "id": 316, "startedAt": "2017-06-17 00:00:00", "endedAt": "2017-06-24 23:59:59", "tariff": { "id": 6, "minCars": 501, "maxCars": 1000, "scanPeriod": "day", "price": 15000, "pricePerCar": 0 } } }

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

Создание токена

Создание нового токена доступа к ресурсам и услугам сервиса.
Токен бессрочный, поэтому нет необходимости запрашивать его перед каждым запросом (положите его в кэш).

Проекту необходимо реализовать автоматическое получения нового токена в случае его невалидности, смены пароля от аккаунта и тд.
POST /tokens

Request

curl --include \ --request POST \ --user '$EMAIL:$PASSWORD' \ --url 'https://api.shtrafovnet.ru/v2/clients/tokens'

Response

HTTP/1.1 201 Created Server: nginx Content-Type: application/json Date: Tue, 13 Jun 2017 22:59:36 GMT { "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXUyJ9.eyJpZCI6MTg1LCJpYXQiOiIxNDk3NDI5MTUzIn0.fKTZRbGGAEyn2eQbwgSx2FP4UOsC2XvMMw0dlw9qvfyraW725SyBEXqMCs1T9Gd5QaHrf9UBv-Qj6MJY23hpoUooQxDGrA-nX3c-ucF79hnaiPEBFVt6vvfeA8F4-ssOqs4s8ZWrufwARsw2JEN0i4XsVKo57N3P_Oh6TYOmECyUI22qAs2WQlJ585Rb4XKe_HXrwNVjP3rLyu2DLSYKjXPDvMh5Lt0wGZjI3LI2Zlr_ri1DxM41FM-7FuREv-zIFpzK6J-Scij-aInt2OA5nfjGt1b7KEtXLfjd6hYFO29h4nm_wSYmYbTgcYv5dwNSDHnDzSnx0nIQe5ZXxg_m3HiBke01SWhikA-ZDYORQstnrRJRer0nYK8BCZwl-SrRK0aOvO_wl0CaYDD5nigra6JWcKJVoNCDfvvYncp8ag_U6CoPzy-hIluBKEOrtWJotySeO1r_1NQuR5VDna8sqKRWtmFN9vwLx8cf_z2Y-9_gMmQmetQHdjd1lOwE0rLeuKmeppp8HcDKWlGASZRwivu3NCEtkWRmzxcvvFQEJkbjP6zmOSyVoeQOKc2P3lkJ4ou5XlTnx2U_Ga8nIwQOnJ5fnez2YQQ_60TrDWTawErTc2kf8qirtJdJD5UwY-ALqsWbau9pEXurDP8OwW-7m4blmBb9bVXpKSZkSCMwW4A" }

Тарифы

Список тарифов

Получение полного списка доступных тарифов на информационное обслуживание
GET /tariffs

Response parameters

Param Type Description
tariffs array Список доступных тарифов

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/tariffs'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Date: Wed, 14 Jun 2017 16:43:26 GMT { "tariffs": [ { "id": 1, "minCars": 1, "maxCars": 10, "scanPeriod": "day", "price": 4500, "pricePerCar": 0 }, { "id": 2, "minCars": 11, "maxCars": 50, "scanPeriod": "day", "price": 5500, "pricePerCar": 0 }, . . . { "id": 14, "minCars": 1001, "maxCars": 0, "scanPeriod": "week", "price": 10010, "pricePerCar": 10 }, . . . ] }

Транспорт

Автопарк

Получение списка транспортных средств
GET /cars

Query parameters

Param Type Description
verify string

Статус проверки (корректности введенных данных) транспортного средства (СТС+РГЗ) по базе ГИБДД.

  • new - проверка данного ТС еще не производилась;
  • approved - информация о ТС введена корректно;
  • fail - информация о ТС введена некорректно, либо больше не действительна;
  • all - получить информацию о всех ТС со всеми статусами.
Возможные значения: new, approved, fail, all,
Значение по умолчанию: all
cert string Поиск транспортного средства по номеру свидетельства о регистрации
reg string Поиск транспортного средства по номеру государственного регистрационного знака
name string Поиск транспортных средств по названию, либо его части (регистронезависимый поиск)

Response parameters

Param Type Description
total integer Общее количество транспортных средств
count integer Текущее количество транспортных средств в запросе
_links array Объект содержит содержит ключи, указывающие взаимосвязь дополнительных страниц.
cars array Список транспортных средств

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/cars'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Connection: keep-alive Date: Mon, 03 Apr 2017 20:48:30 GMT { "total": 2, "count": 2, "_links": { "self": "https://api.shtrafovnet.ru/v2/clients/cars?page=1", "first": "https://api.shtrafovnet.ru/v2/clients/cars?page=1", "last": "https://api.shtrafovnet.ru/v2/clients/cars?page=1" }, "cars": [ { "id": 1003713, "name": "First Car", "cert": "4619689062", "reg": "А123АА777", "status": "new", "verifyGibddStatus": "approved", "scannedAt": "2017-07-03 03:11:57", "gisScannedAt": "2017-07-03 03:11:38", "gibddScannedAt": "2017-07-03 03:11:57", "ditScannedAt": null, "createdAt": "2017-07-03 03:11:10" }, { "id": 1003712, "name": "Second Car", "cert": "3630125215", "reg": "А002АА36", "status": "new", "verifyGibddStatus": "new", "scannedAt": "2017-07-03 03:12:00", "gisScannedAt": "2017-07-03 03:10:58", "gibddScannedAt": "2017-07-03 03:12:00", "ditScannedAt": null, "createdAt": "2017-07-03 03:10:36" } ] }

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

Получение информации о транспортном средстве
GET /cars/{id}

Path parameters

Param Description
id Уникальный идентификатор транспортного средства

Response parameters

Param Type Description
id integer Уникальный идентификатор транспортного средства
name string Название/модель транспортного средства
cert string Номер свидетельства о регистрации транспортного средства
reg string Номер государственного регистрационного знака транспортного средства
status string Состояние транспортного средства
Возможные значения: new, deleted,
Значение по умолчанию: new
verifyGibddStatus string Статус проверки введенных данных о транспортном средстве (СТС+РГЗ) по системе ГИБДД
Возможные значения: new, approved, fail,
Значение по умолчанию: new
scannedAt string Дата/время последней проверки транспортного средства в одной из систем
gisScannedAt string Дата/время последней проверки транспортного средства в системе ГИС ГМП
gibddScannedAt string Дата/время последней проверки транспортного средства в системе ГИБДД
ditScannedAt string Дата/время последней проверки транспортного средства в системе московского департамента автотранспорта
createdAt string Дата/время добавления транспортного средства в систему

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/cars/{id}'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Connection: keep-alive Date: Mon, 03 Apr 2017 20:48:30 GMT { "id": 1003708, "name": "Best car", "cert": "1122123456", "reg": "А001АА777", "status": "new", "verifyGibddStatus": "approved", "scannedAt": "2017-07-03 02:31:16", "gisScannedAt": "2017-07-03 02:31:16", "gibddScannedAt": "2017-07-03 02:31:16", "ditScannedAt": null, "createdAt": "2017-07-03 02:31:03" }

Новое транспортное средство

Добавление нового транспортного средства
POST /cars

Request parameters

Param Type Description
name string Название/модель транспортного средства (для визуальной идентификации)
cert string Номер свидетельства о регистрации транспортного средства.
Формат: 11AA123456 или 1122000001
Обязательный.
reg string Номер государственного регистрационного знака транспортного средства.
Формат: А001АА177 или АА123777
Обязательный.

Request

curl --include \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer $TOKEN' \ --data '{"name":"Ford Focus 2 (2006)","cert":"3620848239","reg":"\u0420668\u0425\u041e36"}' \ --url 'https://api.shtrafovnet.ru/v2/clients/cars'

Response

HTTP/1.1 201 Created Server: nginx Content-Type: application/json Location: https://api.shtrafovnet.ru/v2/clients/cars/1003148 Date: Wed, 14 Jun 2017 19:40:28 GMT { "id": 1003713, "name": "First Car", "cert": "4619689062", "reg": "А123АА777", "status": "new", "verifyGibddStatus": "new", "scannedAt": null, "gisScannedAt": null, "gibddScannedAt": null, "ditScannedAt": null, "createdAt": "2017-07-03 03:11:10" }

Обновление транспортного средства

Обновление данных об транспортном средстве.
Данный метод позволяет изменить только необходимые поля не передавая всю информацию о транспортном средстве.

По религиозным соображениям изменение СТС и госномера не допускается, но вы можете удалить ТС и добавить новое.
PATCH /cars/{id}

Path parameters

Param Description
id Уникальный идентификатор транспортного средства

Request parameters

Param Type Description
name string Название/модель вашего транспортного средства для быстрой идентификации.
Например: Ford Focus 2 2006

Request

curl --include \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer $TOKEN' \ --data '{"name":"The Best Car"}' \ --url 'https://api.shtrafovnet.ru/v2/clients/cars/{id}'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Connection: keep-alive Date: Mon, 03 Apr 2017 21:01:03 GMT { "id": 1003713, "name": "This is the best car", "cert": "4619689062", "reg": "А123АА777", "status": "new", "verifyGibddStatus": "approved", "scannedAt": "2017-07-03 03:11:57", "gisScannedAt": "2017-07-03 03:11:38", "gibddScannedAt": "2017-07-03 03:11:57", "ditScannedAt": null, "createdAt": "2017-07-03 03:11:10" }

Удаление транспортного средства

Удаление транспортного средства. Метод всегда возвращает пустое тело ответа.
DELETE /cars/{id}

Path parameters

Param Description
id Уникальный идентификатор транспортного средства

Request

curl --include \ --request DELETE \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/cars/{id}'

Response

HTTP/1.1 204 No Content Server: nginx Content-Type: text/html; charset=UTF-8 Date: Wed, 14 Jun 2017 16:38:24 GMT

Сброс неактивных ТС

Сброс статуса неактивных транспортных средств для повторной проверки и валидации
POST /cars/actions/flush_inactive

Request

curl --include \ --request POST \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/cars/actions/flush_inactive'

Response

Status: 200 Content-Type: application/json X-req-runtime: 0.04380202293396 Date: Thu, 21 Dec 2017 19:03:59 GMT { "status": "success", "message": "The status of inactive cars is reset" }

Удаление неактивных ТС

Удаление неактивных транспортных средств
POST /cars/actions/remove_inactive

Request

curl --include \ --request POST \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/cars/actions/remove_inactive'

Response

Status: 200 Content-Type: application/json X-req-runtime: 0.026633977890015 Date: Thu, 21 Dec 2017 19:04:00 GMT { "status": "success", "message": "Inactive cars removed" }

Добавление в архив

Перевод транспортных средств в неактивный режим (архив)
POST /cars/actions/archive

Request parameters

Param Type Description
car_ids array Список идентификаторов транспортных средств
Обязательный.

Request

curl --include \ --request POST \ --header 'Content-Type:application/json' \ --header 'Authorization: Bearer $TOKEN' \ --data '{"car_ids":[1,2,3,4,5]}' \ --url 'https://api.shtrafovnet.ru/v2/clients/cars/actions/archive'

Response

Status: 200 Content-Type: application/json X-req-runtime: 0.038181781768799 Date: Thu, 21 Dec 2017 19:04:01 GMT { "status": "success", "message": "Cars added to the archive" }

Извлечение из архива

Перевод транспортных средств в активный режим
POST /cars/actions/unarchive

Request parameters

Param Type Description
car_ids array Список идентификаторов транспортных средств
Обязательный.

Request

curl --include \ --request POST \ --header 'Content-Type:application/json' \ --header 'Authorization: Bearer $TOKEN' \ --data '{"car_ids":[1,2,3,4,5]}' \ --url 'https://api.shtrafovnet.ru/v2/clients/cars/actions/unarchive'

Response

Status: 200 Content-Type: application/json X-req-runtime: 0.03764009475708 Date: Thu, 21 Dec 2017 19:04:02 GMT { "status": "success", "message": "Cars removed from the archive" }

Штрафы

Информация о штрафе

Подробная информация о выписанном постановлении
GET /fines/{id}

Path parameters

Param Description
id Уникальный идентификатор штрафа

Response parameters

Param Type Description
id integer Уникальный идентификатор штрафа
car integer Уникальный идентификатор транспортного средства
carCert string Свидетельство о регистрации транспортного средства
carReg string Номер государственного регистрационного знака транспортного средства
name string Строка содержащая краткую информацию о постановлении
postNumber string Уникальный идентификационный номер
postedAt string Дата вынесения постановления (она не всегда совпадает с реальной датой нарушения)
violationAt string Реальная дата и время когда было совершено правонарушение
amount integer Сумма штрафа (в рублях)
isPaid boolean Флаг оплаты/неоплаты штрафа
Возможные значения: true, false,
paidStatus boolean Текущие состояние оплаты постановления (paid - полностью оплачен, nopaid - неоплачен, partpaid - частичная оплата/переплата штрафа)
Возможные значения: nopaid, paid, partpaid,
quittance boolean Статус квитирования штрафа (0 - неизвестно, 1 - сквитирован, 2 - предварительно сквитирован, 3 - новое начисление, 4 - сквитирован с отсутствующим платежом)
Возможные значения: 0, 1, 2, 3, 4,
paidAmount float Оплаченная сумма штрафа (в рублях) если штраф находится в статусе "частичной оплаты"
totalAmount integer Итоговая сумма штрафа к оплате с учетом всевозможных скидок (в рублях)
isDiscount boolean Флаг информирующий о возможности оплатить штраф со скидкой
Возможные значения: true, false,
discountDate string Дата до которой действует скидка на оплату штрафа (включительно до 23:59)
discountSize integer Размер скидки в процентах (при наличии)
discountDaysLeft integer Количество дней оставшихся на оплату штрафа со скидкой
isExpired boolean Флаг информирующий о том, что штраф не оплачен в 70-и дневный период
Возможные значения: true, false,
penaltyDate string Дата, после которой штраф будет передан в службу ФССП (70 дней с момента выставления постановления)
expiredDays integer Количество дней на которые просрочена оплата штрафа
isGis boolean Флаг информирующий о том, что штраф получен в системе ГИС ГМП
Возможные значения: true, false,
isGibdd boolean Флаг информирующий о том, что штраф получен в системе ГИБДД
Возможные значения: true, false,
isDit boolean Флаг информирующий о том, что штраф получен в системе московского департамента автотранспорта
Возможные значения: true, false,
docType string Тип документа на который выписано постановление
Возможные значения: sts, vu,
docNumber string Номер документа на который выписано постановление
docViolator string Имя Отчество нарушителя или наименование организации
whoseOrg string Организация, которой принадлежит данное постановление
Возможные значения: gibdd, ampp, madi, fssp,
koapCode string Наименование статьи КОАП
koapText string Краткое описание статьи КОАП
location string Описание места совершения правонарушения
locationLat string Географические координаты (широта) места нарушения
locationLong string Географические координаты (долгота) места нарушения
divisionName string Наименование администратора начисления (подразделение ГИБДД РФ)
divisionCode integer Уникальный код подразделения ГИБДД
enablePics boolean Флаг указывающий о наличии для данного постановления изображений правонарушения
loadPics integer
  • 0 — Изображения правонарушения поставлены в очередь на загрузку (если имеются);
  • 1 — Изображения успешно загружены;
  • 2 — Не удалось получить фотографии правонарушения. Попытки загрузки продолжаются.
    (Это чаще всего случается при обращении серверов ГИБДД за фотографиями к региональным подразделениям);
  • 3 — После многочисленных попыток загрузки изображений правонарушения, так и не удалось их получить.
Возможные значения: 0, 1, 2, 3,
pics array Список изображений правонарушения доступных для данного постановления
wireInn string ИНН получателя платежа
wireKpp string КПП получателя платежа
wireKbk string КБК (Код бюджетной классификации)
wireOktmo string Общероссийский классификатор территорий муниципальных образований (ОКТМО)
wireUsername string Наименование получателя платежа
wireBankName string Название банка получателя
wireBankBik string БИК банка получателя платежа
wireBankAccount string Расчетный счет получателя платежа
createdAt string Дата/время добавления штрафа в систему ШтрафовНет
updatedAt string Дата/время последнего изменения штрафа (создание, статус оплаты, детали, фотоматериалы)
updatedMask string Вспомогательный параметр, отражающий причину последнего обновления штрафа.
Каждый символ отражает факт обновления/неизменности определенного блока информации о штрафе.
Первый символ (если 1), указывает, что это новый штраф.
Второй символ (если 1), указывает, что состояние штрафа было изменено (оплачен).
Третий символ (если 1), указывает, что у штрафа обновилась дополнительная информация (например: статья КОАП).
Четвертый символ (если 1), указывает, что у штрафа появились фотографии фотофиксации правонарушения.

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/fines/{id}'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Connection: keep-alive Date: Thu, 06 Apr 2017 15:05:17 GMT { "id":2952289, "name":null, "postNumber":"18810136161108008161", "postedAt":"2016-11-08", "violationAt":"07.11.2016, 13:20:00", "amount":500, "paidAmount":"0.00", "totalAmount":500, "isPaid":false, "paidStatus":"nopaid", "quittance":3, "isGis":true, "isGibdd":false, "isDit":false, "isExpired":true, "penaltyDate":"2017-01-17 23:59:59", "expiredDays":166, "isDiscount":false, "discountDate":null, "discountSize":0, "discountDaysLeft":0, "whoseOrg":"gibdd", "koapCode":"12.9ч.2", "koapText":"Превышение установленной скорости движения транспортного средства на величину более 20, но не более 40 км/ч", "divisionCode":1120951, "divisionName":"Центр видеофиксации ГИБДД ГУ МВД России по Воронежской области", "location":"ВОРОНЕЖ Г., улица Ленина 45Б", "locationLat":null, "locationLong":null, "wireUsername":"УФК по Воронежской обл. (ГУ МВД России по Воронежской области)", "wireInn":"3666026374", "wireKpp":"366601001", "wireKbk":"18811630020016000140", "wireBankName":"отделение по Воронежской области ГУ ЦБ РФ по ЦФО (Отделение Воронеж)", "wireBankAccount":"40101810500000010004", "wireBankBik":"042007001", "wireOktmo":"20701000", "enablePics":true, "loadPics":1, "pics":[ { "url":"https://s3.eu-central-1.amazonaws.com/shtrafovnetru/pics/2017/02/14/09/cad29d806521c20c9f2aeb98d5ec5445.jpg" } ], "docType":"sts", "docNumber":"3620848239", "createdAt":"2017-07-03 12:44:03", "updatedAt":"2017-07-05 02:15:32", "updatedMask":"0011", "car":1003726, "carCert":"3620848239", "carReg":"р668хо36" }

Список штрафов

Список нарушений (штрафов) выписанных на все транспортные средства
GET /fines

Query parameters

Param Type Description
paid string or array Условие на выборку штрафов по факту оплаты (можно передать некоторые из значений в массиве)
Возможные значения: paid, nopaid, partpaid, all,
Значение по умолчанию: all
doc string or array Условие на выборку штрафов по документу на который выписано постановление (можно передать некоторые из значений в массиве)
Возможные значения: sts, vu, passport, rawid, all,
Значение по умолчанию: all
org string or array Условие на выборку штрафов по организации выписавшей его (можно передать некоторые из значений в массиве)
Возможные значения: gibdd, ampp, madi, fssp, all,
Значение по умолчанию: all
fields array Получаемые поля штрафа (при указании будут возвращены только выбранные поля + поле id). Необходимо, например, при обходе всего списка штрафов или для сокрашения объема получаемого трафика.
Возможные значения: Любые поля штрафа,
started string Условие на выборку штрафов по дате постановления (YYYY-MM-DD)
ended string Условие на выборку штрафов по дате постановления (YYYY-MM-DD)
update_started string Условие на выборку штрафов по дате/времени последнего обновления (Пример: 2017-07-10 00:00:00)
update_ended string Условие на выборку штрафов по дате/времени последнего обновления (Пример: 2017-07-10 23:59:59)
create_started string Условие на выборку штрафов по дате/времени добавления его в систему ШтрафовНет.ру (Пример: 2017-07-10 00:00:00)
create_ended string Условие на выборку штрафов по дате/времени добавления его в систему ШтрафовНет.ру (Пример: 2017-07-10 23:59:59)
cars array Условие на выборку штрафов по транспортным средствам
uins array Условие на выборку штрафов по номеру постановления (УИН)
uin_search string Условие на выборку штрафов по части номера постановления
filters array Фильтрация данных
Возможные значения: discount, expired, new, pics,

Response parameters

Param Type Description
total integer Общее количество штрафов (по заданным критериям)
count integer Текущее количество штрафов в запросе (по заданным критериям)
_links array Объект содержит содержит ключи, указывающие взаимосвязь дополнительных страниц.
fines array Объект содержит информацию о штрафах

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/fines?paid=nopaid&filters[0]=expired&cars[0]=123&cars[1]=456'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Connection: keep-alive Date: Thu, 06 Apr 2017 15:05:17 GMT { "total":2, "count":2, "_links":{ "self":"http://api.shtrafovnet.dev/v2/clients/fines?paid=nopaid&doc=all&org=all&page=1", "first":"http://api.shtrafovnet.dev/v2/clients/fines?paid=nopaid&doc=all&org=all&page=1", "last":"http://api.shtrafovnet.dev/v2/clients/fines?paid=nopaid&doc=all&org=all&page=1" }, "fines":[ { "id":2952289, "name":null, "postNumber":"18810136161108008161", "postedAt":"2016-11-08", "violationAt":"07.11.2016, 13:20:00", "amount":500, "isPaid":false, . . . }, . . . ] }

Водители

Водители

Получение списка водителей
GET /drivers

Query parameters

Param Type Description
status string or array

Фильтрация водителей по статусу водительского удостоверения

  • new - проверка данного ВУ еще не производилась;
  • active - действующее водительское удостоверение;
  • incorrect - данные введены некорректно;
  • deprived - водитель лишен права управления;
  • expired - истек срок дейсттвия водительского удостоверения;
  • not_found - не найдена информация по данному ВУ;
Можно указывать несколько статусов, передав их в виде массива.
Возможные значения: new, active, deprived, expired, not_found, incorrect,

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/drivers'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Connection: keep-alive Date: Mon, 03 Apr 2017 20:48:30 GMT { "total": 300, "count": 200, "pages": 2, "page: 1, "limit": 200, "_links": { "self": "https://api.shtrafovnet.ru/v2/clients/drivers?page=1", "prev": "https://api.shtrafovnet.ru/v2/clients/drivers?page=1", "next": "https://api.shtrafovnet.ru/v2/clients/drivers?page=2", "first": "https://api.shtrafovnet.ru/v2/clients/drivers?page=1", "last": "https://api.shtrafovnet.ru/v2/clients/drivers?page=2" }, "cars": [ { "id": 7972, "nickname": "R1der", "status": "new", "licenseNumber": "0000000048", "licenseDate": "2013-07-26", "licenseExpiration": null, "inactiveReason": null, "experience": "Стаж с 2000г", "categories": [ "A", "B" ], "deprivationDate": null, "latestDeprivationDate": null, "deprivations": [], "wanted": [], "firstName": "Ivan", "lastName": "Ivanov", "middleName": "Ivanovich", "birthday": "1988-09-24", "birthplace": "Moscow", "createdAt": "2018-05-21 19:43:50", "checkedAt": null }, . . . ] }

Информация о водителе

Получение сводной информации о водителе и состоянии его водительского удостоверения
GET /drivers/{id}

Path parameters

Param Description
id Уникальный идентификатор водителя

Response parameters

Param Type Description
id integer Уникальный идентификатор водителя
nickname string Позывной водителя
status string or array

Статус водительского удостоверения

  • new - проверка данного ВУ еще не производилась;
  • active - действующее водительское удостоверение;
  • incorrect - данные введены некорректно;
  • deprived - водитель лишен права управления;
  • expired - истек срок дейсттвия водительского удостоверения;
  • not_found - не найдена информация по данному ВУ;
Возможные значения: new, active, deprived, expired, not_found, incorrect,
licenseNumber string Серия и номер водительского удостоверения
licenseDate string Дата выдачи водительского удостоверения (формат: YYYY-MM-DD)
licenseExpiration string Дата окончания действия водительского удостоверения (формат: YYYY-MM-DD)
inactiveReason string Причина неактивности водительского удостоверения
experience string Стаж
categories array Открытые категории данного водительского удостоверения
deprivationDate array Дата до которой водитель лишен права управления (формат: YYYY-MM-DD)
latestDeprivationDate array Дата последнего лишения водителя права управления (формат: YYYY-MM-DD)
deprivations array Информация о лишениях права управления
wanted array Информация о розыске данного постановления
firstName string Имя водителя
lastName string Фамилия водителя
middleName string Отчество водителя
birthday string Дата рождения водителя (формат: YYYY-MM-DD)
birthplace string Место рождения водителя
createdAt string Дата/время создания водителя в системе ШтрафовНет.ру (формат: YYYY-MM-DD HH24:MI:SS)
checkedAt string Дата/время последней проверки водительского удостоверения (формат: YYYY-MM-DD HH24:MI:SS)

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/drivers/{id}'

Response

Status: 200 OK Content-Type: application/json { "id": 7984, "nickname": "R1der", "status": "new", "licenseNumber": "3615595405", "licenseDate": "2013-07-26", "licenseExpiration": "2012-02-12", "inactiveReason": "test", "experience": "Стаж с 2000 года", "categories": [ "A", "B" ], "deprivationDate": "2018-03-21", "latestDeprivationDate": "2016-05-21", "deprivations": [], "wanted": [], "firstName": "Ivan", "lastName": "Ivanov", "middleName": "Ivanovich", "birthday": "2012-02-12", "birthplace": "Mars", "createdAt": "2018-05-21 19:51:51", "checkedAt": "2018-05-21 19:54:51" }

Новый водитель

Добавление в систему ШтрафовНет.ру информации о новом водителе и его последующей проверке водительского удостоверения.

После успешного добавления, автоматически запустится процесс проверки. Результаты необходимо запрашивать через метод GET /drivers/{id}

POST /drivers

Request parameters

Param Type Description
nickname string Позывной водителя
licenseNumber string Серия и номер водительского удостоверения (формат: 1234567890 или 77АА123456)
Обязательный.
licenseDate string Дата выдачи водительского удостоверения (формат: YYYY-MM-DD)
Обязательный.
experience string Стаж
firstName string Имя водителя
lastName string Фамилия водителя
middleName string Отчество водителя
birthday string Дата рождения водителя (формат: YYYY-MM-DD)
birthplace string Место рождения водителя

Request

curl --include \ --request POST \ --header 'Authorization: Bearer $TOKEN' \ --header 'Content-Type:application/json' \ --data '{"licenseNumber":"3615595405","licenseDate":"2013-07-26","nickname":"Super Driver"}' \ --url 'https://api.shtrafovnet.ru/v2/clients/drivers'

Response

Status: 201 Content-Type: application/json Location: https://api.shtrafovnet.ru/v2/clients/drivers/7986 { "id": 7986, "nickname": "Super Driver", "status": "new", "licenseNumber": "3615595405", "licenseDate": "2013-07-26", "licenseExpiration": null, "inactiveReason": null, "experience": null, "categories": [], "deprivationDate": null, "latestDeprivationDate": null, "deprivations": [], "wanted": [], "firstName": "Ivan", "lastName": "Ivanov", "middleName": "Ivanovich", "birthday": "1988-09-01", "birthplace": "Moscow", "createdAt": "2018-05-21 20:51:46", "checkedAt": null }

Редактирование водителя

Обновление персональной информации водителя
PATCH /drivers/{id}

Path parameters

Param Description
id Уникальный идентификатор водителя

Request parameters

Param Type Description
nickname string Позывной водителя
experience string Стаж
firstName string Имя водителя
lastName string Фамилия водителя
middleName string Отчество водителя
birthday string Дата рождения водителя (формат: YYYY-MM-DD)
birthplace string Место рождения водителя

Request

curl --include \ --request PATCH \ --header 'Authorization: Bearer $TOKEN' \ --header 'Content-Type:application/json' \ --data '{"nickname":"New nickname","birthplace":"New place"}' \ --url 'https://api.shtrafovnet.ru/v2/clients/drivers/{id}'

Response

Status: 200 OK Content-Type: application/json { "id": 7984, "nickname": "New nickname", "status": "new", "licenseNumber": "3615595405", "licenseDate": "2013-07-26", "licenseExpiration": "2012-02-12", "inactiveReason": "test", "experience": "Стаж с 2000 года", "categories": [ "A", "B" ], "deprivationDate": "2018-03-21", "latestDeprivationDate": "2016-05-21", "deprivations": [], "wanted": [], "firstName": "Ivan", "lastName": "Ivanov", "middleName": "Ivanovich", "birthday": "2012-02-12", "birthplace": "New place", "createdAt": "2018-05-21 19:51:51", "checkedAt": "2018-05-21 19:54:51" }

Удаление водителя

Удаление водителя. Метод всегда возвращает пустое тело ответа.
DELETE /drivers/{id}

Path parameters

Param Description
id Уникальный идентификатор водителя

Request

curl --include \ --request DELETE \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/drivers/{id}'

Response

HTTP/1.1 204 No Content Server: nginx Content-Type: text/html; charset=UTF-8 Date: Wed, 14 Jun 2017 16:38:24 GMT

Обслуживание

Информация об услуге

Получение информации об услуге по информационному обслуживанию (проверка штрафов)
GET /services/{id}

Path parameters

Param Description
id Уникальный идентификатор услуги

Response parameters

Param Type Description
id integer Уникальный идентификатор услуги информационного обслуживания
invoice integer Уникальный идентификатор счета на оплату услуги
startedAt string Дата/время с которого действует данная услуга
endedAt string Дата/время до которой действует данная услуга
tariff object Тариф для данной услуги
createdAt string Дата/время создания услуги

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/services/{id}'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Connection: keep-alive Date: Thu, 06 Apr 2017 15:05:17 GMT { "id": 311, "invoice": 596, "startedAt": "2017-06-12 00:00:00", "endedAt": "2017-09-11 23:59:59", "tariff": { "id": 10, "minCars": 51, "maxCars": 100, "scanPeriod": "week", "price": 4000, "pricePerCar": 0 }, "createdAt": "2017-06-12T14:13:54+0300" }

Информационное обслуживание

Список услуг по информационному обслуживанию (проверка штрафов)
GET /services

Response parameters

Param Type Description
services array Список услуг по информационному обслуживанию клиента

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/services'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Connection: keep-alive Date: Thu, 06 Apr 2017 15:05:17 GMT { "services": [ { "id": 311, "invoice": 596, "startedAt": "2017-06-12 00:00:00", "endedAt": "2017-09-11 23:59:59", "tariff": { "id": 10, "minCars": 51, "maxCars": 100, "scanPeriod": "week", "price": 4000, "pricePerCar": 0 }, "createdAt": "2017-06-12T14:13:54+0300" }, { "id": 310, "invoice": null, "startedAt": "2017-06-08 00:00:00", "endedAt": "2017-06-11 23:59:59", "tariff": { "id": 6, "minCars": 501, "maxCars": 1000, "scanPeriod": "day", "price": 15000, "pricePerCar": 0 }, "createdAt": "2017-06-08T18:54:50+0300" } ] }

Новая услуга

Выставление счета на оплату услуги по информационному обслуживанию.

После успешного выполнения запроса, будет создан и отправлен вам на электронную почту счет на оплату.
После оплаты счета, информационное обслуживание будет продлено автоматически.
POST /services

Request parameters

Param Type Description
tariff integer Уникальный идентификатор тарифа
quantity integer Количество месяцев обслуживания

Response parameters

Param Type Description
id integer Уникальный идентификатор счета
number string Уникальный номер счета
comment string Краткое описание выставленного счета
price integer Итоговая сумма на оплату счета
status string Текущее состояние счета
Возможные значения: wait, paid, cancel, fail, done,
Значение по умолчанию: wait
pdfUrl string Ссылка на pdf-файл счета на оплату
createdAt string Дата/время создания счета
items array Список продуктов/товаров/услуг указанных в счете

Request

curl --include \ --request POST \ --header 'Authorization: Bearer $TOKEN' \ --header 'Content-Type: application/json' \ --data '{"tariff":7,"quantity":1}' \ --url 'https://api.shtrafovnet.ru/v2/clients/services'

Response

HTTP/1.1 201 Created Server: nginx Content-Type: application/json Location: https://api.shtrafovnet.ru/v2/clients/invoices/601 Date: Fri, 16 Jun 2017 22:35:14 GMT { "id":597, "number":"ИО-00597", "comment":"Информационное обслуживание", "price":4675, "status":"wait", "pdfUrl":"https://s3-eu-west-1.amazonaws.com/shtrafovnet/payment/invoices/2017/06/12/142338_20170612_invoice_*****.pdf", "createdAt":"2017-06-12", "items":[ { "name":"Информационное обслуживание за ООО \"Best Company\". Ежедневная проверка штрафов ГИБДД (11-50 ТС)", "price":5500, "quantity":1, "discount":15, "tax":0, "unit":"month", "totalPrice":4675 } ] }

Оплата штрафов

Информация об реестре

Получение подробной информации об реестре оплаты штрафов
GET /registries/{id}

Path parameters

Param Description
id Уникальный идентификатор реестра

Response parameters

Param Type Description
id integer Уникальный идентификатор реестра
invoice integer Уникальный идентификатор счета на оплату
status integer Текущее состояние реестра
Возможные значения: new, approved, process, paid, done,
Значение по умолчанию: new
pdfUrl string Pdf-файл текущего реестра со списком оплачиваемых постановлений (Формируется после выставления счета)
amount integer Сумма всех оплачиваемых постановлений (учитывая скидку (если доступна) на оплату постановлений согласно ФЗ)
commission integer Комиссия сервиса за оплату постановлений за клиента
Значение по умолчанию: 4
totalAmount integer Итоговая стоимость включающая комиссию сервиса ШтрафовНет.ру
createdAt string Дата/время создания реестра
items array Список оплачиваемых постановлений

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/registries/{id}'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Date: Sun, 18 Jun 2017 10:22:18 GMT { "id": 208, "invoice": null, "status": "new", "pdfUrl": null, "amount": 500, "commission": 4, "totalAmount": 520, "createdAt": "2017-06-17 22:55:58", "items": [ { "status": "new", "fine": 2949426, "uin": "18810136161108008161", "amount": 500, "description": null, "pdfUrl": null, "createdAt": "2017-06-17 22:55:58", "checkedAt": null, "paidAt": null, "inactiveReason": null }, { "status": "wrong", "fine": null, "uin": "0355431010117031600011275", "amount": 0, "description": null, "pdfUrl": null, "createdAt": "2017-06-17 22:55:58", "checkedAt": "2017-06-17 22:55:58", "paidAt": null, "inactiveReason":"Постановление не найдено" } ] }

Список реестров

Получение списка реестров на оплату штрафов
GET /registries

Response parameters

Param Type Description
total integer Общее количество штрафов у транспортного средства (по заданным критериям)
count integer Текущее количество штрафов в запросе (по заданным критериям)
_links array Объект содержит содержит ключи, указывающие взаимосвязь дополнительных страниц.
registries array Список реестров на оплату штрафов

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/registries'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Date: Sun, 18 Jun 2017 10:22:18 GMT { "total": 1, "count": 1, "_links": { "self": "https://api.shtrafovnet.ru/v2/clients/registries?page=1", "first": "https://api.shtrafovnet.ru/v2/clients/registries?page=1", "last": "https://api.shtrafovnet.ru/v2/clients/registries?page=1" }, "registries": [ { "id": 208, "invoice": null, "status": "new", "pdfUrl": null, "amount": 500, "commission": 4, "totalAmount": 520, "createdAt": "2017-06-17 22:55:58", "items": [ { "status": "new", "fine": 2949426, "uin": "18810136161108008161", "amount": 500, "description": null, "pdfUrl": null, "createdAt": "2017-06-17 22:55:58", "checkedAt": null, "paidAt": null, "inactiveReason": null }, { "status": "wrong", "fine": null, "uin": "0355431010117031600011275", "amount": 0, "description": null, "pdfUrl": null, "createdAt": "2017-06-17 22:55:58", "checkedAt": "2017-06-17 22:55:58", "paidAt": null, "inactiveReason":"Постановление не найдено" } ] } ] }

Создание реестра

Создание реестра штрафов для проверки (на возможность оплаты) и последующей оплаты через сервис ШтрафовНет.ру

После проверки рееста, вы получите на электронную почту сообщение о результате проверки. После ознакомления с резальтатами необходимо выставить счет.

После того, как счет будет оплачен, в автоматическом режиме начнется оплата выбранных постановлений.
POST /registries

Request parameters

Param Type Description
uins array Список номеров постановлений (УИН)
Обязательный.

Response parameters

Param Type Description
id integer Уникальный идентификатор реестра
invoice integer Уникальный идентификатор счета на оплату
status integer Текущее состояние реестра
Возможные значения: new, approved, process, paid, done,
Значение по умолчанию: new
pdfUrl string Pdf-файл текущего реестра со списком оплачиваемых постановлений (Формируется после выставления счета)
amount integer Сумма всех оплачиваемых постановлений (учитывая скидку (если доступна) на оплату постановлений согласно ФЗ)
commission integer Комиссия сервиса за оплату постановлений за клиента
Значение по умолчанию: 4
totalAmount integer Итоговая стоимость включающая комиссию сервиса ШтрафовНет.ру
createdAt string Дата/время создания реестра
items array Список оплачиваемых постановлений

Request

curl --include \ --request POST \ --header 'Authorization: Bearer $TOKEN' \ --header 'Content-Type: application/json' \ --data '{"uins":["18810136161108008161","0355431010117031600011275"]}' \ --url 'https://api.shtrafovnet.ru/v2/clients/registries'

Response

HTTP/1.1 201 Created Server: nginx Content-Type: application/json Location: https://api.shtrafovnet.ru/v2/clients/registries/123 Date: Fri, 16 Jun 2017 23:32:01 GMT { "id": 208, "invoice": null, "status": "new", "pdfUrl": null, "amount": 500, "commission": 4, "totalAmount": 520, "createdAt": "2017-06-17 22:55:58", "items": [ { "status": "new", "fine": 2949426, "uin": "18810136161108008161", "amount": 500, "description": null, "pdfUrl": null, "createdAt": "2017-06-17 22:55:58", "checkedAt": null, "paidAt": null, "inactiveReason": null }, { "status": "wrong", "fine": null, "uin": "0355431010117031600011275", "amount": 0, "description": null, "pdfUrl": null, "createdAt": "2017-06-17 22:55:58", "checkedAt": "2017-06-17 22:55:58", "paidAt": null, "inactiveReason":"Постановление не найдено" } ] }

Удаление реестра

Удаление реестра на оплату штрафов.
DELETE /registries

Request

curl --include \ --request DELETE \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/registries'

Response

HTTP/1.1 204 No Content Server: nginx Content-Type: text/html; charset=UTF-8 Date: Wed, 14 Jun 2017 16:38:24 GMT

Оплата реестра

Выставление счета на оплату услуги (оплата штрафов согласно реестра).

После успешного выполнения запроса, будет создан и отправлен на электронную почту счет. После оплаты в автоматическом режиме начнется оплата выбранных постановлений.
POST /registries/{id}/actions/bill

Request

curl --include \ --request POST \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/registries/{id}/actions/bill'

Response

HTTP/1.1 201 Created Server: nginx Content-Type: application/json Location: https://api.shtrafovnet.ru/v2/clients/invoices/611 Date: Sun, 18 Jun 2017 10:55:24 GMT { "id":611, "number":"АА-00611", "comment":"Оплата штрафов ГИБДД по агентскому договору", "price":520, "status":"wait", "createdAt":"2017-06-18", "pdfUrl":"https://s3-eu-west-1.amazonaws.com/shtrafovnet/payment/invoices/2017/06/18/135515_20170618_invoice_****.pdf", "items":[ { "name":"Оплата по агентскому договору №**** от 01.01.2017 включая 4% вознаграждения агента", "price":520, "quantity":1, "discount":0, "tax":0, "unit":"service", "totalPrice":520 } ] }

Счета

Счет

Получение подробной информации о счете на оплату услуг
GET /invoices/{id}

Path parameters

Param Description
id Уникальный идентификатор счета

Response parameters

Param Type Description
id integer Уникальный идентификатор счета
number string Уникальный номер счета
comment string Краткое описание выставленного счета
price integer Итоговая сумма на оплату счета
status string Текущее состояние счета
Возможные значения: wait, paid, cancel, fail, done,
Значение по умолчанию: wait
pdfUrl string Ссылка на pdf-файл счета на оплату
createdAt string Дата/время создания счета
items array Список продуктов/товаров/услуг указанных в счете

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/invoices/{id}'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Connection: keep-alive Date: Thu, 06 Apr 2017 15:05:17 GMT { "id":597, "number":"ИО-00597", "comment":"Информационное обслуживание", "price":4675, "status":"wait", "pdfUrl":"https://s3-eu-west-1.amazonaws.com/shtrafovnet/payment/invoices/2017/06/12/142338_20170612_invoice_*****.pdf", "createdAt":"2017-06-12", "items":[ { "name":"Информационное обслуживание за ООО \"Best Company\". Ежедневная проверка штрафов ГИБДД (11-50 ТС)", "price":5500, "quantity":1, "discount":15, "tax":0, "unit":"month", "totalPrice":4675 } ] }

Список счетов

Список счетов на оплату услуг
GET /invoices

Response parameters

Param Type Description
invoices array Список счетов на оплату услуг

Request

curl --include \ --request GET \ --header 'Authorization: Bearer $TOKEN' \ --url 'https://api.shtrafovnet.ru/v2/clients/invoices'

Response

HTTP/1.1 200 OK Server: nginx Content-Type: application/json Connection: keep-alive Date: Thu, 06 Apr 2017 15:05:17 GMT { "invoices":[ { "id":597, "number":"ИО-00597", "comment":"Информационное обслуживание", "price":4675, "status":"wait", "pdfUrl":"https://s3-eu-west-1.amazonaws.com/shtrafovnet/payment/invoices/2017/06/12/142338_20170612_invoice_*****.pdf", "createdAt":"2017-06-12", "items":[ { "name":"Информационное обслуживание за ООО \"Best Company\". Ежедневная проверка штрафов ГИБДД (11-50 ТС)", "price":5500, "quantity":1, "discount":15, "tax":0, "unit":"month", "totalPrice":4675 } ] }, { "id":596, "number":"ИО-00592", "comment":"Информационное обслуживание", "price":10200, "status":"done", "pdfUrl":"https://s3-eu-west-1.amazonaws.com/shtrafovnet/payment/invoices/2017/06/11/203213_20170611_invoice_*****.pdf", "createdAt":"2017-06-11", "items":[ { "name":"Информационное обслуживание за ИП Ромашка. Еженедельная проверка штрафов ГИБДД (51-100 ТС)", "price":4000, "quantity":3, "discount":15, "tax":0, "unit":"month", "totalPrice":10200 } ] } ] }

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

Уведомление (обновление штрафа)

Отправка POST-запроса внешнему сервису с информацией об обновленом/созданном штрафе
POST /test/webhooks/fine_change

Request parameters

Param Type Description
fine integer Уникальный идентификатор штрафа в системе ШтрафовНет

Request

curl --include \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer $TOKEN' \ --data '{"fine":12345}' \ --url 'https://api.shtrafovnet.ru/v2/clients/test/webhooks/fine_change'

Response

HTTP/1.1 201 Created Server: nginx Content-Type: application/json Date: Wed, 02 Aug 2017 16:15:58 GMT { "message":"Webhook created" }