Перейти к основному содержимому

fl_report1

1.1. Получение данных физлица

Запрос имеет следующий вид:

POST https://data-api.datadev.ru/api/search

При этом авторизация осуществляется посредством заголовка Authorization со значением API-ключа.

Тело запроса:

    {
"service":"fl_report1",
"sync":true, (поле, которое делает запрос синхронным, значение false – асинхронным)
"forceUpdate":false, (при значении true принудительно обновляет данные извне, даже если они были в кэше)
"query":{
"mode":"persons",
"data": {
"firstName": Имя,
"lastName": Фамилия,
"middleName": Отчество,
"yearBirth": Год рождения (YYYY),
"monthBirth": Месяц рождения (только цифры, без ведущих нулей),
"dayBirth": День рождения (только цифры, без ведущих нулей),
"passport": Паспорт РФ (серия, номер в формате ХХХХХХХХХХ),
"car": Гос. Номер ТС,
"snils": СНИЛС в формате ХХХХХХХХХХХ,
"inn": ИНН в формате ХХХХХХХХХХХХ,
"telephone": Номер телефона (без учета международного кода +7, +8 и т.д),
"referatFts": Сквозной поиск по параметрам, не входящим в стандартные (описанные выше) Описание см. Пункт 1.1,
"orderBy": Метод сортировки см. Таблицу 1
}
}

Таблица 1. Методы сортировки результатов поиска

Метод:ОписаниеПримечание
AlphabetСортировка по алфавиту-
NewnessСортировка по новизне источника-
RelevanceСортировка по релевантности используется совместно с параметромиспользуется совместно с параметром referatFts

Relevance - cортировка по релевантности используется совместно с параметром referatFts

Если параметр не указан, то никакой порядок строк не гарантируется.

Минимальные наборы для поиска в рамках данного API запроса:

  1. Фамилия + Имя

  2. Фамилия + Год рождения

  3. Номер телефона

  4. Гос. Номер ТС

  5. Паспорт РФ

  6. ИНН

  7. СНИЛС

  8. Имя + Отчество + Полная дата рождения

  9. Запрос на сквозной поиск (указана информация в поле \"referatFts\")

Ответ на запрос:

1. Успешное получение данных


{
"_type": "TaskContainer", //Тип ответа
"id": "857516b754bed7aedfb9b86d511e61bbdd0d3f83", //id ответа
"group": "", //группа, если осуществлялся поиск через маппер (см. п. 1.2)
"request":
{"data": {
“Параметры запроса см. выше”
}
"result": [
{
Параметры ответа см. Таблицу 2
}
" status": "ok",
}

2. Ошибка -- недоступен/не отвечает сервис по получению данных

{ 
"ok": false, Сервис недоступен/не отвечает. Запрос нужно повторить позже
}

Таблица 2. Ответ на запрос получения данных физлица

Имя поляЗначениеТипОписание
idСистемный идентификатор записиbigint
lastNameФамилияstring/null
firstNameИмяString/null
middleNameОтчествоstring/null
telephoneНомер телефонаstring/null
carГос. Номер ТСstring/null
passportПаспорт РФstring/null
dayBirthДень рожденияint“0” - день не указан
monthBirthМесяц рожденияint“0” - месяц не указан
yearBirthГод рожденияint“0” - год не указан
snilsСНИЛСstring/null
innИННstring/null
informationДополнительная информация по ФЛlistИмеет внутри себя список значений параметров, имена которых одинаковы в разрезе связанной информационной базы

Для поля необходимо подгрузить схему имен полей (cм. Пункт 2) | | base | Уникальное имя связанной информационной базы | string | Например, “ГИБДД МОСКВА 2018” | | baseId | Системный идентификатор связанной информационной базы | int | |

1.2. Сквозной поиск с помощью поля \"referatFts\"

Система позволяет осуществлять поиск не только по основным полям для поиска, но и по всей дополнительной информации в записях.

Например:

  • Поиск по адресам (место жительства/регистрации и т.д.);

  • Поиск по VIN номеру транспортного средства;

  • Поиск по электронной почте;

  • Использование сквозного поиска как усекающего фильтра при поиске по основным полям. Пример: связка имени (основное поле "Имя") и места жительства (поле "Сквозной поиск").

Важно! В поле сквозного поиска по доп. информации в общем случае не нужно вносить основные параметры, для которых представлены классические поля для поиска. Они по-прежнему должны вводиться в соотв. поля ("Имя", "Фамилия", "Отчество" и т.д.).

Пример тела запроса с заполненным полем referatFts:

{
"mode":"persons",
"data":{
"firstName": "",
"lastName": "",
"middleName": "",
"yearBirth": "",
"monthBirth": "",
"dayBirth": "",
"passport": "",
"car": "",
"snils": "",
"inn": "",
"telephone": "",
"referatFts": "москва валовая",
"orderBy": ""
}
}

Пример ответа:

{ 
"ok": true,
"is_empty": false,
"data": [
{
"id": 1352176302,
"lastName": "ФАМИЛИЯ",
"firstName": "ИМЯ",
"middleName": "ОТЧЕСТВО",
"telephone": null,
"car": null,
"passport": null,
"dayBirth": 7,
"monthBirth": 0,
"yearBirth": 1962,
"snils": null,
"inn": null,
"information": "{\"D\":[\"МОСКВА УЛИЦА УЛ. КВ. 155\\\"\"]}", "base": "ЖИТЕЛИ МОСКВЫ 2011 08",
"baseId": 375
}

1.3. Маппер для поиска конкретных параметров

С помощью маппера можно указывать определенные поля для поиска:

GET https://data-api.datadev.ru/api/search_group/{{search_group.response.body.id}}
?format=csv (может также принимать значение json)
&fields=<наименование полей через запятую>
&service= fl_report1
&status=OK;ERROR (необязательное поле, необходимо для фильтрации результатов выборки)
&cursor= (поле, необходимое для пролистывания данных) // в ответном запросе приходит заголовок X-CURSOR-ITERATION, который содержит число. Это число необходимо подставить в следующий запрос чтобы получить новую порцию данных. Если в заголовке пришел 0, значит следующий запрос можно не отправлять т.к это последняя страница данных.
Authorization: {{test_token}}

Авторизация осуществляется посредством заголовка Authorization со значением API-ключа.

Поле fields заполняется наименованиями полей, необходимых для поиска, через запятую. Например:

&fields=lastName, firstName, telephone

При этом в ответе будут созданы колонки lastName, firstName, telephone, поле "telephone" будет содержать перечисление через точку с запятой номеров из ответа от источника.

Пример ответа:

lastName; firstName; telephone ФАМИЛИЯ; ИМЯ; "9142522487; 9142548236" 

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

Запрос имеет следующий вид:

GET https://data-api.datadev.ru/business_api/get_schema?baseid=[id связанной базы из ответа предыдущего запроса]&token=[токен]

Ответ:

{ 
"baseId": //id базы, к которой делался запрос,
"table": //наименование таблицы,
"fields": [
//наименования полей таблицы
]
}

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