Наверх

API сервиса SMUVA

Введение

Данное API предназначено для интеграции сайтов и мобильных приложений партнёров с сервисом SMUVA.

История изменений

2017-12-09

  • Добавлено описание процесса обработки запросов с помощью API.

  • Исправлен ряд опечаток.

2017-12-08

  • Добавлено описание вызова для создания сессии и пользователя одним запросом.

  • Косметические изменения.

  • Добавлены описания параметров в ряде запросов, где их ещё не было.

2017-12-01

  • Добавлены новые статусы запроса для учёта расчёта агрегатов - см. Приложение 1.

  • Добавлено поле aggregates в данных сессии, равно как и в данных колбека после обработки сессии.

  • В качестве окончательного статуса, свидетельствующего о полном и успешном завершении обработки, добавлен статус completed_successfully.

2017-11-15

  • Добавлено описание вызова для отправки кода SMS-подтверждения

  • Добавлены новые статусы запроса и сессии - см. Приложение 1.

  • Исправлены тексты описания ответов.

2017-06-14

  • Исправлено описание дополнительных параметров в вызове для создания пользователя

2016-03-03

  • Исправлено описание вызова для клонирования сессии

  • Исправлено описание GET-параметров: теперь генерируются корректные примеры

  • Добавлен пример значения публичного ключа во всех вызовах

2016-02-20

  • Добавлено описание вызова для клонирования сессии

  • В файле описания API применена более современная тема оформления

2016-09-01

  • Добавлено приложение с подробным описанием ответа для провайдеров мобильной связи Казахстана.

  • Убран из документации устаревший вызов API получения данных пользователя.

2016-08-15

  • Добавлены описания новых статусов для Билайн, ОСАГО и АлиЭкспресс

  • Добавлено приложение с подробным описанием ответа для провайдера ОСАГО.

  • Унифицирована структура приложений к API.

2016-06-14

  • Реорганизовано левое меню

  • Переработана общая информация об API, раздел о передаче параметров и возможных ошибках

  • Теперь для всех вызовов API корректно указываются параметры, указываемые в пути URI

2016-02-03

  • Добавлен статус details_pipes_request_failed в “Приложения к документации”

2016-02-01

  • Добавлен раздел “Приложения к документации”

  • Таблица статусов запроса и список состояний сессии перенесены в Приложение.

2016-01-20

  • Изменён адрес базового URL API на актуальный

  • Добавлен подраздел во введении про передачу массивов/коллекций в запросах

  • Добавлены предопределённые имена для дополнительных параметров при добавлении пользователя.

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

2016-01-18

  • Изменён формат ответа в запросе “Статус сессии” - теперь данные передаются в блоке “data”

  • Изменены поля блока “data” в запросе “Данные сессии”

  • Незначительные косметические изменения

2016-01-07

  • Добавлен тип ошибки ‘not_found’ для API-вызова “last_succeeded” (последний успешный запрос пользователя к провайдеру)

2016-01-06

  • Добавлено описание API-вызова “last_succeeded” в группе вызовов “Пользователи”

  • Добавлен параметр state в ответе API-вызова “Данные сессии”

  • Сделаны мелкие улучшения в описаниях некоторых API-вызовов

  • Исправлена ошибка в URL API-вызова “Сгенерировать пользователя”

2016-01-05

  • Добавлено описание API-вызова history в группе вызовов “Пользователи”

2015-12-30

  • Исправлена ошибка в формуле сигнатуры для получения данных сессии

  • Исправлены мелкие опечатки

  • Расширена система состояний сессии - вместо статуса processing введены статусы authenticating и collecting_data

2015-12-28

  • Все параметры подписи для краткости переименованы из request_signature в signature.

2015-12-24

  • Добавлены поля state и captcha_src в ответе от API-вызова user_sessions/{session_uid}/status

  • Добавлено описание возможных состояний и статусов для API-вызова user_sessions/{session_uid}/status

  • Добавлено общее описание для каждой группы API-вызовов

  • Добавлено указание альтернативных форматов и описание их для соответствующих API-вызовов

2015-12-14

  • Описания вызовов с информацией о пользователях и регистрации нового пользователя.

  • Описания вызовов с информацией о сессиях пользователя, регистрации новой сессии и получения статуса сессии.

2015-12-08

  • Исходная версия документа.

  • Описания вызовов с информацией о категориях провайдеров

  • Описания вызовов с информацией о провайдерах

