Auth API — это протокол авторизации клиента, который использует сервер чата для авторизации клиента во внешней системе (CRM/ДБО).
Table of Contents |
---|
Протокол авторизации
- Получение токена. Браузер или мобильное приложение получают или генерируют токен клиента для авторизации в чате. Токен — это любая строка. Например, это может быть токен текущей сессии.
- Передача токена в SDK. При инициализации SDK чата (виджета, мобильных SDK) браузер или мобильное приложение передает в него токен клиента.
- Запрос авторизации по токену. SDK чата отправляет запрос на авторизацию клиента на сервер чата.
- Запрос карточки клиента. Сервер чата получает токен и отправляет этот токен в сервис авторизации для авторизации клиента и получение его карточки. Сервисом авторизации может выступать CRM, ДБО и т.д.
- Возврат карточки клиента. Сервис авторизации проверяет токен клиента и возвращает карточку клиента или ошибку.
- Сохранение информации о клиенте. Сервер чата сохраняет карточку клиента локально.
- Возврат сессии авторизации в чате. Сервер чата создает сессию авторизации клиента в чате и возвращает ее в SDK.
- Авторизация клиента в SDK завершена.
...
Поле | Тип | Обязательное | Комментарий |
---|---|---|---|
client | Auth API 1.1 | нет | Информация о клиенте |
companyList | List<Auth API 1.1> | нет | Список организаций, к которым относится текущий клиент. |
errorCode | String | нет | Код ошибки |
errorText | String | нет | Текст ошибки |
...
Поле | Тип | Обязательное | Комментарий | ||
---|---|---|---|---|---|
id | Long | да | Идентификатор клиента в CRM | ||
name | String | да | ФИО клиента | ||
surname | String | да | Фамилия | ||
firstname | String | да | Имя | ||
patronymic | String | да | Отчество | ||
type | Long | да | Код типа клиента | ||
enabled | Boolean | да | Обслуживание клиента разрешено | ||
birthDate | Date | нет | Дата рождения | ||
extRef | String | нет | Идентификатор клиента в АБС | ||
cardRef | String | нет | Идентификатор клиента в карточный системе | ||
bankBranch Branch | Auth API 1.1 | нет | Информация о подразделении клиента | ||
crmURL | String | нет | Полная ссылка, по которой клиента можно открыть в CRM. | ||
inn | String | нет | ИНН клиента. | ||
shortName | String | нет | Краткое наименование клиента. | ||
fields | Map<String, String> | нет | Deprecated, нужно использовать fieldList Поля с любойдополнительной информацией о клиенте в виде название поле → значение. | ||
fieldList | List<Auth API 1.1> | companyList | List<Company> | нетСписок | организаций, к которым относится текущий клиентПоля с дополнительной информацией о клиенте, при отображении в интерфейсе оператора учитывается порядок полей. |
Branch
Информация об отделении банка.
Поле | Тип | Обязательное | Комментарий |
---|---|---|---|
id | Long | нет | Идентификатор подразделения банка во внешней системе |
extRef | String | нет | Идентификатор в АБС подразделения банка |
bik | String | нет | БИК подразделения банка |
name | String | нет | Наименование подразделения банка |
Company
Информация об организации.
Поле | Тип | Обязательное | Комментарий |
---|---|---|---|
id | Long | да | Идентификатор организации во внешней системе |
name | String | нет | Наименование организации |
type | Long | нет | Код типа организации |
enabled | Boolean | нет | Обслуживание организации разрешено |
extRef | String | нет | Код организации в АБС |
inn | String | ИНН | |
kpp | String | КПП | |
resident | Boolean | Признак "Нерезидент" | |
phone | String | Телефоны | |
shortName | String | Сокращенное наименование | |
internationalName | String | Международное наименование | |
ogrn | String | ОГРН | |
ogrnDate | Date | Дата ОГРН | |
internationalAddress | String |
Field
Поле с дополнительной информацией о клиенте.
Поле | Тип | Обязательное | Комментарий |
---|---|---|---|
name | String | да | Название поля, которое будет отображаться в интерфейсе оператора |
value | String | да | Значение поля |
Примеры ответов
Успешный ответ
...
Успешный ответ:
Code Block | ||
---|---|---|
| ||
{ "client": { "id": "1064775", "name": "Давыдов Юрий Викторович", "surname": "Давыдов", "firstname": "Юрий", "patronymic": "Викторович", "shortName": "Юрий", "birthDate": "1976-03-31", "type": "0", "enabled": "true", "extRef": "1", "bankBranch": { "id": "720987", "extRef": "1", "bik": "042809888", "name": "ЗАО КБ \"ГЛОБАЛЬНЫЙ РАСЧЕТНЫЙ ЦЕНТР\"" }, "fieldsfieldList": [ { "name": "ИНН", "value": "1234567890" }, { "name": "Город", "value": "Москва" } ] } } |
Успешный ответ со списком компаний
Code Block |
---|
{ "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": "" } ] } |
Ответ с ошибкой
В случае ошибки сервер возвращает статус не 200, а также может дополнительно возвращать описание ошибки в формате application/json в теле ответа:
Code Block | ||
---|---|---|
| ||
{ "errorCode": "1001", "errorText": "Client not found" } |
Изменения в версии 1.1
- В типе Client добавлено поле shortName.
- В типе Client добавлено поле fieldList.
- Добавлен тип Field.