Общие сведения
Для установки настроек интеграции используется метод setup.
Запрос установки настроек отправляется по адресу POST {{baseURL}}/integration/setup .
В ответ возвращается Location для передачи настроек. Далее нужно выполнить PUT запрос на полученный Location. В ответ возвращается результат передачи настроек.
Запросы выполняются парами POST → PUT. Первый запрос открывает сессию передачи данных с авторизацией. Второй запрос выполняет непосредственную передачу данных. Пары запросов должны выполняться в одном соединении.
Настройки передаются в файле с разметкой JSON.
Обязательное поле:
type–Строка –тип учетной системы, для определения типа новой учетной системы при заполнении настроек.
(например "bank")
Поля возможных к передаче для установки настроек, обрабатываемых интерфейсом подсистемы:
name–Строка –наименование настройкиuse_notices–Булево– признак использования оповещений внешней учетной системы при создании/изменении данных в приложенииnotice_settings–ТаблицаЗначений– настройки оповещений.url– Строка - адрес отправки оповещенийauthentication_type- ПеречислениеСсылка.СпособыАутентификации - тип аутентификации (anonymous, basic)login – Строка -логин аутентификации (используется при basic-аутентификации)password – Строка -пароль аутентификации (используется при basic-аутентификации)use_certificate – Булево -признак использования сертификата при установке соединенияcertificate_name – Строка -имя сертификата (используется, если задано свойство use_certificate)certificate_password – Строка -пароль сертификата (используется, если задано свойство use_certificate);certificate_data – ДвоичныеДанные-двоичные данные сертификата в base64 (используется, если задано свойство use_certificate)use_sign – Булево -признак использования подписи данныхsign_key– Строка -ключ подписи, секретное слово, для подписи отправляемых данных.
Подпись выполняется с помощью алгоритма HMACSHA-256.
В демо-конфигурации в объекте учетной системы ИнтеграцииСБанками также обрабатываются настройки:
id – Строка -БИК(и) банка возможна передача в виде строки или в виде массиваdbo_url – Строка -адрес страницы личного кабинета для подписания документовapp_title – Строка -устанавливаемый заголовок приложения (может использоваться как часть брендирования приложения)
{
"type": "bank",
"name": "Банк Бизнес"
"id": ["044525555"],
"dbo_url": "https://example.com/cabinet/main",
"app_title": "Бухгалтерия 1C (Банк Бизнес)",
"use_notices": false,
"notice_settings": {
"url": "https://example.com/cabinet/notice",
"authentication_type": "anonymous"
}
}
Настройки записываются в учетную систему.
Ответ возвращается в формате JSON с полями:
general - Структура- основной разделresponse - Число- код возвратаerror – Булево -признак ошибкиmessage – Строка -подробности ошибки (заполняется, если возникла ошибка)
result -Структура- результат (в данном случае не заполняется)
Это стандартизированный формат ответа, используемый во всех запросах.
{
"general": {
"response": 10200,
"error": false,
"message": ""
}
}
Варианты кодов возврата возвращаемых ответов
№ | Код возврата | Это ошибка | Описание |
|---|---|---|---|
| 1 | 10200 | Выполнено | |
| 3 | 10400 | Да | Ошибка данных. Описание ошибки находится в поле message. |
| 5 | 10500 | Да | Внутренняя ошибка. Описание ошибки находится в поле message. |
Примеры ошибок:
{
"general": {
"response": 10400,
"error": true,
"message": "Настройки не заданы."
}
}
{
"general": {
"response": 10400,
"error": true,
"message": "Отсутствует свойство 'type'."
}
}
Добавление своих проверок при установке настроек, реализовано в демо-конфигурации в справочнике ИнтеграцииСБанками:
{
"general": {
"response": 10400,
"error": true,
"message": "Идентификатор банка отличается от установленного."
}
}
Пример установки настроек
Отправка настроек выполняется двумя запросами. Первый запрос открывает сессию (передается заголовок IBSession: start) и возвращает Location для загрузки настроек с сессионными Cookie, которые нужно использовать для второго запроса. Второй запрос на адрес полученного Location передает настройки и закрывает сессию (передается заголовок IBSession: finish).
Открытие сессии отправки настроек
ЗапросPOST https://example.com/a/smtl/1/hs/dt/storage/integration/setup Authorization: Basic base64_encode(user:password) или Bearer access_token IBSession: start
Ответ200 OK Content-Length: 0 Accept-Ranges: bytes Location: https://example.com:443/a/smtl/1/hs/dt/upload/a49dd89633c992e35c718bbaf4ec6603bc4a8c176b0133c44ba35ecafafa313f Set-Cookie: ibsession=5e633e7a-16cb-4262-9adb-1bb5712980f7;Path=/a/smtl/1/;Version=1
Отправка настроек
ЗапросPUT <заголовок Location предыдущего ответа> Cookie: <заголовок Set-Cookie предыдущего ответа> IBSession: finish { "type": "bank", "name": "ПАО Банк" "id": ["044525999"], "dbo_url": "https://sample-bank.com/my/documents", "use_notices": false }Ответ201 Content-Type: application/json; charset=UTF-8 Content-Length: 73 { "general": { "response": 10200, "error": false, "message": "" } }