Формирование запросов

  1. API построено в стиле REST с ответами в форматах JSON (формат по умолчанию) или HTML - для отдельных API-вызовов.

  2. Базовый URL для обращения к API (обратите внимание на использование HTTPS!):

    https://muva.smuva.com/api/v1 
  3. Указывайте Content-Type: application/x-www-form-urlencoded при передаче параметров.

  4. Передача массивов в GET-запросах (на примере массива чисел)

    # array_parameter = [1, 2, 3]
    
    https://muva.smuva.com/api/v1/submit?array_parameter[]=1&array_parameter[]=2&array_parameter[]=3
  5. Передача массивов в POST-запросах (на примере массива объектов)

    # array_parameter[Object] = [ {field1: 1, field2: 'record1'}, {field1: 2, field2: 'record2'} ]
    
    # В параметрах командной строки, также можно использовать в GET-запросах
    https://muva.smuva.com/api/v1/submit?array_parameter[0][field1]=1&array_parameter[0][field2]=record1&array_parameter[1][field1]=2&array_parameter[1][field2]=record2
    
    # В теле запроса
    array_parameter[0][field1]=1
    array_parameter[0][field2]=record1
    array_parameter[1][field1]=2
    array_parameter[1][field2]=record2

    Заметьте, что для передачи массива объектов нужно пронумеровать элементы массива от 0 до N.

Ошибки обработки

При ошибке в формировании адреса запроса (попытки открыть несуществующую страницу) генерируется ошибка 404 без формирования JSON-ответа.

Ошибки, связанные с некорректностью передаваемых данных, возвращают соответствующий код HTTP (400, 401 и т.п.) и содержательное описание ошибки в формате JSON.

Все непредвиденные ошибки генерируют ответ с HTTP-кодом 500 и не гарантируют наличия JSON с описанием ошибок в теле ответа.

Использование API

Терминология

  • Пользователь - кандидат, предоставляющий личные данные с целью скоринга или экпертизы due diligence.

  • Провайдер - онлайн-сервис, для которого в системе SMUVA реализован сбор и анализ данных из личного кабинета пользователя.

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

  • СМС-код - проверочный код, посылаемый пользователю провайдером на мобильный телефон для проверки, что запрос авторизован абонентом.

Интеграция с сервисом SMUVA

В наиболее обшем случае интеграция с сервисом SMUVA требует реализации 5 шагов:

  1. (Опционально) Запрос доступных категорий провайдеров

  2. Запрос доступных провайдеров (опционально - с фильтром по категории)

  3. (Опционально) Регистрация пользователя в системе

  4. Регистрация в системе сессии сбора данных из личного кабинета провайдера (для существующего пользователя или с генерацией новой записи пользователя).

  5. Периодическая проверка состояния сессии, требуется специальная обработка для следующих состояний:

    1. captcha - необходимо осуществить ввод капчи от пользователя и послать дополнительный запрос к API (“Послать ответ капчи”).
    2. sms_code - необходимо осуществить ввод кода из СМС от пользователя и послать дополнительный запрос к API (“Послать код подтверждения из СМС”).
    3. failed - сессия завершилась ошибкой, не все данные получены, необходимо прекратить обработку и проинформировать пользователя о том, что его запрос окончился неудачей.
    4. completed - сессия успешно завершена, можно прекращать процесс проверки.
    5. обработка длится более 10 минут - прервать обработку по таймауту, проинформировать пользователя об отсутствии результатов со стороны сервиса SMUVA.

В случае, если реализуется интеграция только с одним провайдером, шаг 1 можно пропустить, а шаг 2 выполнить однократно, и использовать UID провайдера. В случае, если заведомо один пользователь сообщает данные только по одному провайдеру, шаг 3 можно пропустить, использовав вместо этого специальный вариант вызова для создания сессии (“Создать пользователя и сессию”).

С учётом высокой вероятности появления проверки с помощью капчи и введения рядом провайдеров (например, Мегафон) подтверждения на запрос детализации с помощью СМС корректной реализации пункта 5 нужно уделить особое внимание, реализовав интерактивную обработку.

В следующем разделе приведены диаграммы типовых вариантов интеграции с API.

Диаграммы обработки запросов

На диаграммах ниже приведён предлагаемый ход обработки запросов и требуемые для выполнения запросов данные.

Диаграмма 1 соответствует наиболее простому варианту использования, а Диаграмма 2 - самому детализированному процессу.

Диаграмма 1

Провайдеры

Эта группа API-вызовов позволяет получать данные о провайдерах.

Провайдеры - компании, оказывающие специальные услуги (например, телекоммуникационные, банковские, страховые) и предоставляющие пользователям онлайн-доступ к данным об оказанных услугах.

API-вызовы данной группы позволяют получить как список провайдеров, доступных для партнёра (с возможностью фильтрации по категориям услуг), так и описание формы авторизации с перечнем всех требуемых провайдером данных (как правило, телефон / логин и пароль) для конкретного оператора.

Список провайдеров

GET/providers{?partner_public_key,provider_category_uid}

Возвращает список провайдеров с их UID. Возможно применить фильтр по категории провайдеров, используя соответствующий параметр.

Пример URI вызова:

GET /providers?partner_public_key=00000001-0000-0000-0000-000000000002&provider_category_uid=
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

