You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Auth API — это протокол авторизации клиента, который использует сервер чата для авторизации клиента во внешней системе (CRM/ДБО).

Процесс авторизации

  1. Получение токена. Браузер или мобильное приложение получают или генерируют токен клиента для авторизации в чате. Токен — это любая строка. Например, это может быть токен текущей сессии.
  2. Передача токена в SDK. При инициализации SDK чата (виджета, мобильных SDK) браузер или мобильное приложение передает в него токен клиента.
  3. Запрос авторизации по токену. SDK чата отправляет запрос на авторизацию клиента на сервер чата.
  4. Запрос карточки клиента. Сервер чата получает токен и отправляет этот токен в сервис авторизации для авторизации клиента и получение его карточки. Сервисом авторизации может выступать CRM, ДБО и т.д.
  5. Возврат карточки клиента. Сервис авторизации проверяет токен клиента и возвращает карточку клиента или ошибку.
  6. Сохранение информации о клиенте. Сервер чата сохраняет карточку клиента локально.
  7. Возврат сессии авторизации в чате. Сервер чата создает сессию авторизации клиента в чате и возвращает ее в SDK.
  8. Авторизация клиента в SDK завершена.

Протокол сервиса авторизации

Все запросы отправляются с помощью HTTP GET запросов к REST-сервису.

Пример пути

http://[host]:[port]/rest/chat/client/id/{token}

Входные параметры в URL

Параметр

Обязательность

Описание

token

да

Токен клиента

Выходные параметры

В случае успешного ответа сервер возвращает статус 200 с ответом в формате application/json:

Поле

ТипОбязательность

Описание

clientБлок полейдаблок полей клиента физического лица (блок внутри основного элемента)

id

Longда

Идентификатор клиента в iSimpleBank 2.0

name

Stringда

ФИО клиента

surnameStringдаФамилия
firstnameStringдаИмя
patronymicStringдаОтчество
typeLongдаКод типа клиента
enabledBooleanда

Обслуживание клиента разрешено

birthDateDateнетДата рождения
extRefStringнетИдентификатор клиента в АБС
cardRefStringнетИдентификатор клиента в карточном бэк

bankBranch

Блок полейнетблок полей подразделения банка клиента (блок внутри блока client)

id

Longнет

Идентификатор подразделения банка в iSimpleBank 2.0

extRefStringнетИдентификатор в АБС подразделения банка
bikStringнетБИК подразделения банка

name

Stringнет

Наименование подразделения банка

crmURLStringнетПолная ссылка, по которой клиента можно открыть в CRM.
fieldsmap<String, String>нетПоля с любой дополнительной информацией о клиенте в виде название поле → значение.

companyList

Параметр

Тип

Описание

idLongИдентификатор организации в iSimpleBank 2.0
nameStringНаименование организации
typeLongКод типа организации
enabledBooleanОбслуживание организацииразрешено
extRefStringКод клиента в АБС
innStringИНН
kppStringКПП
residentBooleanпризнак "Нерезидент"
phoneStringТелефоны
shortNameStringСокращенное наименование
internationalNameStringМеждународное наименование
ogrnStringОГРН
ogrnDateDateДата ОГРН
internationalAddressString


Массив объектовнет

блок полей списка организаций (блок внутри основного элемента)

В случае ошибки сервер возвращает статус не 200, а также может дополнительно возвращаеть описание ошибки в формате application/json в теле ответа:

Параметр

ТипОбязательность

Описание

errorCode

Stringда

Код ошибки

errorText

Stringнет

Текст ошибки

Примеры

Запрос:

GET http://127.0.0.1:8080/rest/chat/client/id/a57974242d0146c28056

Успешный ответ:

{
  "client": {
    "id": "1064775",
    "name": "Давыдов Юрий Викторович",
    "surname": "Давыдов",
    "firstname": "Юрий",
    "patronymic": "Викторович",
    "birthDate": "1976-03-31",
    "type": "0",
    "enabled": "true",
    "extRef": "1",
    "bankBranch": {
      "id": "720987",
      "extRef": "1",
      "bik": "042809888",
      "name": "ЗАО КБ \"ГЛОБАЛЬНЫЙ РАСЧЕТНЫЙ ЦЕНТР\""
    },
    "fields": {
       "ИНН": "1234567890"
       "Город": "Москва"
     }
  }
}

Ответ с ошибкой:

{"errorCode":"1001","errorText":"Client not found"}

Успешный ответ со списком компаний:

{
  "client": {
    "id": "124625",
    "name": "Царев Алексей Юрьевич",
    "surname": "Царев",
    "firstname": "Алексей",
    "patronymic": "Юрьевич",
    "birthDate": "1973-09-02",
    "type": "2",
    "enabled": "false"
  },
  "companyList": [
    {
      "id": "225760",
      "name": "ООО УралСтройМаш",
      "extRef": "561",
      "inn": "7701028744",
      "kpp": "770001001",
      "resident": "true",
      "phone": "+79093342334",
      "shortName": "ОАО ЛИГА",
      "internationalName": "LIGA JSC",
      "ogrn": "1057703026633",
      "ogrnDate": "2005-02-11"
    },
    {
      "id": "124612",
      "name": "ОАО Капитолий",
      "extRef": "560",
      "inn": "7701058541",
      "kpp": "770001001",
      "resident": "true",
      "phone": "123-34-45",
      "shortName": "ОАО Капитолий",
      "internationalName": "CAPITOLIY JSC",
      "ogrn": "2801283419468",
      "internationalAddress": "",
      "regAddress": ""
    }
  ]
}
  • No labels