HTTP взаимодействие с пояснениями
Получение API-ключа для автоматизированных действий
В данные момент API-ключ получается на сайте по пути “Обмен данными” -> “Интеграции” -> “Ключ API”.
Использование токена доступа
В каждом запросе необходимо указывать токен доступа в заголовке `Authorization`.
GET /* HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
```
Загрузка данных о должнике или событии
Загрузка данных в определенную компанию по Идентификатору компании. Для загрузки необходимо указать ГРЗ автомобиля-должника в ASCII формате и тип производства, чаще всего это - сочетание `pretrial` и `2`. Вместе с должником можно присылать:
Список интернет ссылок на документы `documents`, которые должны быть в формате `.pdf` или `.zip`.
Список интернет ссылок на изображения `images`, которые должны быть в формате `.png`, `.jpeg`, `.jpg`.
Список событий (поездок) `trips`. Событие состоит из:
-
Названия ПВП `place_name`. Например, `М-10 "Россия" - М-11 "Нева"`
-
Названия Оператора `place_operator`. Например, `ЕО ЦКАД`
-
Номер транзакции `transaction`, которая является строкой с максимальной длинной 31 символ.
-
Даты транзакции `transaction_date`.
-
-
Номер дорожной полосы `lane`.
-
Сумма транзакции `cost` - вещественное положительное число с переменной точностью. Можно указывать как строкой, так и числом: `"2.2"` и `2.2`.
-
Тип транзакции `payment_type`, число которое имеет строго ограниченное количество вариантов. `1-"Взыскание платы невозможно", 2-"Проезд по ГРН", 3-"Транспондер", 10-"Проезд нарушителя (оплата отсутствует)"`.
Запрос:
```
POST /api/datafile/package/upload_debtor/?company_id={Идентификатор компании} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
Content-Type: application/json
{
"personal_account": "{ГРЗ}",
"production_type": "pretrial",
"module": 2,
"documents": [
{
"url": "http://..."
}
],
"images": [
{
"url": "http://..."
}
],
"trips": [
{
"place_name": "string",
"place_operator": "string",
"transaction": "string",
"transaction_date": "2021-11-17T15:51:45.465Z",
"date": "2021-11-17T15:51:45.465Z",
"lane": 0,
"cost": "string",
"payment_type": 1
}
]
}
```
В ответ выдается Идентификатор обработки `id`, по которому можно проверять статус обработки.
Ответ:
```
{
"id": {Идентификатор обработки},
"uuid": "string",
"company": {Идентификатор компании},
"operator": {Идентификатор пользователя},
"status": 1,
"status_name": "новый",
"module_type": 2,
"mode": null,
"region": null,
"task_uuid": "32111111-0000-4444-aaaa-222222222222",
"payload": {
...
}
}
```
Проверка статуса
При проверки статуса обработки необходимо смотреть на поле `status` и его текстовое описание `status_name`. Виды статусов `1-"новый", 2-"загружен", 4-"обработан", 5-"ошибка"`
Запрос:
```
GET /api/datafile/package/{Идентификатор обработки}/?company_id={Идентификатор компании} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
Content-Type: application/json
```
Ответ:
```
{
"id": {Идентификатор обработки},
"uuid": "string",
"company": {Идентификатор компании},
"operator": {Идентификатор пользователя},
"status": 4,
"status_name": "обработан",
"module_type": 2,
"mode": null,
"region": null,
"task_uuid": "32111111-0000-4444-aaaa-222222222222",
"payload": {
...
}
}
```
Просмотр списка должников и деталей должника
В списке должников выводится вся необходимая информация. Должники фильтруются по типы производства `production_type` имеют определенные тип производства `"pretrial"-Досудебное, "judicial"-Судебное, "executive"-Исполнительное`. Должников можно фильтровать `?any=any` и сортировать `?o=-pk`. Об этом детальнее в Swagger. Список пагинигируется, поэтому данные находятся в поле `results` Наиболее важные поля это:
-
Идентификатор должника уникальный в системе `debtor.pk`.
-
-
Информация о профиле должнике находится в поле `debtor_main_profile`. В случае если должник юридическое лицо - профиль должника описывает директора.
-
Является ли должник юридическим лицом обозначается в поле `debtor_main_profile.is_organization`.
-
Если должник является физическим лицом, то у него будет заполнено `debtor_tenant_profiles[0]`, если он является юридическим лицом - `debtor_main_profile.organization`.
-
Описание физического лица `debtor_tenant_profiles[0]`: Серия и номер паспорта без разделителей `num_of_passport`, является ли пароль действительным `passport_is_valid`, кем выдан паспорт `passport_issued_by`, дата выдачи паспорта `date_of_passport_issue`, ФИО через пробел `full_name`, Дата рождения `birth_date`, Идентификационный номер налогоплательщика - `inn`, Страховой номер индивидуального лицевого счета - `snils`.
-
Описание Юридического лица `debtor_main_profile.organization`: ИНН - `inn`, КПП - `kpp`, ОГРН - `ogrn`, дата регистрации - `ogrn_data_reg`, физический адрес - `physical_address`, юридический адрес - `legal_address`, почтовый адрес - `mail_address`.
-
Описание транспортного средства находится в поле `vehicle`: Регистрационные знак транспортного средства - `grz`, VIN номер - `vin`, свидетельство о прохождении регистрации - `ctc`, паспорт транспортного средства - `ptc`, и их даты соответственно `ctc_date` и `ptc_date`, Тип ТС - `info.tc_type_name`, Марка и модель - `model_name`.
Запрос для получения списка должников:
```
GET /api/debtors-data/?company_id={Идентификатор компании}&production_type={Идентификатор производства} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
```
Запрос для получения должника по лицевому счету:
```
GET /api/debtors-data/?company_id={Идентификатор компании}&production_type={Идентификатор производства}&personal_account={Лицевой счет} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
```
Запрос для получения должника по идентификатору:
```
GET /api/debtors-data/{Идентификатор должника}/?company_id={Идентификатор компании}&production_type={Идентификатор производства} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
```
Ответ:
```
{
"pk": {Идентификатор записи должника},
"debtor": {
"pk": {Идентификатор должника},
"company_id": {Идентификатор компании},
"module": 2,
"personal_account": "{ГРЗ}",
"debtor_status": [
{
"id": 1,
"status": "string",
"updated_at": "2021-11-17T20:13:09.364153",
"substatus": [
{
"substatus": "string",
"updated_at": "2021-11-17T20:13:09.369457"
}
]
},
],
...
},
"debtor_main_profile": {
"id": {Идентификатор профиля},
"address": "string",
"is_organization": false,
"organization": {
"id": 20,
"name_short": "string",
"name_full": "string",
"inn": "string",
"kpp": "string",
"ogrn": "string",
"ogrn_data_reg": "string",
"physical_address": "string",
"legal_address": "string",
"mail_address": "string",
},
"phone_number": "string",
"production_type": "pretrial",
"full_name": "ФИО",
"phone_numbers": [
"string"
],
"email": null,
"debtor": {Идентификатор должника},
"regional_court_place": {Идентификатор суда},
"magistrate_court_place": {Идентификатор суда}
},
"debtor_tenant_profiles": [
{
"id": {Идентификатор человека},
"production_type": "judicial",
"full_name_orig": "string",
"full_name": "string",
"birth_date": "string",
"birth_place": null,
"num_of_passport": "string",
"passport_issued_by": "string",
"date_of_passport_issue": "string",
"passport_is_valid": true,
"passport_is_invalid": false,
"inn": null,
"snils": null,
"registration_date": null,
"citizenship": "РФ",
"registration": null,
"verified": false,
"debtor": {Идентификатор должника}
}
],
"vehicle": {
"id": {Идентификатор транспорта},
"trips": [
{
"id": 1,
"place": {
"id": 1,
"operator_name": "ЕО ЦКАД",
"clear_name": "м10россиям11нева",
"name": "М-10 \"Россия\" - М-11 \"Нева\"",
"default_price": "0.00",
"operator": 1
},
"transaction": "538605481",
"transaction_date": "2021-10-29T00:06:19",
"date": "2021-10-29T00:00:00",
"lane": 2,
"cost": "20.00",
"payment_type": 10
}
],
"region": null,
"trips_total": {
"sum_1": 0.0,
"sum_2": 0.0,
"sum_3": 0.0,
"sum_10": 20.0
},
"info": {
"id": 57,
"tc_type_name": "Легковые автомобили универсал",
"model_name": "АКУРА МDХ ",
"model": 57,
"tc_type": 6
},
"grz": "В948КС799",
"vin": "2НNУD18241Н503234",
"ctc": "7761",
"ptc": "ОН276372",
"ctc_date": null,
"ptc_date": null,
"owner": 1
},
...
"debt": 0.0,
"penalty": 0.0,
"accrual": 0.0,
"paid_up": 0.0,
"fee": 0.0,
"clean_address": "string",
"production_type": "pretrial",
"total_debt": 0.0
}
```
Перевод должника в судебное производство
Каждый должник имеет три стадии делопроизводства. Для того чтобы формировать судебные приказы необходимо перевести должника из досудебного в судебное делопроизводство.
Запрос:
```
POST /api/debtors-data-move/?company_id={Идентификатор компании} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
Content-Type: application/json
{
"filters": {
"production_type": "pretrial",
"debtor_ids": [{Идентификатор должника}],
"company_id": {Идентификатор компании}
},
"to": "judicial"
}
```
В ответ приходит Идентификатор перемещения и информация о её возможности. Перемещение необходимо подтвердить.
Ответ:
```
...
```
Запрос:
```
PATCH /api/debtors-data-move/{Идентификатор перемещения}/confirm/?company_id={Идентификатор компании} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
Content-Type: application/json
{
"filters": {},
"to": "judicial"
}
```
Ответ:
```
...
```
Выбор шаблонов
Предварительно для формирования документов по должнику необходимо выбрать шаблоны документов которые будут подаваться в печать.
Запрос:
```
POST /document_attachments/company_bulk_create/?company_id={Идентификатор компании} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
Content-Type: application/json
```
Ответ:
```
...
```
Формирование документа
При печати необходимо указать список Идентификаторов должников, по котором будут формироваться документы. В процессе печати формируются файлы в формате `.pdf`, их совокупность в `.zip` и подписанные файлы по ЭЦП `.sig`, если указана переменная `encrypt` в запросе.
Запрос:
```
POST /document_attachments/generate_merged/?company_id={Идентификатор компании} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
Content-Type: application/json
{
"production_type": "judicial",
"company_id": {Идентификатор компании},
"filters": {
"company_id": {Идентификатор компании},
"module": 2,
"production_type": "judicial",
"debtor_ids": [
{Идентификатор должника}
]
}
}
```
После создания запроса создается Идентификатор процесса печати. По этому идентификатор проверяется статус печати.
Ответ:
```
{
"id": {Идентификатор процесса печати},
"status_name": "Запрос на печать создан",
"status": 0,
"file": null,
"file_pdf": null,
"file_sig": null,
"company": {Идентификатор компании}
}
```
При проверке статуса обработки необходимо смотреть на поле `status` и его текстовое описание `status_name`. Виды статусов `0-"Запрос на печать создан", 1-"Печать успешно завершена", 2-"Ошибка печати", 3-"Ошибка подписи"`.
Запрос:
```
GET /document_attachments/status/{id}/?company_id={Идентификатор компании} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
```
В ответе есть ссылка на архив с pdf документами по отдельности `file`, объединенный pdf файл `file_pdf`, архив с подписанными по ЭЦП документами `file_sig`.
Ответ:
```
{
"id": {Идентификатор процесса печати},
"status_name": "Печать успешно завершена",
"status": 1,
"file": "https://api-2.urrobot.tech/media/...zip",
"file_pdf": "https://api-2.urrobot.tech/media/...pdf",
"file_sig": "string",
"company": {Идентификатор компании}
}
```
Загрузка судебных решений
Для загрузки судебных решений требуется указать Идентификатор компании, Идентификатор должника и Тип производства. Идентификатор должника можно получить из пункта 3.1. Для загрузки файла нужно использовать Content-Type: multipart/form-data
Запрос:
```
POST /judicial/debtor/{Идентификатор должника }/decisions/
?company_id={Идентификатор компании} HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
Content-Type: application/json
{
"company_id": {Идентификатор компании},
"production_type": {Тип производства},
"file": {Файл судебного решения},
"case_number": {Номер судебного дела},
"decision_date": {Дата решения},
"debtor_name": {ФИО должника},
"status": {Статус},
"amount": {Сумма},
}
```
Ответ:
```
{
"id": {Идентификатор судебного решения},
"company_id": {Идентификатор компании},
"production_type": {Тип производства},
"file": {Файл судебного решения},
"case_number": {Номер судебного дела},
"decision_date": {Дата решения},
"debtor_name": {ФИО должника},
"status": {Статус},
"amount": {Сумма},
"created_at": {Дата и время создания судебного решения}
}
```
Загрузка платежных поручений
Для загрузки платежного поручения требуется указать Идентификатор компании и Идентификатор производства. Для загрузки файла нужно использовать Content-Type: multipart/form-data
Запрос:
```
POST /judicial/company/{Идентификатор компании}/payments/link/ HTTP/1.1
Host: api-2.urrobot.tech
Authorization: Bearer {Ключ доступа}
Content-Type: application/json
{
"file": {Файл платежного поручения},
"production_type": {Идентификатор производства},
"repaid": {Доплата (Да/Нет)},
"recipient_inn": {ИНН получателя},
"recipient_kpp": {КПП получателя},
"document_amount": {Сумма документа},
"document_number": {Номер документа},
"personal_account": {Лицевой счет},
"debtor_name": {Имя должника},
}
```
Ответ:
```
{
"id": {Идентификатор платежного поручения},
"company_id": {Идентификатор компании},
"debtor_id": {Идентификатор должника},
"production_type": {Тип производства},
"file": {Файл платежного поручения}
"repaid": {Доплата (Да/Нет)},
"recipient_inn": {ИНН получателя},
"recipient_kpp": {КПП получателя},
"document_amount": {Сумма документа},
"document_number": {Номер документа},
"personal_account": {Лицевой счет},
"debtor_name": {Имя должника},
"created_at": {Дата и время создания платежного поручения}
}
```