provider_category_uid
string (необязательный) 

UID категории провайдеров

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает список провайдеров.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": [
    {
      "uid": "<UID провайдера>",
      "name": <Название провайдера>,
      "category_uid": "UID категории провайдеров"
    }, ...
  ]
}
HTTP-код ответа:  400
СвернутьРазвернуть

Не удалось получить список провайдеров из-за ошибки в параметрах.

Возможные UID ошибок:

  • invalid - Некорректный параметр (Подробности см. в полях parameter и reason ответа)
Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Возможные UID ошибок:

  • unauthorized - Некорректный ключ партнёра
Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}

Данные провайдера

GET/providers/{provider_uid}{format}{?partner_public_key}

Возвращает данные провайдера с конкретным UID, в том числе структуру формы с данными для запроса к ЛК провайдера.

По умолчанию возвращает JSON-ответ, но возможно получить в ответ страницу с HTML-формой, если использовать адрес с index.html или указать text/html в HTTP-заголовке Accept запроса.

Пример URI вызова:

GET /providers/provider_uid.json?partner_public_key=00000001-0000-0000-0000-000000000002
Параметры:
СвернутьРазвернуть
format
string (необязательный) 
Пример: .json

Формат ответа. По умолчанию используется JSON.

provider_uid
string (обязательный) 

UID провайдера

partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает данные провайдера с конкретным UID.

  • Типы полей формы
  • username - логин, используемый для авторизации в ЛК провайдера

  • email - email, используемый в качестве логина для авторизации в ЛК провайдера. Рекомендуется осуществлять превалидацию.

  • phone - телефон, используемый в качестве логина для авторизации в ЛК провайдера. Рекомендуется осуществлять превалидацию.

  • password - пароль, по умолчанию должен скрываться от просмотра “из-за плеча”

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": {
    "uid": "<UID провайдера>",
    "name": <Название провайдера>,
    "category_uid": "UID of provider's category"
    "form": [
      {
        "type" : "<тип поля-1 формы>"
        "dom_name" : "<имя поля-1 формы>"
        "title" : "<название поля-1 формы для отображения пользователю>"
      },
      {
        "type" : "<тип поля-2 формы>"
        "dom_name" : "<имя поля-2 формы>"
        "title" : "<название поля-2 формы для отображения пользователю>"
      },
      ...
    ]
  }
}
HTTP-код ответа:  400
СвернутьРазвернуть

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

Возможные UID ошибок:

  • invalid - Некорректный параметр (Подробности см. в полях parameter и reason ответа)
Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Возможные UID ошибок:

  • unauthorized - Некорректный ключ партнёра
Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}

Категории провайдеров

Эта группа API-вызовов позволяет получать список категорий провайдеров, доступных данном партнёру.

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

Список категорий провайдеров

Список категорий провайдеров
GET/provider_categories{?partner_public_key}

Возвращает список категорий провайдеров с их UID.

Пример URI вызова:

GET /provider_categories?partner_public_key=00000001-0000-0000-0000-000000000002
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает список категорий провайдеров.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": [
    {
      "uid": "<UID категории провайдеров>",
      "name": <Название категории провайдеров>,
    }, ...
  ]
}
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Возможные UID ошибок:

  • unauthorized - Некорректный ключ партнёра
Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}

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

Эта группа API-вызовов позволяет работать с учётными записями пользователей.

Учётные записи пользователя (далее - просто пользователи) предназначены для объединения данных, полученных по одному пользователю от различных провайдеров.

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

Сгенерировать пользователя

POST/users{?partner_public_key,email,extras}

Создаёт нового пользователя и возвращает его UID.

Пример URI вызова:

POST /users?partner_public_key=00000001-0000-0000-0000-000000000002&email=user@mail.ru&extras[first_name]=<имя>&extras[last_name]=<фамилия>...
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

email
string (необязательный) 
Пример: user@mail.ru

E-mail адрес пользователя

extras
object (необязательный) 
Пример: extras[first_name]=<имя>&extras[last_name]=<фамилия>...

Дополнительные данные пользователя в форме ключ-значение.

Важно! Предопределённые имена дополнительных параметров (extras):

  • external_user_id - ID пользователя в системе партнёра, передаётся для идентификации пользователя в колбэк-вызове после успешной обработки.

  • success_callback_url - Полный URL адрес страницы на сайте партнёра для уведомлений об успешном завершении обработки.

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

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает UID нового пользователя.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": "<UID пользователя>"
}
HTTP-код ответа:  400
СвернутьРазвернуть

Не удалось создать запись из-за ошибки в параметрах.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
Возможные UID ошибок:
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Данные пользователя

GET/users/{user_uid}/{?partner_public_key,request_time,signature}

Возвращает данные пользователя с конкретным UID. Требует использования приватного ключа, запрещено использовать данный вызов из Javascript-кода.

