Общие сведения
Для установки настроек интеграции используется метод setup.
Запрос установки настроек отправляется по адресу POST {{baseURL}}/integration/setup.
Настройки передаются в файле с разметкой 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 - ключ подписи, секретное слово, для подписи отправляемых данных.
Подпись выполняется с помощью алгоритма HMACSHA256.
В демо-конфигурации в объекте учетной системы _ДемоБанковскиеСистемы также обрабатываются настройки:
- id - БИК(и) банка возможна передача в виде строки или в виде массива
- dbo_url - адрес страницы личного кабинета для подписания документов
- app_title - устанавливаемый заголовок приложения (может использоваться как часть брендирования приложения)
{ "type": "bank", "name": "Банк Бизнес" "id": ["044525555"], "dbo_url": "https://example.ru/cabinet/main", "app_title": "Бухгалтерия 1C (Банк Бизнес)", "use_notices": false, "notice_settings": { "url": "https://example.ru/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": "Идентификатор банка отличается от установленного." } }
Пример установки настроек
Запрос
POST https://stage.1cfresh.com/a/bs/10435/hs/dt/storage/integration/setup
Authorization: Basic ***
IBSession: start
Ответ
200
Content-Length: 0
Accept-Ranges: bytes
Location: https://stage.1cfresh.com:443/a/bs/10435/hs/dt/upload/a49dd89633c992e35c718bbaf4ec6603bc4a8c176b0133c44ba35ecafafa313f
Set-Cookie: ibsession=5e633e7a-16cb-4262-9adb-1bb5712980f7;Path=/a/bs/10435/;Version=1
Запрос
PUT https://stage.1cfresh.com/a/bs/10435/hs/dt/upload/a49dd89633c992e35c718bbaf4ec6603bc4a8c176b0133c44ba35ecafafa313f/
Authorization: Basic ***
Cookie: ibsession=5e633e7a-16cb-4262-9adb-1bb5712980f7;Path=/a/bs/10435/;Version=1
IBSession: finish
{
"type": "bank",
"name": "ПАО Банк"
"id": ["044525999"],
"dbo_url": "https://sample-bank.ru/my/documents",
"use_notices": false
}
Ответ
201
Content-Type: application/json; charset=UTF-8
Content-Length: 73
{
"general": {
"response": 10200,
"error": false,
"message": ""
}
}