Пример URI вызова:

GET /users/user_uid/?partner_public_key=00000001-0000-0000-0000-000000000002&request_time=&signature=
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

user_uid
string (обязательный) 

UID пользователя

request_time
string (обязательный) 

Время генерации запроса (необходимо для формирования подписи запроса)

signature
string (обязательный) 

Подпись запроса с использованием приватного ключа партнёра Формирование подписи запроса:
sha512(request_time . user_uid . private_key)
При генерации подписи время запроса должно быть в формате YYYYMMDDHHmmss без пробелов и разделителей. Время должно быть указано в зоне UTC.
При проверке подписи запросы, подписанные более часа назад, отклоняются.

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает данные пользователя.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": {
    "uid": <UID пользователя>,
    "email": <Email пользователя>,
    "extras": {
      "<имя-поля-1>" : <значение-поля-1>,
      "<имя-поля-2>" : <значение-поля-2>,
      ...
    }
    "provider_uids": [
      <UID провайдера-1>,
      <UID провайдера-2>,
      ...
    ]
  }
}
HTTP-код ответа:  400
СвернутьРазвернуть

Не удалось получить данные провайдера из-за ошибки в параметрах. В том числе этот ответ возвращается и при некорректной подписи.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
Возможные UID ошибок:
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

История сессий пользователя для провайдера

GET/users/{user_uid}/history?{partner_public_key,provider_uid,request_time,signature}

Возвращает данные пользователя с конкретным UID. Требует использования приватного ключа, запрещено использовать данный вызов из Javascript-кода.

Пример URI вызова:

GET /users/user_uid/history?00000001-0000-0000-0000-000000000002&provider_uid&request_time&signature
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

user_uid
string (обязательный) 

UID пользователя

provider_uid
string (обязательный) 

UID провайдера, для которого будет возвращена история сессий

request_time
string (обязательный) 

Время генерации запроса (необходимо для формирования подписи запроса)

signature
string (обязательный) 

Подпись запроса с использованием приватного ключа партнёра Формирование подписи запроса
sha512(request_time . user_uid . provider_uid . private_key)
При генерации подписи время запроса должно быть в формате YYYYMMDDHHmmss без пробелов и разделителей. Время должно быть указано в зоне UTC.
При проверке подписи запросы, подписанные более часа назад, отклоняются.

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает данные пользователя.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": {
    "uid": <UID пользователя>,
    "email": <Email пользователя>,
    "extras": {
      "<имя-поля-1>" : <значение-поля-1>,
      "<имя-поля-2>" : <значение-поля-2>,
      ...
    }
    "session_uids": [
      <UID сессии-1>,
      <UID сессии-2>,
      ...
    ]
  }
}
HTTP-код ответа:  400
СвернутьРазвернуть

Не удалось получить данные провайдера из-за ошибки в параметрах. В том числе этот ответ возвращается и при некорректной подписи.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
Возможные UID ошибок:
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Сессии пользователей в ЛК

Эта группа API-вызовов позволяет работать с сессиями пользователей.

Сессия пользователя предназначены для создания отдельных запросов к личным кабинетам (далее ЛК) пользователя у разных провайдеров. В случае успешного исполнения запросов именно сессии позволяют получить данные о пользователе из ЛК.

Также доступна история запросов для каждого оператора по каждому отдельному пользователю.

Инициировать сессию

POST/user_sessions/{?partner_public_key,user_uid,provider_uid,username,password}

Создаёт новую сессию и возвращает её UID.

Пример URI вызова:

POST /user_sessions/?partner_public_key=00000001-0000-0000-0000-000000000002&user_uid=&provider_uid=&username=<имя_пользователя>&password=<пароль>
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

user_uid
string (обязательный) 

UID пользователя

provider_uid
string (обязательный) 

UID провайдера.

username
string (обязательный) 
Пример: <имя_пользователя>

логин пользователя в ЛК провайдера.

password
string (обязательный) 
Пример: <пароль>

пароль пользователя в ЛК провайдера.

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает UID новой сессии.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": <UID сессии>
}
HTTP-код ответа:  400
СвернутьРазвернуть

Не удалось обработать запрос из-за ошибки в параметрах.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
Возможные UID ошибок:
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Создать пользователя и сессию

POST/user_sessions/create_with_fresh_user{?partner_public_key,provider_uid,username,password,email,extras}

Создаёт нового пользователя, а также сессию для него для скрейпинга выбранного провайдера.

Пример URI вызова:

POST /user_sessions/create_with_fresh_user?partner_public_key=00000001-0000-0000-0000-000000000002&provider_uid=&username=<имя_пользователя>&password=<пароль>&email=some-user@mail.ru&extras[first_name]=<имя>&extras[last_name]=<фамилия>...
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

provider_uid
string (обязательный) 

UID провайдера.

username
string (обязательный) 
Пример: <имя_пользователя>

логин пользователя в ЛК провайдера.

password
string (обязательный) 
Пример: <пароль>

пароль пользователя в ЛК провайдера.

email
string (необязательный) 
Пример: some-user@mail.ru

E-mail адрес пользователя

extras
object (необязательный) 
Пример: extras[first_name]=<имя>&extras[last_name]=<фамилия>...

Дополнительные данные пользователя в форме ключ-значение.

Важно! Предопределённые имена дополнительных параметров (extras) перечислены в описании вызова “Пользователи -> Сгенерировать пользователя”.

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает UID новой сессии.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": { 
     "user_uid": "<UID пользователя>",
     "session_uid": "<UID сессии>",
  }
}
HTTP-код ответа:  400
СвернутьРазвернуть

Не удалось создать запись из-за ошибки в параметрах.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
Возможные UID ошибок:
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Послать ответ капчи

POST/user_sessions/{user_session_uid}/captcha{?partner_public_key,provider_uid,captcha_code}

Посылает код ответа капчи серверу SMUVA для продолжения обработки запроса.

Пример URI вызова:

POST /user_sessions/user_session_uid/captcha?partner_public_key=00000001-0000-0000-0000-000000000002&provider_uid=&captcha_code=<ответ на капчу>
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

user_session_uid
string (обязательный) 

UID сессии

provider_uid
string (обязательный) 

UID провайдера.

captcha_code
string (обязательный) 
Пример: <ответ на капчу>

Код капчи с картинки.

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает подтверждение успеха обработки.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
}
HTTP-код ответа:  400
СвернутьРазвернуть

Не удалось обработать запрос из-за ошибки в параметрах.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
Возможные UID ошибок:
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Послать код подтверждения из СМС

POST/user_sessions/{user_session_uid}/sms_code{?partner_public_key,provider_uid,sms_code}

Посылает код подтверждения из СМС серверу SMUVA для продолжения обработки запроса.

Пример URI вызова:

POST /user_sessions/user_session_uid/sms_code?partner_public_key=00000001-0000-0000-0000-000000000002&provider_uid=&sms_code=<код из СМС>
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

user_session_uid
string (обязательный) 

UID сессии

provider_uid
string (обязательный) 

UID провайдера.

sms_code
string (обязательный) 
Пример: <код из СМС>

Код подтверждения из СМС.

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает подтверждение успеха обработки.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
}
HTTP-код ответа:  400
СвернутьРазвернуть

Не удалось обработать запрос из-за ошибки в параметрах.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
Возможные UID ошибок:
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Клонировать существующую сессию

POST/user_sessions/{user_session_uid}/clone{?partner_public_key}

Клонирует сессию и возвращает её UID. Новая сессия создается в состоянии ‘new’.

Пример URI вызова:

POST /user_sessions/user_session_uid/clone?partner_public_key=00000001-0000-0000-0000-000000000002
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

user_session_uid
string (обязательный) 

UID пользовательской сессии

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает UID новой сессии.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": <UID сессии>
}
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Данные сессии

GET/user_sessions/{session_uid}/{?partner_public_key,request_time,signature}

Возвращает данные сессии с конкретным UID. Требует использования приватного ключа, запрещено использовать данный вызов из Javascript-кода.

Пример URI вызова:

GET /user_sessions/session_uid/?partner_public_key=00000001-0000-0000-0000-000000000002&request_time=20170101120000&signature=
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

session_uid
string (обязательный) 

UID сессии

request_time
string (обязательный) 
Пример: 20170101120000

Время генерации запроса (необходимо для формирования подписи запроса)

signature
string (обязательный) 

Подпись запроса с использованием приватного ключа партнёра Формирование подписи запроса
sha512(request_time . user_uid . session_uid . private_key)
При генерации подписи время запроса должно быть в формате YYYYMMDDHHmmss без пробелов и разделителей. Время должно быть указано в зоне UTC.
При проверке подписи запросы, подписанные более часа назад, отклоняются.

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает данные сессии.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": {
    "uid": <UID сессии>,
    "user_uid": <UID пользователя>,
    "provider_uid": <UID провайдера>,
    "state": <состояние сессии>,
    "status": <статус сессии>,
    "created_at": <время создания сессии>,
    "updated_at": <время последнего изменения сессии>,
    "account_info": {
      "<поле-1>": <значение-1>,
      "<поле-2>": <значение-2>,
      ...
    },
    "details_data": [
      {
      "<поле-1>": <значение-1-1>,
      "<поле-2>": <значение-1-2>,
      ...
      },
      {
      "<поле-1>": <значение-2-1>,
      "<поле-2>": <значение-2-2>,
      ...
      },
      ...
    ],
    "aggregates": {
      "basic": [
        {
          "min_date_time": "<начало отчётного периода>",
          "data_rows": <общее количество обработанных записей>,
        }
      ],
      "contacts": [
        {
        "<phone_number>": "<телефонный номер>",
        "<total_count>": <общее число разговоров>,
        "<outbound_count>": <число исходящих звонков>,
        "<inbound_count>": <число входящих звонков>
        },
        ...
      ],
      "competitors": [
        {
        "<phone_number>": "<телефонный номер>",
        "<sms_count>": <общее число смс>,
        "<is_client>": <является клиентом?>
        },
        ...
      ],
      "services": [
        {
        "<phone_number>": "<телефонный номер сервиса>",
        "<contact_frequency>": <общее количество контактов>
        },
        ...
      ],
    }
  }
}
Список возможных значений статуса запроса и состояний сессии находятся в приложении к документации.
HTTP-код ответа:  400
СвернутьРазвернуть

Не удалось обработать запрос из-за ошибки в параметрах.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
Возможные UID ошибок:
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Статус сессии

GET/user_sessions/{session_uid}/status{format}{?partner_public_key}

Возвращает статус сессии с конкретным UID.

По умолчанию возвращает JSON-ответ, но возможно получить в ответ страницу с HTML-формой, если использовать адрес с расширением html или указать text/html в HTTP-заголовке Accept запроса.

Пример URI вызова:

GET /user_sessions/session_uid/status.json?partner_public_key=00000001-0000-0000-0000-000000000002
Параметры:
СвернутьРазвернуть
format
string (необязательный) 
Пример: .json

Формат ответа, по умолчанию используется json.

partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

session_uid
string (обязательный) 

UID сессии

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает данные сессии.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": {
    "uid": <UID сессии>
    "user_uid": <UID пользователя>
    "provider_uid": <UID провайдера>
    "status": <статус сессии>
    "state": <состояние сессии>
    "captcha_src": <картинка капчи для вставки в таг img>
  }
}
Список возможных значений статуса запроса и состояний сессии находятся в приложении к документации.
HTTP-код ответа:  400
СвернутьРазвернуть

Не удалось обработать запрос из-за ошибки в параметрах.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "<UID ошибки>",
      "reason": "<reason of error, internal description for developers>",
      "parameter": "<name of associated parameter or null>"
    }, ...
  ]
}
Возможные UID ошибок:
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Партнер

Эта группа API-вызовов предоставляет информацию о партнере, в частности, обеспечивает доступ к логотипу партнера.

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

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

GET/partners/details{?partner_public_key}

Возвращает краткую информацию о логотипе партнера.

Пример URI вызова:

GET /partners/details?partner_public_key=00000001-0000-0000-0000-000000000002
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

HTTP-код ответа:  200
СвернутьРазвернуть

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

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": {
    "public_key": "<публичный ключ партнера>",
    "site_url": "<URL сайта партнера>",
    "logo_url": "<URL логотипа>",
  }
}
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Логотип партнёра в двоичном виде

GET/partners/logo.png{?partner_public_key}

Возвращает логотип в двоичном виде, в формате PNG, с соответствующими HTTP-заголовками.

Пример URI вызова:

GET /partners/logo.png?partner_public_key=00000001-0000-0000-0000-000000000002
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

HTTP-код ответа:  200
СвернутьРазвернуть
Заголовки ответа:
Content-Type: image/png
Тело ответа:
Возвращает логотип партнера в двоичном формате png.
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Логотип партнёра в виде base64 inline

GET/partners/logo/base64{?partner_public_key}

Возвращает логотип в формате вида: “data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA…”. Строка может быть использована для задания значения атрибута “src” HTML-тега "".

Пример URI вызова:

GET /partners/logo/base64?partner_public_key=00000001-0000-0000-0000-000000000002
Параметры:
СвернутьРазвернуть
partner_public_key
string (обязательный) 
Пример: 00000001-0000-0000-0000-000000000002

Публичный ключ партнёра

HTTP-код ответа:  200
СвернутьРазвернуть

Возвращает логотип партнера в формате base64 inline.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": true,
  "data": {
    "image_source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...",
  }
}
HTTP-код ответа:  401
СвернутьРазвернуть

Неизвестный (или некорректный) публичный ключ партнёра.

Заголовки ответа:
Content-Type: application/json
Тело ответа:
{
  "success": false,
  "errors": [
    {
      "uid": "unauthorized",
      "reason": "Cannot find public_key <partner_public_key>",
      "parameter": "partner_public_key"
    }
  ]
}
Возможные UID ошибок:

Приложение 1. Статусы

Таблица статусов

Возможные статусы (ПЯ = Почтовый Ящик для отчётов о детализации):

Значение Краткое описание Примечание
new Новый запрос Запрос ещё не обрабатывается
login_form Страница логина получена Получена форма авторизации от провайдера
login_form_unavailable Страница логина недоступна Форма авторизации недоступна, запрос не удался
login_form_invalid Форма логина некорректна Форма авторизации некорректна, запрос не удался
login_captcha Получена капча при попытке логина Получено требование ввода капчи, необходимы дополнительные действия пользователя
login_captcha_submitted Капча принята от пользователя Код капчи от пользователя получен и отправляется провайдеру
login_captcha_incorrect Капча отклонена сервисом Код капчи введён неверно, требуется повторный ввод нового кода
login_captcha_invalid Не удалось определить капчу при попытке логина Ошибка при обработке капчи, необходимо начать процесс авторизации с начала
login_service_unavailable Сервис ЛК временно недоступен Авторизация не удалась по причине недоступности сервиса
login_failed Авторизация не удалась Авторизация не удалась, требуется повторная авторизация
login_failed_user_not_found Авторизация не удалась, пользователь не найден Авторизация не удалась: пользователь не найден, требуется повторная авторизация (только для Билайн)
login_failed_bad_login_or_password Авторизация не удалась, неправильный логин или пароль Авторизация не удалась: неправильная комбинация логина и пароля, требуется повторная авторизация (только для Билайн)
login_failed_server_error Авторизация не удалась, ошибка сервера, попробуйте повторить позже Авторизация не удалась по причине неизвестной ошибки сервиса (только для Билайн)
login_failed_timeout Авторизация не удалась, превышено время ожидания, пожалуйста, попробуйте еще раз Авторизация не удалась, превышено время ожидания, пожалуйста, попробуйте еще раз (на данный момент определяется только для Билайн)
login_failed_password_expired Авторизация не удалась, пароль недействителен, необходимо получить новый пароль Авторизация не удалась, пароль недействителен, необходимо получить новый пароль (на данный момент определяется только для Билайн)
member_area Получена главная страница ЛК Получена главная страница ЛК пользователя
account_info Получены данные абонента в ЛК Получены данные пользователя в ЛК
account_info_failed Не удалось получить данные абонента в ЛК Произошла ошибка при получении данных пользователя в ЛК
account_info_service_unavailable Сервис получения данных абонента в ЛК недоступен Данные пользователя в ЛК недоступны - получен отказ от сервиса провайдера
details_data Получены данные детализации в ЛК Получены данные детализации, обработка успешно завершена
details_data_failed Не удалось получить данные детализации в ЛК Не удалось получить данные детализации по неизвестным причинам
details_data_forbidden Запрещён доступ к данным детализации в ЛК Получение данных детализации для данного пользователя запрещено провайдером
details_data_request_failed Запрос на детализацию не удался Запрос данных детализации не удался
details_data_service_unavailable Сервис получения данных детализации в ЛК недоступен Не удалось получить данные детализации, т.к. сервис недоступен
details_data_service_not_free Данные детализации в ЛК не бесплатны Не удалось получить данные детализации, т.к. сервис платный
details_data_mailbox_unavailable Отчёт о детализации: почтовый ящик недоступен Не удалось получить данные детализации, т.к. ПЯ недоступен
details_data_mailbox_empty Отчёт о детализации: почтовый ящик пуст Не удаётся получить данные детализации, так как ПЯ пуст
details_data_mailbox_query_failed Отчёт о детализации не удалось получить с email Не удалось получить данные детализации, т.к. запрос к ПЯ не удался
details_data_report_parsing_failed Отчёт о детализации не соответствует требуемому формату Не удалось провести парсинг отчёта детализации (ошибка формата)
details_pipes_request_failed Запрос к внутреннему API подтверждения детализации не удался Не удалось выполнить запрос к внутреннему API для подтверждения корректности запроса детализации (только для Мегафон)
details_data_maximum
_captcha_attempts_reached
Достигнуто максимальное количество последовательных неуспешных попыток автоматического разгадывания капчи, попробуйте повторить запрос Достигнуто максимальное количество последовательных неуспешных попыток автоматического разгадывания капчи, попробуйте повторить запрос (для ОСАГО)
details_data_osago_error_response Сведения о транспортном средстве с указанными реквизитами не найдены Сведения о транспортном средстве с указанными реквизитами не найдены (для ОСАГО)
details_data_no_orders Не было совершено ни одного заказа Не было совершено ни одного заказа (для АлиЭкспресс)
details_data_verification_code_request Ожидается подтверждение получения детализации с помощью кода из СМС Получено требование подтвердить получение детализации с помощью кода из СМС
details_data_verification_code_submitted Код из СМС принят от пользователя Код из СМС от пользователя получен и отправляется провайдеру
details_data_verification_code_incorrect Код из СМС отклонён сервисом Код из СМС введён неверно, требуется повторный ввод посланного кода
details_data_verification_code_fatal Не удалось подтвердить получение детализации с помощью кода из СМС Ошибка при обработке кода из СМС, необходимо начать запрос на детализацию с начала
aggregates_calculated Агрегаты успешно расчитаны
completed_successfully Обработка успешно завершена

Список состояний сессии

  • new - сессия только создана, не поступила в обработку.

  • authenticating - сессия в процессе авторизации пользователя в ЛК, возможна ошибка авторизации или выдача капчи.

  • login_failed - сессия закончилась ошибкой авторизации. Более подробная информация может быть получена в статусе.

  • captcha - сессия получила запрос на ввод капчи, необходимо дополнительное действие пользователя по вводу капчи.

  • sms_code - сессия получила запрос на подтверждение операции с помощью кода из СМС, необходимо дополнительное действие пользователя по вводу кода из СМС.

  • collecting_data - сессия в процессе сбора данных в ЛК пользователя, требуется дождаться завершения обработки.

  • failed - сессия завершилась ошибкой, не все данные получены. Более подробная информация может быть получена в статусе.

  • completed - сессия успешно завершена, все данные получены.

Приложение 2. ОСАГО: Формат данных

{
    'data':
        {
        'account_info':
            {
              "car_vin":"4USBT53544LT26841",
              "car_lp":"У646НС"
              "car_lp_original":"У646НС64"
              "errors":[]
            },
        'created_at': '2016-03-15T21:51:40.161Z',
        'details_data':
            [
            {
                "insurance_policy_number":"0337091535",
                "insurance_policy_series":"ЕЕЕ",
                "insurance_policy_restricted":"0",
                "insurance_company_name":"РОСГОССТРАХ",
                "insurance_policy_unique_id":"221788955"
                "car_vin": "WV2ZZZ7HZDH025257",
                "car_chassis_number": "N/A",
                "car_body_number": "N/A",
                "insurance_policy_valid_thru": "17.09.2016",
                "insurance_policy_status": "Находится у страхователя"             }
            ],
        'provider_uid': '00000000-0004-0004-0004-000000000000',
        'state': 'completed',
        'status': 'details_data',
        'uid': '9749157c-c06e-4e85-8a84-b57dfada0f20',
        'updated_at': '2016-03-15T21:51:42.439Z',
        'user_uid': 'f867ff4a-9738-4f72-aa32-fafdbf75ba3e'
        },
    'success': True
}

В словаре data:account_data присутствуют поля

  • car_vin - VIN, используемый при запросе

  • car_lp - ГРЗ, для которого были получены данные (при обработке, если для точного номера не найдены данные, автоматически убирается код региона и производится повторный, расширенный поиск)

  • car_lp_original - ГРЗ, используемый при запросе

  • errors - Список частных ошибок (каждая ошибка - в виде отдельной строки), если таковые встретились.

В списке data:details_data имеется один словарь с полями:

  • insurance_policy_number - номер полиса ОСАГО,

  • insurance_policy_series - серия полиса ОСАГО

  • insurance_policy_restricted - наличие ограничения полиса ОСАГО

  • insurance_company_name - страховая компания

  • insurance_policy_unique_id - уникальный ID полиса

  • insurance_policy_valid_thru - дата окончания действия полиса

  • insurance_policy_status - статус полиса

  • car_vin - VIN номер, если найден. В случае отсутствия VIN в полученных данных в качестве замены будут, при наличии, использоваться car_body_number или car_chassis_number (в указанном порядке приоритета).

  • car_chassis_number - номер шасси, или N/A, если не найден.

  • car_body_number - номер кузова, или N/A, если не найден.

В случае отсутствия данных о страховке data:details_data имеет такой вид:

[
    {
        "insurance_error_message":"Сведения о договоре ОСАГО с указанными реквизитами не найдены,  но это не является основаниям для отказа в получении выплаты"
    }
]

Приложение 3. Мобильные операторы Казахстана: Формат данных

Оператор Билайн-Казахстан

Данные абонента:

email: адрес электронной почты, может быть пустым
name: имя абонента, может быть пустым
balance: баланс
region: регион
blocked: признак блокировки, всегда false

Данные детализации:

date_time: время звонка/операции
service: тип операции
number: номер, на который звонили
duration: длительность звонка/операции
cost: стоимость вызова/операции, всегда false

Оператор Теле2-Казахстан

Данные абонента:

email: адрес электронной почты, всегда пустой
name: имя абонента
balance: баланс
region: регион
blocked: признак блокировки, всегда false

Данные детализации:

date_time: время звонка/операции
service: тип операции
number: номер, на который звонили
duration: длительность звонка/операции
cost: стоимость вызова/операции

Оператор Altel

Данные абонента:

email: адрес электронной почты, может быть пустым
name: имя абонента, может быть пустым
balance: баланс
region: регион, всегда пустой
blocked: признак блокировки, всегда false

Данные детализации:

date_time: время звонка/операции
service: тип операции
number: номер, на который звонили
duration: длительность звонка/операции
cost: стоимость вызова/операции

Generated by aglio on 09 Dec 2017