API обмена данными — уровень, который описывает подходы и методы осуществления операций обмена данными, он в свою очередь делится на следующие уровни:
- Уровень аутентификации
- Настройка обмена
- Транспортный уровень
-
Порядок взаимодействия на уровне аутентификации
-
Аутентификация по логину и паролю
-
Метод Logon (HTTP-метод POST)
-
Метод LogonOTP (HTTP-метод POST)
-
Аутентификация по закрытому ключу сертификата
-
Метод LogonCert (HTTP-метод POST)
-
-
Рекомендации для банковского сервиса
-
-
Настройка обмена электронными документами
-
Получение настроек обмена с банком в автоматическом режиме
- Метод GetSettings (HTTP-метод POST)
-
Пример XML-файла настроек обмена с банком
-
-
Порядок взаимодействия на транспортном уровне
-
Формирование и разбор транспортного контейнера
-
Отправка электронных документов из 1С
- Метод SendPack (HTTP-метод POST)
-
Получение электронных документов в 1С
-
Метод GetPackList (HTTP-метод GET)
-
Метод GetPack (HTTP-метод GET)
-
-
-
Проверка работоспособности обмена электронными документами
- Пример XML-файла запроса-зонда
-
Процедура синхронизации 1С с банковским сервисом
-
Обеспечение безопасности данных
-
Шифрование данных при передаче
-
Криптооперации, выполняемые на стороне Клиента и Банка
-
Защита электронных документов с помощью электронной подписи
-
-
Схемы данных
-
Классификаторы
-
Таблица кодов статусов транспортных контейнеров
-
Таблица кодов видов электронных документов
-
Таблица кодов статусов электронных документов
-
Таблица типов выписок банка
-
Таблица кодов ошибок и их описание, которые может возвращать банковский сервис в «1С:Предприятие 8»
-
-
Описание типов
Порядок взаимодействия на уровне аутентификации
Аутентификация Клиента с целью создания сессии на сервисе Банка может проходить по логину и паролю + дополнительный OTP («one time password», опционально) (Logon) или по закрытому ключу сертификата (LogonCert). Аутентификация по логину и паролю используется для получения настроек из банка, поэтому на сервисе банка данный вид аутентификации должен всегда поддерживаться. В файле настроек можно задать данный способ аутентификации как основной и единственный или указать аутентификацию по закрытому ключу сертификата при дальнейшем обмене.
Аутентификация по логину и паролю
Система «1С:Предприятия 8» передает в Банк уникальный идентификатор Клиента в банковской системе (строка может содержать только ANSI-символы в соответствии с RFC 2616 для передачи значений в HTTP-заголовке) и строку, содержащую «логин + пароль» (строка «Basic логин:пароль» в формате BASE64 в соответствии с Basic access authentication) (отправка производится HTTP-методом POST — метод Logon).
Особенностью данного процесса является то, что в момент первой аутентификации уникальный идентификатор Клиента неизвестен, тогда следует передавать «0».
В случае использования однофакторной аутентификации на стороне Банка и успешного завершения процесса сервис возвращает идентификатор сессии («маркер») в «1С:Предприятия 8» в синхронном режиме (XML-файл, соответствующий XML-схеме ответа банк.сервиса).
В случае использования двухфакторной аутентификации на стороне Банка (применение OTP — «one time password») и успешного начала процесса аутентификации сервис в синхронном режиме возвращает в «1С:Предприятия 8» идентификатор сессии, пока еще неавторизованной на стороне Банка, и признак, что требуется расширенная аутентификация (XML-файл, соответствующий XML-схеме ответа банк.сервиса), а также направляет OTP на мобильный телефон Клиента.
«1С:Предприятии 8» выводит форму с текстом, содержащим идентификатор неавторизованной сессии и, возможно, маску мобильного телефона Клиента (если Банк ее прислал), и предлагает пользователю ввести OTP.
Система «1С:Предприятия 8» передает в Банк уникальный идентификатор Клиента в банковской системе и введенный OTP (отправка производится HTTP-методом POST — метод LogonOTP). В случае успешного завершения процесса банковский сервис возвращает идентификатор авторизованной сессии в «1С:Предприятия 8» в синхронном режиме (XML-файл, соответствующий XML-схеме ответа банк.сервиса).
Особенностью данного процесса является то, что в момент первой аутентификации уникальный идентификатор Клиента неизвестен, тогда следует передавать «0».
В дальнейшем, идентификатор авторизованной сессии будет указан в каждом HTTP-запросе для обмена данными на транспортном уровне (в заголовке SID).
Результатом неуспешной аутентификации должна быть ошибка, возвращаемая банковской системой в синхронном режиме (XML-файл, соответствующий XML-схеме ответа банк.сервиса).
Метод Logon (HTTP-метод POST)
Аутентификация по логину и паролю, однофакторная аутентификация
Заголовки:
-
Host: <Адрес ресурса банка>
-
Content-Type: application/xml; charset=utf-8
-
CustomerID: <Уникальный идентификатор Клиента, содержащий только ANSI-символы. Передается 0, если CustomerID еще неизвестен>
-
Authorization: Basic <логин:пароль>
-
APIVersion: <Версия API обмена данными>
-
AvailableAPIVersion: <Доступная версия API обмена данными>
Тело запроса:
- ПУСТО
Успешный ответ:
-
HTTP/1.1 200 OK
-
Content-Type: application/xml; charset=utf-8
-
Content: < XML-файл, соответствующий XML-схеме ответа банк.сервиса>
Параметры запроса:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
Host | string | [1] | Адрес ресурса банка |
CustomerID | string | [1] | Уникальный идентификатор Клиента, содержащий только ANSI-символы. Передается 0, если CustomerID еще неизвестен |
Authorization | base64Binary | [1] | «логин + пароль» в соответствии с Basic access authentication |
APIVersion | FormatVersionType | [1] | Версия API обмена данными |
AvailableAPIVersion | FormatVersionType | [0-1] | Максимальная доступная для текущей информационной базы версия API обмена данными |
Параметры ответа:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
ResultBank | ResultBank | [1] | Ответ банка |
Пример запроса аутентификации по логину и паролю:
POST http://testdirectbank.1c.ru/go/Logon HTTP/1.1 Host: testdirectbank.1c.ru:80 User-Agent: 1C+Enterprise/8.3 Accept: */* Authorization: Basic ZGVtbzpkZW1v AvailableAPIVersion: 2.3.2 APIVersion: 2.1.1 CustomerID: 0 Content-Type: application/xml; charset=utf-8
POST http://testdirectbank.1c.ru/go/Logon HTTP/1.1 Host: testdirectbank.1c.ru:80 User-Agent: 1C+Enterprise/8.3 Accept: */* Authorization: Basic ZGVtbzpkZW1v AvailableAPIVersion: 2.3.2 APIVersion: 2.1.1 CustomerID: 0 Content-Type: application/xml; charset=utf-8
Пример успешного ответа на запрос аутентификации по логину и паролю:
HTTP/1.1 200 OK Server: nginx Date: Tue, 27 Apr 2021 11:47:12 GMT Content-Length: 378 Proxy-Connection: Keep-Alive Via: 1.1 FWD9 Connection: Keep-Alive
<?xml version="1.0" encoding="UTF-8"?> <ResultBank xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" formatVersion="2.3.2" userAgent="DirectBankService"> <Success> <LogonResponse> <SID>9b11221a-1bf6-4c34-a46d-ae9bcfdd9928</SID> </LogonResponse> </Success> </ResultBank>
Пример успешного ответа на запрос аутентификации по логину и паролю + ОТР:
HTTP/1.1 200 OK Server: nginx Date: Tue, 27 Apr 2021 11:53:28 GMT Content-Length: 464 Proxy-Connection: Keep-Alive Via: 1.1 FWD9 Connection: Keep-Alive
<?xml version="1.0" encoding="UTF-8"?> <ResultBank xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" formatVersion="2.3.2" userAgent="DirectBankService"> <Success> <LogonResponse> <SID>5452194f-bb4d-4609-912f-35c849e9e0a3</SID> <ExtraAuth> <OTP phoneMask="+*********85" code="5452194f"/> </ExtraAuth> </LogonResponse> </Success> </ResultBank>
Метод LogonOTP (HTTP-метод POST)
Аутентификация по логину и паролю, двухфакторная аутентификация
Заголовки:
-
Host: <Адрес ресурса банка>
-
Content-Type: application/xml; charset=utf-8
-
CustomerID: <Уникальный идентификатор Клиента, содержащий только ANSI-символы. Передается 0, если CustomerID еще неизвестен>
-
SID: <Идентификатор неавторизованной сессии>
-
OTP: <Пользовательский OTP>
-
APIVersion: <Версия API обмена данными>
Тело запроса:
- ПУСТО
Успешный ответ:
-
HTTP/1.1 200 OK
-
Content-Type: application/xml; charset=utf-8
-
Content: < XML-файл, соответствующий XML-схеме ответа банк.сервиса>
Параметры запроса:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
Host | string | [1] | Адрес ресурса банка |
SID | IDType | [1] | Идентификатор неавторизованной сессии |
CustomerID | string | [1] | Уникальный идентификатор Клиента, содержащий только ANSI-символы. Передается 0, если CustomerID еще неизвестен |
OTP | int | [1] | Пользовательский OTP — целые числа 6-7 знаков |
APIVersion | FormatVersionType | [1] | Версия API обмена данными |
Параметры ответа:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
ResultBank | ResultBank | [1] | Ответ банка |
Пример запроса передачи OTP:
POST http://testdirectbank.1c.ru/go/LogonOTP HTTP/1.1 Host: testdirectbank.1c.ru:80 User-Agent: 1C+Enterprise/8.3 Accept: */* APIVersion: 2.1.1 OTP: 111111 SID: 5452194f-bb4d-4609-912f-35c849e9e0a3 CustomerID: 0 Content-Type: application/xml; charset=utf-8
Пример успешного ответа на запрос передачи OTP:
HTTP/1.1 200 OK Server: nginx Date: Tue, 27 Apr 2021 11:53:36 GMT Content-Length: 378 Proxy-Connection: Keep-Alive Via: 1.1 FWD9 Connection: Keep-Alive
<?xml version="1.0" encoding="UTF-8"?> <ResultBank xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" formatVersion="2.1.1" userAgent="DirectBankService"> <Success> <LogonResponse> <SID>ca2d4c4c-2cc3-449e-9fe2-25465f878685</SID> </LogonResponse> </Success> </ResultBank>
Аутентификация по закрытому ключу сертификата
Данный вид аутентификации нельзя использовать на этапе получения настроек из банка.
Система «1С:Предприятия 8» передает в Банк уникальный идентификатор Клиента в банковской системе (строка может содержать только ANSI-символы в соответствии с RFC 2616 для передачи значений в HTTP-заголовке), а также файл открытой части ключа электронной подписи Клиента, импортированный в систему «1С:Предприятие 8» на этапе настроек обмена (отправка производится HTTP-методом POST — метод LogonCert, передается XML-файл, соответствующий XML-схеме данных для аутентификации по закр.ключу). Банковский сервис по идентификатору клиента, серийному номеру сертификата и имени издателя выполняет поиск сертификата электронной подписи Клиента, если находит, то возвращает уникальный идентификатор (например, идентификатор неавторизованной сессии на стороне Банка) — «маркер» (строка в формате BASE64), зашифрованный с использованием открытого ключа электронной подписи Клиента (формат зашифрованных данных — PKCS#7). Если не находит, то возвращает ошибку аутентификации (XML-файл, соответствующий XML-схеме ответа банк.сервиса).
Полученный маркер должен быть расшифрован на стороне «1С:Предприятия 8» с использованием закрытого ключа электронной подписи. В дальнейшем, расшифрованный уникальный идентификатор должен быть указан в каждом HTTP-запросе для обмена данными на транспортном уровне (в заголовке SID).
Метод LogonCert (HTTP-метод POST)
Заголовки:
-
Host: <Адрес ресурса банка>
-
Content-Type: application/xml; charset=utf-8
-
CustomerID: <Уникальный идентификатор Клиента, содержащий только ANSI-символы.>
-
APIVersion: <Версия API обмена данными>
-
AvailableAPIVersion: <Доступная версия API обмена данными>
Тело запроса:
Content: < XML-файл, соответствующий XML-схеме данных для аутентификации по закр.ключу>
Успешный ответ:
-
HTTP/1.1 200 OK
-
Content-Type: application/xml; charset=utf-8
-
Content: < XML-файл, соответствующий XML-схеме ответа банк.сервиса>
Параметры запроса:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
Host | string | [1] | Адрес ресурса банка |
CustomerID | string | [1] | Уникальный идентификатор Клиента, содержащий только ANSI-символы. |
APIVersion | FormatVersionType | [1] | Версия API обмена данными |
AvailableAPIVersion | FormatVersionType | [0-1] | Максимальная доступная для текущей информационной базы версия API обмена данными |
Параметры ответа:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
ResultBank | ResultBank | [1] | Ответ банка |
Пример запроса аутентификации по закрытому ключу сертификата:
POST http://testdirectbank.1c.ru/go/LogonCert HTTP/1.1 Host: testdirectbank.1c.ru:80 User-Agent: 1C+Enterprise/8.3 Accept: */* AvailableAPIVersion: 2.3.2 APIVersion: 2.3.2 CustomerID: 24102018 Content-Type: application/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?> <X509Data xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="eb14c5fc-b430-4c1c-a5f3-5b536ff54ab9" formatVersion="2.3.2" creationDate="2021-04-27T14:59:08" userAgent="1С - БЭД: 1.9.2.10; БиблиотекаЭлектронныхДокументовДемо: 1.9.2.10"> <X509IssuerName>Biden</X509IssuerName> <X509SerialNumber>36A445777B36FEA9</X509SerialNumber> <X509Certificate>MIIB3zCCAYygAwIBAgIINqRFd3s2/qkwCgYIKoUDBwEBAwIwHTELMAkGA1UEBhMC UlUxDjAMBgNVBAMTBUJpZGVuMCAXDTIwMTAyMTExMzI1N1oYDzIwOTkxMDIxMTEz MjU3WjAdMQswCQYDVQQGEwJSVTEOMAwGA1UEAxMFQmlkZW4wZjAfBggqhQMHAQEB ATATBgcqhQMCAiQABggqhQMHAQECAgNDAARAp/7Alkrwt1vZr8mJoxNob5NHaOyX gCzJ6iX3m7+98DxRE/W+wS+gOA9zS6tjsYwxgIuQCowVzwZoKRYRjCNwKKOBpjCB ozAOBgNVHQ8BAf8EBAMCAtwwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwME MB0GA1UdDgQWBBTlIIRaPjErlFho+DP4aNWfWKfMljBCBgNVHSMEOzA5gBTlIIRa PjErlFho+DP4aNWfWKfMlqEhpB8wHTELMAkGA1UEBhMCUlUxDjAMBgNVBAMTBUJp ZGVuMA8GA1UdEwQIMAYBAf8CAQEwCgYIKoUDBwEBAwIDQQAxeE05M5QD3Jdrbnhp hExLrwi+dCc0WorAmRtshC9sRHy8vnbn1uIDsYRCOLImCdbhgVSybj7eMI+mjBsJ erKD</X509Certificate> </X509Data>
Пример успешного ответа на запрос аутентификации по закрытому ключу сертификата:
HTTP/1.1 200 OK Server: nginx Date: Tue, 27 Apr 2021 11:59:08 GMT Content-Length: 882 Proxy-Connection: Keep-Alive Via: 1.1 FWD9 Connection: Keep-Alive
<?xml version="1.0" encoding="UTF-8"?> <ResultBank xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" formatVersion="2.3.2" userAgent="DirectBankService"> <Success> <LogonCertResponse> <EncryptedSID>MIIBcgYJKoZIhvcNAQcDoIIBYzCCAV8CAQAxggEBMIH+AgEAMCkwHTELMAkGA1UE BhMCUlUxDjAMBgNVBAMTBUJpZGVuAgg2pEV3ezb+qTAfBggqhQMHAQEBATATBgcq hQMCAiQABggqhQMHAQECAgSBrDCBqTAoBCDEIC+knfkTxc2WLBFQSxcTyDWYuOfm HbIu2PcaHGUVrgQEhzNgqqB9BgkqhQMHAQIFAQGgZjAfBggqhQMHAQEBATATBgcq hQMCAiQABggqhQMHAQECAgNDAARASA4uzEuNjnAFxKNzJOsQxI83F6gao1eQpAC9 Lejvgwy+K4oGVKC0c16euhxgBD3WfJvbLl74CC1Tlw53nWc7rgQI3c/B8M1oRGAw VQYJKoZIhvcNAQcBMB8GBiqFAwICFTAVBAi6GX0KVG4zWQYJKoUDBwECBQEBgCek rYVRrIfwoO8myudpP0vOLhwLgWAYa9fWx9pLf/WAWmBahHGZjek=</EncryptedSID> </LogonCertResponse> </Success> </ResultBank>
Рекомендации для банковского сервиса
Время жизни авторизованной сессии на стороне банк.сервиса рекомендуется устанавливать 5 минут, а при получении новых запросов из «1С:Предприятия 8» — автоматически его продлевать.
В случае обнаружения 3-х подряд неверных попыток аутентификации на банковском сервисе в течение 30 секунд с одного IP-адреса рекомендуется отклонять все последующие попытки аутентификации с этого IP-адреса в течение 60 секунд.
В случае обнаружения 10-ти подряд неверных попыток аутентификации с одного IP-адреса в течение 120 секунд банковскому сервису рекомендуется отклонять все последующие попытки аутентификации с этого IP-адреса в течение 240 секунд, а также проинформировать клиента банка о возникшей ситуации альтернативными способами связи (SMS-оповещением и/или письмом по эл.почте).
При отклонении в систему «1С:Предприятие 8» банковский сервис должен в синхронном режиме возвращать соответствующую ошибку (XML-файл, соответствующий XML-схеме ответа банк.сервиса).
Настройка обмена электронными документами
Для начала использования прямого обмена электронными документами из решений «1С:Предприятие 8» с банковской системой Клиент должен получить параметры обмена данными из Банка — в «1С:Предприятии 8» будут автоматически созданы настройки ЭДО с Банком.
- Банковская система формирует файл настроек обмена с банком (XML-файл, соответствующий XML-схеме настроек обмена с банком), содержащий параметры обмена данными с банком.
- Получение настроек проходит согласно протоколу, описанному в разделе «Порядок взаимодействия на транспортном уровне».
- После получения файла настроек обмена система «1С:Предприятие 8» автоматически настроит систему согласно полученным параметрам.
Получение настроек обмена с банком в автоматическом режиме
Получение настроек обмена с банком в 1С выполняется в 3 этапа:
-
аутентификация Клиента на стороне Банка (если нет ранее открытой сессии);
-
передача в банк расчетного счета Клиента, банк по этому номеру формирует файл настроек и отправляет обратно;
-
обработка ответа банка.
Метод GetSettings (HTTP-метод POST)
Заголовки:
-
Host: <Адрес ресурса банка>
-
Content-Type: application/xml; charset=utf-8
-
CustomerID: <Уникальный идентификатор Клиента, содержащий только ANSI-символы. Передается 0, если CustomerID еще неизвестен>
-
Account: <Номер расчетного счета Клиента, для зарплатных проектов может отсутствовать>
-
Inn: <Инн организации, для которой запрашиваются настройки>
-
Bic: <БИК Банка>
-
SID: <Идентификатор авторизованной сессии>
-
APIVersion: <Версия API обмена данными>
-
AvailableAPIVersion: <Доступная версия API обмена данными>
Тело запроса:
- ПУСТО
Успешный ответ:
-
HTTP/1.1 200 OK
-
Content-Type: application/xml; charset=utf-8
-
Content: < XML-файл, соответствующий XML-схеме ответа банк.сервиса>
Параметры запроса:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
Host | string | [1] | Адрес ресурса банка |
CustomerID | string | [1] | Уникальный идентификатор Клиента, содержащий только ANSI-символы. Передается 0, если CustomerID еще неизвестен |
Account | AccNumType | [0-1] | Номер расчетного счета Клиента, для зарплатных проектов может отсутствовать |
Inn | string (от 10 до 12) | [1] | Инн организации, для которой запрашиваются настройки |
Bic | string (9) | [1] | БИК Банка |
SID | IDType | [1] | Идентификатор авторизованной сессии |
APIVersion | FormatVersionType | [1] | Версия API обмена данными |
AvailableAPIVersion | FormatVersionType | [0-1] | Максимальная доступная для текущей информационной базы версия API обмена данными |
Параметры ответа:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
ResultBank | ResultBank | [1] | Ответ банка |
Описание:
При запросе настроек обмена в автоматическом режиме система «1С:Предприятие 8» передает в Банк номер расчетного счета Клиента (отправка производится HTTP-методом POST — метод GetSettings). Банковский сервис по номеру расчетному счета клиента формирует файл настроек (XML-файл, соответствующий XML-схеме настроек обмена с банком и в синхронном режиме возвращается в «1С:Предприятие 8» (XML-файл, соответствующий XML-схеме ответа банк.сервиса).
Результатом неуспешного запроса настроек обмена будет ошибка, возвращаемая банковской системой также в синхронном режиме (XML-файл, соответствующий XML-схеме ответа банк.сервиса).
Особенностью данного процесса является то, что на момент первого запроса настроек обмена с банком в системе «1С:Предприятие 8» неизвестен уникальный идентификатор Клиента в банковской системе. В этом случае следует использовать «0» в качестве значения этого реквизита.
Пример запроса получения настроек с банком:
POST http://testdirectbank.1c.ru/go/GetSettings HTTP/1.1 Host: testdirectbank.1c.ru:80 User-Agent: 1C+Enterprise/8.3 Accept: */* AvailableAPIVersion: 2.3.2 APIVersion: 2.1.1 Bic: 041111111 SID: a30056cd-2122-4c66-a855-8bc88c2cfbcd Inn: 1001156517 Account: 40702810125000001191 CustomerID: 0 Content-Type: application/xml; charset=utf-8
Пример успешного ответа на запрос получения настроек с банком:
HTTP/1.1 200 OK Server: nginx Date: Tue, 27 Apr 2021 11:58:53 GMT Content-Length: 6470 Proxy-Connection: Keep-Alive Via: 1.1 FWD9 Connection: Keep-Alive
<?xml version="1.0" encoding="UTF-8"?> <ResultBank xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" formatVersion="2.3.2" userAgent="DirectBankService"> <Success> <GetSettingsResponse id="22636b6c-bcdc-4368-b6d8-1ba2205b0356" formatVersion="2.3.2" creationDate="2021-04-27T14:58:53" userAgent="DirectBankService"> <Data dockind="06">77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 aW5ncyB4bWxucz0iaHR0cDovL2RpcmVjdGJhbmsuMWMucnUvWE1MU2NoZW1hIiB4 bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5z OnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2Ui IGlkPSIxMTc2ZjM2MS02MDYyLTQ0YzktYWZlZC0wZmIwN2ZjODFhMGEiIGZvcm1h dFZlcnNpb249IjIuMy4yIiBjcmVhdGlvbkRhdGU9IjIwMjEtMDQtMjdUMTQ6NTg6 NTMiIHVzZXJBZ2VudD0iRGlyZWN0QmFua1NlcnZpY2UiPg0KCTxTZW5kZXIgYmlj PSIwNDExMTExMTEiLz4NCgk8UmVjaXBpZW50IGlkPSIyNDEwMjAxOCIgbmFtZT0i 0J7QntCeICZxdW90O9Ci0L7RgNCz0L7QstGL0Lkg0LTQvtC8JnF1b3Q7IiBpbm49 IjEwMDExNTY1MTciIGtwcD0iMTAwMTAxMDAxIi8+DQoJPERhdGE+DQoJCTxDdXN0 b21lcklEPjI0MTAyMDE4PC9DdXN0b21lcklEPg0KCQk8QmFua1NlcnZlckFkZHJl c3M+aHR0cDovL3Rlc3RkaXJlY3RiYW5rLjFjLnJ1L2dvPC9CYW5rU2VydmVyQWRk cmVzcz4NCgkJPEZvcm1hdFZlcnNpb24+Mi4zLjI8L0Zvcm1hdFZlcnNpb24+DQoJ CTxFbmNvZGluZz5VVEYtODwvRW5jb2Rpbmc+DQoJCTxMb2dvbj4NCgkJCTxDZXJ0 aWZpY2F0ZT4NCgkJCQk8RW5jcnlwdGluZ0FsZ29yaXRobT5HT1NUIDI4MTQ3LTg5 PC9FbmNyeXB0aW5nQWxnb3JpdGhtPg0KCQkJPC9DZXJ0aWZpY2F0ZT4NCgkJPC9M b2dvbj4NCgkJPENyeXB0b1BhcmFtZXRlcnM+DQoJCQk8Q1NQTmFtZT5DcnlwdG8t UHJvIEdPU1QgUiAzNC4xMC0yMDEyIENyeXB0b2dyYXBoaWMgU2VydmljZSBQcm92 aWRlcjwvQ1NQTmFtZT4NCgkJCTxDU1BUeXBlPjgwPC9DU1BUeXBlPg0KCQkJPFNp Z25BbGdvcml0aG0+R1IgMzQuMTAtMjAxMiAyNTY8L1NpZ25BbGdvcml0aG0+DQoJ CQk8SGFzaEFsZ29yaXRobT5HUiAzNC4xMS0yMDEyIDI1NjwvSGFzaEFsZ29yaXRo bT4NCgkJCTxFbmNyeXB0ZWQ+DQoJCQkJPEVuY3J5cHRBbGdvcml0aG0+R09TVCAy ODE0Ny04OTwvRW5jcnlwdEFsZ29yaXRobT4NCgkJCTwvRW5jcnlwdGVkPg0KCQkJ PEJhbmtDZXJ0aWZpY2F0ZT5NSUlDUERDQ0FlbWdBd0lCQWdJSVRsOUZORjMxZlY4 d0NnWUlLb1VEQndFQkF3SXdQREVMTUFrR0ExVUVCaE1DDQpVbFV4TFRBckJnTlZC QU1lSkFRbkJEVUVRQVJIQkRVRVFRUStCRElBSUFRaEJFSUVNQVE5QkRnRVFRUTdC REFFDQpNakFnRncweE9UQTBNVFV3T0RFd01EZGFHQTh5TURrNU1EUXhOVEE0TVRB d04xb3dQREVMTUFrR0ExVUVCaE1DDQpVbFV4TFRBckJnTlZCQU1lSkFRbkJEVUVR QVJIQkRVRVFRUStCRElBSUFRaEJFSUVNQVE5QkRnRVFRUTdCREFFDQpNakJtTUI4 R0NDcUZBd2NCQVFFQk1CTUdCeXFGQXdJQ0pBQUdDQ3FGQXdjQkFRSUNBME1BQkVB eHg0TGNIcHBPDQpZTG02VjVaY0YzK0dFazhSK2NNTE1SQmtBQWFkUnkyUTcvMmlw d3J4c01zbGplZitpRHlCaG1OVVZPeXBOMzhwDQpxVHoxamNWelJxdWNvNEhGTUlI Q01BNEdBMVVkRHdFQi93UUVBd0lCM2pBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGDQpC UWNEQWdZSUt3WUJCUVVIQXdRd0hRWURWUjBPQkJZRUZQejJXZDM0L2N5ekJOdlVM MGM2cWpUZ3BxYzJNR0VHDQpBMVVkSXdSYU1GaUFGUHoyV2QzNC9jeXpCTnZVTDBj NnFqVGdwcWMyb1VDa1BqQThNUXN3Q1FZRFZRUUdFd0pTDQpWVEV0TUNzR0ExVUVB eDRrQkNjRU5RUkFCRWNFTlFSQkJENEVNZ0FnQkNFRVFnUXdCRDBFT0FSQkJEc0VN QVF5DQpNQThHQTFVZEV3UUlNQVlCQWY4Q0FRRXdDZ1lJS29VREJ3RUJBd0lEUVFB RFBPb0FTR09YOFJnYk15REtRVlgrDQpaeVdIdjZTSlJiTGR5a2FPTS9zWncxYjND Z0NrV29kMTVNSTd2bjBNZFVtQkdOTldIMkFxbnVjZGVUc2taSUlTDQo8L0JhbmtD ZXJ0aWZpY2F0ZT4NCgkJCTxDdXN0b21lclNpZ25hdHVyZT4NCgkJCQk8R3JvdXBT aWduYXR1cmVzIG51bWJlckdyb3VwPSIyIj4NCgkJCQkJPENlcnRpZmljYXRlPk1J SUNQRENDQWVtZ0F3SUJBZ0lJVGw5Rk5GMzFmVjh3Q2dZSUtvVURCd0VCQXdJd1BE RUxNQWtHQTFVRUJoTUMNClVsVXhMVEFyQmdOVkJBTWVKQVFuQkRVRVFBUkhCRFVF UVFRK0JESUFJQVFoQkVJRU1BUTlCRGdFUVFRN0JEQUUNCk1qQWdGdzB4T1RBME1U VXdPREV3TURkYUdBOHlNRGs1TURReE5UQTRNVEF3TjFvd1BERUxNQWtHQTFVRUJo TUMNClVsVXhMVEFyQmdOVkJBTWVKQVFuQkRVRVFBUkhCRFVFUVFRK0JESUFJQVFo QkVJRU1BUTlCRGdFUVFRN0JEQUUNCk1qQm1NQjhHQ0NxRkF3Y0JBUUVCTUJNR0J5 cUZBd0lDSkFBR0NDcUZBd2NCQVFJQ0EwTUFCRUF4eDRMY0hwcE8NCllMbTZWNVpj RjMrR0VrOFIrY01MTVJCa0FBYWRSeTJRNy8yaXB3cnhzTXNsamVmK2lEeUJobU5V Vk95cE4zOHANCnFUejFqY1Z6UnF1Y280SEZNSUhDTUE0R0ExVWREd0VCL3dRRUF3 SUIzakFkQmdOVkhTVUVGakFVQmdnckJnRUYNCkJRY0RBZ1lJS3dZQkJRVUhBd1F3 SFFZRFZSME9CQllFRlB6MldkMzQvY3l6Qk52VUwwYzZxalRncHFjMk1HRUcNCkEx VWRJd1JhTUZpQUZQejJXZDM0L2N5ekJOdlVMMGM2cWpUZ3BxYzJvVUNrUGpBOE1R c3dDUVlEVlFRR0V3SlMNClZURXRNQ3NHQTFVRUF4NGtCQ2NFTlFSQUJFY0VOUVJC QkQ0RU1nQWdCQ0VFUWdRd0JEMEVPQVJCQkRzRU1BUXkNCk1BOEdBMVVkRXdRSU1B WUJBZjhDQVFFd0NnWUlLb1VEQndFQkF3SURRUUFEUE9vQVNHT1g4UmdiTXlES1FW WCsNClp5V0h2NlNKUmJMZHlrYU9NL3NadzFiM0NnQ2tXb2QxNU1JN3ZuME1kVW1C R05OV0gyQXFudWNkZVRza1pJSVMNCjwvQ2VydGlmaWNhdGU+DQoJCQkJPC9Hcm91 cFNpZ25hdHVyZXM+DQoJCQkJPEdyb3VwU2lnbmF0dXJlcyBudW1iZXJHcm91cD0i MSI+DQoJCQkJCTxDZXJ0aWZpY2F0ZT5NSUlCM3pDQ0FZeWdBd0lCQWdJSU5xUkZk M3MyL3Frd0NnWUlLb1VEQndFQkF3SXdIVEVMTUFrR0ExVUVCaE1DDQpVbFV4RGpB TUJnTlZCQU1UQlVKcFpHVnVNQ0FYRFRJd01UQXlNVEV4TXpJMU4xb1lEekl3T1Rr eE1ESXhNVEV6DQpNalUzV2pBZE1Rc3dDUVlEVlFRR0V3SlNWVEVPTUF3R0ExVUVB eE1GUW1sa1pXNHdaakFmQmdncWhRTUhBUUVCDQpBVEFUQmdjcWhRTUNBaVFBQmdn cWhRTUhBUUVDQWdOREFBUkFwLzdBbGtyd3QxdlpyOG1Kb3hOb2I1TkhhT3lYDQpn Q3pKNmlYM203Kzk4RHhSRS9XK3dTK2dPQTl6UzZ0anNZd3hnSXVRQ293Vnp3Wm9L UllSakNOd0tLT0JwakNCDQpvekFPQmdOVkhROEJBZjhFQkFNQ0F0d3dIUVlEVlIw bEJCWXdGQVlJS3dZQkJRVUhBd0lHQ0NzR0FRVUZCd01FDQpNQjBHQTFVZERnUVdC QlRsSUlSYVBqRXJsRmhvK0RQNGFOV2ZXS2ZNbGpCQ0JnTlZIU01FT3pBNWdCVGxJ SVJhDQpQakVybEZobytEUDRhTldmV0tmTWxxRWhwQjh3SFRFTE1Ba0dBMVVFQmhN Q1VsVXhEakFNQmdOVkJBTVRCVUpwDQpaR1Z1TUE4R0ExVWRFd1FJTUFZQkFmOENB UUV3Q2dZSUtvVURCd0VCQXdJRFFRQXhlRTA1TTVRRDNKZHJibmhwDQpoRXhMcndp K2RDYzBXb3JBbVJ0c2hDOXNSSHk4dm5ibjF1SURzWVJDT0xJbUNkYmhnVlN5Ymo3 ZU1JK21qQnNKDQplcktEPC9DZXJ0aWZpY2F0ZT4NCgkJCQk8L0dyb3VwU2lnbmF0 dXJlcz4NCgkJCTwvQ3VzdG9tZXJTaWduYXR1cmU+DQoJCTwvQ3J5cHRvUGFyYW1l dGVycz4NCgkJPERvY3VtZW50IGRvY0tpbmQ9IjAzIj4NCgkJCTxTaWduZWQ+DQoJ CQkJPFJ1bGVTaWduYXR1cmVzPigwKTwvUnVsZVNpZ25hdHVyZXM+DQoJCQk8L1Np Z25lZD4NCgkJPC9Eb2N1bWVudD4NCgkJPERvY3VtZW50IGRvY0tpbmQ9IjA0Ij4N CgkJCTxTaWduZWQ+DQoJCQkJPFJ1bGVTaWduYXR1cmVzPigwKTwvUnVsZVNpZ25h dHVyZXM+DQoJCQk8L1NpZ25lZD4NCgkJPC9Eb2N1bWVudD4NCgkJPERvY3VtZW50 IGRvY0tpbmQ9IjA1Ij4NCgkJCTxTaWduZWQ+DQoJCQkJPFJ1bGVTaWduYXR1cmVz PigwKTwvUnVsZVNpZ25hdHVyZXM+DQoJCQk8L1NpZ25lZD4NCgkJPC9Eb2N1bWVu dD4NCgkJPERvY3VtZW50IGRvY0tpbmQ9IjEwIj4NCgkJCTxTaWduZWQ+DQoJCQkJ PFJ1bGVTaWduYXR1cmVzPigxMSk8L1J1bGVTaWduYXR1cmVzPg0KCQkJPC9TaWdu ZWQ+DQoJCTwvRG9jdW1lbnQ+DQoJCTxEb2N1bWVudCBkb2NLaW5kPSIxMSI+DQoJ CQk8U2lnbmVkPg0KCQkJCTxSdWxlU2lnbmF0dXJlcz4oMTEpPC9SdWxlU2lnbmF0 dXJlcz4NCgkJCTwvU2lnbmVkPg0KCQk8L0RvY3VtZW50Pg0KCQk8RG9jdW1lbnQg ZG9jS2luZD0iMTQiPg0KCQkJPFNpZ25lZD4NCgkJCQk8UnVsZVNpZ25hdHVyZXM+ KDApPC9SdWxlU2lnbmF0dXJlcz4NCgkJCTwvU2lnbmVkPg0KCQk8L0RvY3VtZW50 Pg0KCTwvRGF0YT4NCjwvU2V0dGluZ3M+</Data> </GetSettingsResponse> </Success> </ResultBank>
Пример XML-файла настроек обмена с банком:
- XML-файл настроек обмена с банком
<?xml version="1.0" encoding="UTF-8"?> <Settings xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="1176f361-6062-44c9-afed-0fb07fc81a0a" formatVersion="2.3.2" creationDate="2021-04-27T14:58:53" userAgent="DirectBankService"> <Sender bic="041111111"/> <Recipient id="24102018" name="ООО "Торговый дом"" inn="1001156517" kpp="100101001"/> <Data> <CustomerID>24102018</CustomerID> <BankServerAddress>http://testdirectbank.1c.ru/go</BankServerAddress> <FormatVersion>2.3.2</FormatVersion> <Encoding>UTF-8</Encoding> <Logon> <Certificate> <EncryptingAlgorithm>GOST 28147-89</EncryptingAlgorithm> </Certificate> </Logon> <CryptoParameters> <CSPName>Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider</CSPName> <CSPType>80</CSPType> <SignAlgorithm>GR 34.10-2012 256</SignAlgorithm> <HashAlgorithm>GR 34.11-2012 256</HashAlgorithm> <Encrypted> <EncryptAlgorithm>GOST 28147-89</EncryptAlgorithm> </Encrypted> <BankCertificate>MIICPDCCAemgAwIBAgIITl9FNF31fV8wCgYIKoUDBwEBAwIwPDELMAkGA1UEBhMC UlUxLTArBgNVBAMeJAQnBDUEQARHBDUEQQQ+BDIAIAQhBEIEMAQ9BDgEQQQ7BDAE MjAgFw0xOTA0MTUwODEwMDdaGA8yMDk5MDQxNTA4MTAwN1owPDELMAkGA1UEBhMC UlUxLTArBgNVBAMeJAQnBDUEQARHBDUEQQQ+BDIAIAQhBEIEMAQ9BDgEQQQ7BDAE MjBmMB8GCCqFAwcBAQEBMBMGByqFAwICJAAGCCqFAwcBAQICA0MABEAxx4LcHppO YLm6V5ZcF3+GEk8R+cMLMRBkAAadRy2Q7/2ipwrxsMsljef+iDyBhmNUVOypN38p qTz1jcVzRquco4HFMIHCMA4GA1UdDwEB/wQEAwIB3jAdBgNVHSUEFjAUBggrBgEF BQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFPz2Wd34/cyzBNvUL0c6qjTgpqc2MGEG A1UdIwRaMFiAFPz2Wd34/cyzBNvUL0c6qjTgpqc2oUCkPjA8MQswCQYDVQQGEwJS VTEtMCsGA1UEAx4kBCcENQRABEcENQRBBD4EMgAgBCEEQgQwBD0EOARBBDsEMAQy MA8GA1UdEwQIMAYBAf8CAQEwCgYIKoUDBwEBAwIDQQADPOoASGOX8RgbMyDKQVX+ ZyWHv6SJRbLdykaOM/sZw1b3CgCkWod15MI7vn0MdUmBGNNWH2AqnucdeTskZIIS </BankCertificate> <CustomerSignature> <GroupSignatures numberGroup="2"> <Certificate>MIICPDCCAemgAwIBAgIITl9FNF31fV8wCgYIKoUDBwEBAwIwPDELMAkGA1UEBhMC UlUxLTArBgNVBAMeJAQnBDUEQARHBDUEQQQ+BDIAIAQhBEIEMAQ9BDgEQQQ7BDAE MjAgFw0xOTA0MTUwODEwMDdaGA8yMDk5MDQxNTA4MTAwN1owPDELMAkGA1UEBhMC UlUxLTArBgNVBAMeJAQnBDUEQARHBDUEQQQ+BDIAIAQhBEIEMAQ9BDgEQQQ7BDAE MjBmMB8GCCqFAwcBAQEBMBMGByqFAwICJAAGCCqFAwcBAQICA0MABEAxx4LcHppO YLm6V5ZcF3+GEk8R+cMLMRBkAAadRy2Q7/2ipwrxsMsljef+iDyBhmNUVOypN38p qTz1jcVzRquco4HFMIHCMA4GA1UdDwEB/wQEAwIB3jAdBgNVHSUEFjAUBggrBgEF BQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFPz2Wd34/cyzBNvUL0c6qjTgpqc2MGEG A1UdIwRaMFiAFPz2Wd34/cyzBNvUL0c6qjTgpqc2oUCkPjA8MQswCQYDVQQGEwJS VTEtMCsGA1UEAx4kBCcENQRABEcENQRBBD4EMgAgBCEEQgQwBD0EOARBBDsEMAQy MA8GA1UdEwQIMAYBAf8CAQEwCgYIKoUDBwEBAwIDQQADPOoASGOX8RgbMyDKQVX+ ZyWHv6SJRbLdykaOM/sZw1b3CgCkWod15MI7vn0MdUmBGNNWH2AqnucdeTskZIIS </Certificate> </GroupSignatures> <GroupSignatures numberGroup="1"> <Certificate>MIIB3zCCAYygAwIBAgIINqRFd3s2/qkwCgYIKoUDBwEBAwIwHTELMAkGA1UEBhMC UlUxDjAMBgNVBAMTBUJpZGVuMCAXDTIwMTAyMTExMzI1N1oYDzIwOTkxMDIxMTEz MjU3WjAdMQswCQYDVQQGEwJSVTEOMAwGA1UEAxMFQmlkZW4wZjAfBggqhQMHAQEB ATATBgcqhQMCAiQABggqhQMHAQECAgNDAARAp/7Alkrwt1vZr8mJoxNob5NHaOyX gCzJ6iX3m7+98DxRE/W+wS+gOA9zS6tjsYwxgIuQCowVzwZoKRYRjCNwKKOBpjCB ozAOBgNVHQ8BAf8EBAMCAtwwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwME MB0GA1UdDgQWBBTlIIRaPjErlFho+DP4aNWfWKfMljBCBgNVHSMEOzA5gBTlIIRa PjErlFho+DP4aNWfWKfMlqEhpB8wHTELMAkGA1UEBhMCUlUxDjAMBgNVBAMTBUJp ZGVuMA8GA1UdEwQIMAYBAf8CAQEwCgYIKoUDBwEBAwIDQQAxeE05M5QD3Jdrbnhp hExLrwi+dCc0WorAmRtshC9sRHy8vnbn1uIDsYRCOLImCdbhgVSybj7eMI+mjBsJ erKD</Certificate> </GroupSignatures> </CustomerSignature> </CryptoParameters> <Document docKind="03"> <Signed> <RuleSignatures>(0)</RuleSignatures> </Signed> </Document> <Document docKind="04"> <Signed> <RuleSignatures>(0)</RuleSignatures> </Signed> </Document> <Document docKind="05"> <Signed> <RuleSignatures>(0)</RuleSignatures> </Signed> </Document> <Document docKind="10"> <Signed> <RuleSignatures>(11)</RuleSignatures> </Signed> </Document> <Document docKind="11"> <Signed> <RuleSignatures>(11)</RuleSignatures> </Signed> </Document> <Document docKind="14"> <Signed> <RuleSignatures>(0)</RuleSignatures> </Signed> </Document> </Data> </Settings>
Порядок взаимодействия на транспортном уровне
Данный уровень позволяет отправлять и получать электронные документы между системой «1С:Предприятие 8» Клиента и Банком по согласованным между сторонами обмена настройкам, используя шифрованный канал (протокол TLS 1.0/1.2) (подробнее см. раздел «Обеспечение безопасности данных»).
Инициатором сеанса обмена всегда выступает система «1С:Предприятие 8».
Для отправки и получения всех электронных документов используется единый адрес ресурса банка вида: https://<host>:<port>
.
Для передачи электронных документов между участниками обмена используется «транспортный контейнер» — XML-файл, сформированный по определенному формату (XML-схема транспортного контейнера). XML-файл транспортного контейнера и файлы вложений всегда имеют BOM.
Отправителем и получателем транспортного контейнера могут быть как Клиент (Организация), работающий на системе «1С:Предприятие 8», так и Банк (роли участников обмена зависят от конкретной бизнес-операции).
Формирование и разбор транспортного контейнера
Формирование и разбор транспортного контейнер зависит от настроек обмена с конкретным банковским сервисом и может быть представлен в виде схем:
Отправка электронных документов из 1С
Отправка электронных документов из 1С выполняется в 3 этапа:
-
формирование транспортного контейнера, содержащего электронные документы;
-
аутентификация Клиента на стороне Банка (если нет ранее открытой сессии);
-
отправка транспортного контейнера в Банк и обработка ответа.
При отправке электронных документов из 1С будут последовательно вызваны следующие методы банковского сервиса:
- Аутентификация:
- Для аутентификации по логину и паролю, только Logon;
- Для аутентификации по логину и паролю с двухфакторной авторизацией — Logon, а затем — LogonOTP.
- Отправка транспортного контейнера с данными электронных документов из 1С — SendPack.
Метод SendPack (HTTP-метод POST)
Заголовки:
-
Host: <Адрес ресурса банка>
-
Content-Type: application/xml; charset=utf-8
-
CustomerID: <Уникальный идентификатор Клиента, содержащий только ANSI-символы>
-
SID: <Идентификатор авторизованной сессии>
-
APIVersion: <Версия API обмена данными>
Тело запроса:
- <XML-файл, соответствующий XML-схеме транспортного контейнера>
Успешный ответ:
- HTTP/1.1 200 OK
- Content-Type: application/xml; charset=utf-8
- Content: < XML-файл, соответствующий XML-схеме ответа банк.сервиса>
Параметры запроса:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
Host | string | [1] | Адрес ресурса банка |
CustomerID | string | [1] | Уникальный идентификатор Клиента, содержащий только ANSI-символы |
SID | IDType | [1] | Идентификатор авторизованной сессии |
APIVersion | FormatVersionType | [1] | Версия API обмена данными |
Packet | Packet | [1] | Транспортный контейнер с данными электронных документов |
Параметры ответа:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
ResultBank | ResultBank | [1] | Ответ банка |
Описание:
-
В «1С:Предприятии 8» формируется транспортный контейнер (XML-файл, соответствующий XML-схеме транспортного контейнера) с одним или несколькими электронными документами.
- Если настройки обмена между Клиентом и Банком предусматривают сжатие данных, то электронные документы перед помещением в транспортный контейнер сжимаются в формате zip-архива, который описан в открытой спецификации, доступной по адресу http://www.pkware.com/documents/casestudies/APPNOTE.TXT.
-
Далее проходит аутентификация на стороне Банка согласно протоколу, описанному в разделе «Порядок взаимодействия на уровне аутентификации».
-
Если аутентификация пройдена успешно, транспортный контейнер передается в Банк (отправка на ресурс Банка производится HTTP-методом POST — метод SendPack), в синхронном режиме банковская система возвращает либо ошибку получения, либо уникальный идентификатор на стороне Банка, который будет однозначно соответствовать полученному транспортному контейнеру (XML-файл, соответствующий XML-схеме ответа банк.сервиса).
-
Банковская система может проводить контроль формата и разбор транспортного контейнера:
-
либо в синхронном режиме (сразу в момент получения);
-
либо в асинхронном режиме (ставит входящие трасп.контейнеры в очередь на разбор).
-
-
Для такого варианта уникальный идентификатор возвращается сразу, после того, как транспортный контейнер успешно был поставлен в очередь на разбор, не дожидаясь самого разбора.
-
Далее запускается процесс разбора очереди входящих транспортных контейнеров банковской системой, результатом которого будет ответ о состоянии обработки (XML-файл, соответствующий XML-схеме извещения о состояния обработки транспортного контейнера).
-
Подготовленный ответ Банка упаковывается в транспортный контейнер (XML-файл, соответствующий XML-схеме транспортного контейнера) и ожидает на стороне Банка очередного запроса на наличие подготовленных к передаче транспортных контейнеров из «1С:Предприятие 8».
-
Параллельно с процессом отправки ответа о состоянии обработки транспортного контейнера банковская система выполняет обработку каждого электронного документа, входящего в него.
Пример отправки транспортного контейнера:
POST http://testdirectbank.1c.ru/go/SendPack HTTP/1.1 Host: testdirectbank.1c.ru:80 User-Agent: 1C+Enterprise/8.3 Accept: */* APIVersion: 2.3.2 CustomerID: 24102018 SID: c0f6a4d5-c10d-4dfb-84f0-922fcb1b36e9 Content-Type: application/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?> <Packet xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="df9863e9-9059-4936-a75f-7fbf1117a105" formatVersion="2.3.2" creationDate="2021-04-27T14:59:09" userAgent="1С - БЭД: 1.9.2.10; БиблиотекаЭлектронныхДокументовДемо: 1.9.2.10"> <Sender> <Customer id="24102018" name="Общество с ограниченной ответственностью "Торговый дом"" inn="1001156517" kpp="100101001"/> </Sender> <Recipient> <Bank bic="041111111" name="1С:Банк"/> </Recipient> <Document id="2429e5d3-a0f1-4592-9c9e-62740ff59fd4" dockind="05" formatVersion="2.3.2"> <Data>77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxQcm9i ZSB4bWxucz0iaHR0cDovL2RpcmVjdGJhbmsuMWMucnUvWE1MU2NoZW1hIiB4bWxu czp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhz aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIGlk PSIyNDI5ZTVkMy1hMGYxLTQ1OTItOWM5ZS02Mjc0MGZmNTlmZDQiIGZvcm1hdFZl cnNpb249IjIuMy4yIiBjcmVhdGlvbkRhdGU9IjIwMjEtMDQtMjdUMTQ6NTg6NTUi IHVzZXJBZ2VudD0iMdChIC0g0JHQrdCUOiAxLjkuMi4xMDsg0JHQuNCx0LvQuNC+ 0YLQtdC60LDQrdC70LXQutGC0YDQvtC90L3Ri9GF0JTQvtC60YPQvNC10L3RgtC+ 0LLQlNC10LzQvjogMS45LjIuMTAiPg0KCTxTZW5kZXIgaWQ9IjI0MTAyMDE4IiBu YW1lPSLQntCe0J4gJnF1b3Q70KLQvtGA0LPQvtCy0YvQuSDQtNC+0LwmcXVvdDsi IGlubj0iMTAwMTE1NjUxNyIga3BwPSIxMDAxMDEwMDEiLz4NCgk8UmVjaXBpZW50 IGJpYz0iMDQxMTExMTExIiBuYW1lPSIx0KE60JHQsNC90LoiLz4NCjwvUHJvYmU+ </Data> <Signature x509IssuerName="Biden" x509SerialNumber="36A445777B36FEA9"> <SignedData>MIIDjgYJKoZIhvcNAQcCoIIDfzCCA3sCAQExDjAMBggqhQMHAQECAgUAMAsGCSqG SIb3DQEHAaCCAeMwggHfMIIBjKADAgECAgg2pEV3ezb+qTAKBggqhQMHAQEDAjAd MQswCQYDVQQGEwJSVTEOMAwGA1UEAxMFQmlkZW4wIBcNMjAxMDIxMTEzMjU3WhgP MjA5OTEwMjExMTMyNTdaMB0xCzAJBgNVBAYTAlJVMQ4wDAYDVQQDEwVCaWRlbjBm MB8GCCqFAwcBAQEBMBMGByqFAwICJAAGCCqFAwcBAQICA0MABECn/sCWSvC3W9mv yYmjE2hvk0do7JeALMnqJfebv73wPFET9b7BL6A4D3NLq2OxjDGAi5AKjBXPBmgp FhGMI3Aoo4GmMIGjMA4GA1UdDwEB/wQEAwIC3DAdBgNVHSUEFjAUBggrBgEFBQcD AgYIKwYBBQUHAwQwHQYDVR0OBBYEFOUghFo+MSuUWGj4M/ho1Z9Yp8yWMEIGA1Ud IwQ7MDmAFOUghFo+MSuUWGj4M/ho1Z9Yp8yWoSGkHzAdMQswCQYDVQQGEwJSVTEO MAwGA1UEAxMFQmlkZW4wDwYDVR0TBAgwBgEB/wIBATAKBggqhQMHAQEDAgNBADF4 TTkzlAPcl2tueGmETEuvCL50JzRaisCZG2yEL2xEfLy+dufW4gOxhEI4siYJ1uGB VLJuPt4wj6aMGwl6soMxggFwMIIBbAIBATApMB0xCzAJBgNVBAYTAlJVMQ4wDAYD VQQDEwVCaWRlbgIINqRFd3s2/qkwDAYIKoUDBwEBAgIFAKCB3TAYBgkqhkiG9w0B CQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTA0MjcxMTU4NTdaMC8G CSqGSIb3DQEJBDEiBCBGEhWZpZh8DlEb7sRy5WgACyKQCjD1Df7uZrxdbXMYLTBy BgsqhkiG9w0BCRACLzFjMGEwXzBdMAoGCCqFAwcBAQICBCBFa4ObLOWrBOX8qfT6 aUc/SvtGb+bOE/GadziwAdbDbzAtMCGkHzAdMQswCQYDVQQGEwJSVTEOMAwGA1UE AxMFQmlkZW4CCDakRXd7Nv6pMAwGCCqFAwcBAQEBBQAEQIkNL637sz3RkjR2wuP2 EmZv+JnRKGjLo0DRkVNtPji3GB4R91OGI5X18xN1XpdBUw8dTIJX4KlxV4YMsw65 sWU=</SignedData> </Signature> </Document> </Packet>
Пример успешного ответа на запрос отправки транспортного контейнера:
HTTP/1.1 200 OK Server: nginx Date: Tue, 27 Apr 2021 11:59:09 GMT Content-Length: 386 Proxy-Connection: Keep-Alive Via: 1.1 FWD9 Connection: Keep-Alive
<?xml version="1.0" encoding="UTF-8"?> <ResultBank xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" formatVersion="2.3.2" userAgent="DirectBankService"> <Success> <SendPacketResponse> <ID>fb981835-a471-4ad9-9c00-bc4783b0ac5d</ID> </SendPacketResponse> </Success> </ResultBank>
Получение электронных документов в 1С
Получение электронных документов в 1С выполняется в 3 этапа:
-
аутентификация Клиента на стороне Банка (если нет ранее открытой сессии);
-
запрос у Банка списка подготовленных к передаче транспортных контейнеров, содержащих электронные документы для Клиента;
-
запрос у Банка транспортного контейнера по его уникальному идентификатору и разбор в 1С.
При получении электронных документов из банковского сервиса в 1С будут последовательно вызваны следующие методы:
- Аутентификация:
- Для аутентификации по логину и паролю, только Logon;
- Для аутентификации по логину и паролю с двухфакторной авторизацией — Logon, а затем — LogonOTP.
- Запрос на получение списка GUID транспортных контейнеров, готовых к отправке клиенту банком, — GetPackList.
- В цикле запрос на получение транспортного контейнера по GUID из ранее полученного списка GetPack
Если после получения и разбора всех контейнеров из списка, 1С не находит нужный контейнер, процесс будет начат заново. Это происходит при ожидании получения выписки банка.
Метод GetPackList (HTTP-метод GET)
Заголовки:
-
Host: <Адрес ресурса банка>
-
Content-Type: application/xml; charset=utf-8
-
CustomerID: <Уникальный идентификатор Клиента, содержащий только ANSI-символы>
-
SID: <Идентификатор авторизованной сессии>
-
APIVersion: <Версия API обмена данными>
Адрес запроса:
- https://<Адрес ресурса банка>/GetPackList?date=<Отметка времени>
(Отметка времени в формате «dd.MM.yyyy HH:mm:ss», где dd — день числом, MM — месяц числом, yyyy — год числом, HH — часы в формате 24, mm — минуты, ss — секунды.)
Успешный ответ:
- HTTP/1.1 200 OK
- Content-Type: application/xml; charset=utf-8
- Content: < XML-файл, соответствующий XML-схеме ответа банк.сервиса>
Параметры запроса:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
Host | string | [1] | Адрес ресурса банка |
CustomerID | string | [1] | Уникальный идентификатор Клиента, содержащий только ANSI-символы |
SID | IDType | [1] | Идентификатор авторизованной сессии |
APIVersion | FormatVersionType | [1] | Версия API обмена данными |
Параметры ответа:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
ResultBank | ResultBank | [1] | Ответ банка |
Важно:
- Обратите внимание на параметр TimeStampLastPacket в ответе, это метка времени, на которую вернули всю актуальную информацию.
Описание:
-
Проходит аутентификация на стороне Банка согласно протоколу, описанному в разделе «Порядок взаимодействия на уровне аутентификации».
-
Если аутентификация пройдена успешно, система «1С:Предприятия 8» запрашивает Банк на наличие подготовленных транспортных контейнеров для Клиента (запрос на ресурс Банка производится HTTP-методом GET — метод GetPackList). В синхронном режиме банковская система возвращает список уникальных идентификаторов транспортных контейнеров, готовых к передаче со стороны Банка и отметку времени, равную дате и времени формирования (передаются значения даты и времени сервера Банка) самого последнего транспортного контейнера, входящего в этот список (XML-файл, соответствующий XML-схеме ответа банк.сервиса).
- Если в запросе из «1С:Предприятия 8» о готовых к передаче транспортных контейнерах указать «Отметку времени» (указывается значение даты и времени сервера Банка с точностью до секунды), то именно с этого момента времени будет формироваться список уникальных идентификаторов (в формате GUID), подготовленных к передаче в хронологическом порядке.
Для того, чтобы получить список GUID всех когда-либо сформированных транспортных контейнеров на банковской стороне, параметр «Отметка времени» в запросе не передается.
Пример запроса получения списка уникальных идентификаторов транспортных контейнеров:
GET http://testdirectbank.1c.ru/go/GetPackList?date=27.04.2021%2000%3A00%3A00 HTTP/1.1 Host: testdirectbank.1c.ru:80 User-Agent: 1C+Enterprise/8.3 Accept: */* X-1C-Request-UID: 4ec72f9f-3b02-42d9-8b2d-57034d33dc51 Accept-Charset: UTF-8 APIVersion: 2.3.2 CustomerID: 24102018 SID: c0f6a4d5-c10d-4dfb-84f0-922fcb1b36e9
Пример успешного ответа на запрос получения списка уникальных идентификаторов:
HTTP/1.1 200 OK Server: nginx Date: Tue, 27 Apr 2021 11:59:09 GMT Content-Length: 570 Proxy-Connection: Keep-Alive Via: 1.1 FWD9 Connection: Keep-Alive
<?xml version="1.0" encoding="UTF-8"?> <ResultBank xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" formatVersion="2.3.2" userAgent="DirectBankService"> <Success> <GetPacketListResponse TimeStampLastPacket="2021-04-27T14:59:10"> <PacketID>842c67fe-a514-494a-81d6-f27655e9504e</PacketID> <PacketID>f3bd5fd8-5078-4466-8706-57fb267420c5</PacketID> <PacketID>9b77d006-3748-44be-9bdc-2a7521b5bbdf</PacketID> </GetPacketListResponse> </Success> </ResultBank>
Система «1С:Предприятие 8» после получения списка GUID готовых к передаче транспортных контейнеров запрашивает конкретный транспортный контейнер по его GUID (запрос на ресурс Банка производится HTTP-методом GET — метод GetPack). В синхронном режиме банковская система возвращает либо ошибку, либо транспортный контейнер (XML-файл, соответствующий XML-схеме ответа банк.сервиса).
Далее происходит разбор содержимого транспортного контейнера уже в системе «1С:Предприятие 8».
Метод GetPack (HTTP-метод GET)
Заголовки:
-
Host: <Адрес ресурса банка>
-
Content-Type: application/xml; charset=utf-8
-
CustomerID: <Уникальный идентификатор Клиента, содержащий только ANSI-символы>
-
SID: <Идентификатор авторизованной сессии>
-
APIVersion: <Версия API обмена данными>
Адрес запроса:
- https://<Адрес ресурса банка>/GetPack?id=< GUID транспортного контейнера>
Тело запроса:
- ПУСТО
Успешный ответ:
- HTTP/1.1 200 OK
- Content-Type: application/xml; charset=utf-8
- Content: < XML-файл, соответствующий XML-схеме ответа банк.сервиса>
Параметры запроса:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
Host | string | [1] | Адрес ресурса банка |
CustomerID | string | [1] | Уникальный идентификатор Клиента, содержащий только ANSI-символы |
SID | IDType | [1] | Идентификатор авторизованной сессии |
APIVersion | FormatVersionType | [1] | Версия API обмена данными |
Параметры ответа:
Параметр | Тип | Кратность | Описание |
---|---|---|---|
ResultBank | ResultBank | [1] | Ответ банка |
Пример запроса получения транспортного контейнера:
GET http://testdirectbank.1c.ru/go/GetPack?id=9b77d006-3748-44be-9bdc-2a7521b5bbdf HTTP/1.1 Host: testdirectbank.1c.ru:80 User-Agent: 1C+Enterprise/8.3 Accept: */* X-1C-Request-UID: 76f78e37-3f57-440a-8400-48f541607720 Accept-Charset: UTF-8 APIVersion: 2.3.2 CustomerID: 24102018 SID: c0f6a4d5-c10d-4dfb-84f0-922fcb1b36e9
Пример успешного ответа на запрос получения транспортного контейнера:
HTTP/1.1 200 OK Server: nginx Date: Tue, 27 Apr 2021 11:59:10 GMT Content-Length: 1837 Proxy-Connection: Keep-Alive Via: 1.1 FWD9 Connection: Keep-Alive
<?xml version="1.0" encoding="UTF-8"?> <ResultBank xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" formatVersion="2.3.2" userAgent="DirectBankService"> <Success> <GetPacketResponse id="9b77d006-3748-44be-9bdc-2a7521b5bbdf" formatVersion="2.3.2" creationDate="2021-04-27T14:59:10"> <Sender> <Bank bic="041111111" name="1С:БАНК"/> </Sender> <Recipient> <Customer id="24102018" name="ООО "Торговый дом"" inn="1001156517" kpp="100101001"/> </Recipient> <Document id="7a758615-f8c0-434c-a056-fc93cb89672e" dockind="02" formatVersion="2.3.2"> <Data fileName="FileFromBank">77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTdGF0 dXNEb2NOb3RpY2UgeG1sbnM9Imh0dHA6Ly9kaXJlY3RiYW5rLjFjLnJ1L1hNTFNj aGVtYSIgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1h IiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWlu c3RhbmNlIiBpZD0iN2E3NTg2MTUtZjhjMC00MzRjLWEwNTYtZmM5M2NiODk2NzJl IiBmb3JtYXRWZXJzaW9uPSIyLjMuMiIgY3JlYXRpb25EYXRlPSIyMDIxLTA0LTI3 VDE0OjU5OjA5IiB1c2VyQWdlbnQ9IkRpcmVjdEJhbmtTZXJ2aWNlIj4NCgk8U2Vu ZGVyPg0KCQk8QmFuayBiaWM9IjA0MTExMTExMSIgbmFtZT0iMdChOtCR0JDQndCa Ii8+DQoJPC9TZW5kZXI+DQoJPFJlY2lwaWVudD4NCgkJPEN1c3RvbWVyIGlkPSIy NDEwMjAxOCIgbmFtZT0i0J7QntCeICZxdW90O9Ci0L7RgNCz0L7QstGL0Lkg0LTQ vtC8JnF1b3Q7IiBpbm49IjEwMDExNTY1MTciIGtwcD0iMTAwMTAxMDAxIi8+DQoJ PC9SZWNpcGllbnQ+DQoJPEV4dElEPjI0MjllNWQzLWEwZjEtNDU5Mi05YzllLTYy NzQwZmY1OWZkNDwvRXh0SUQ+DQoJPFJlc3VsdD4NCgkJPFN0YXR1cz4NCgkJCTxD b2RlPjAxPC9Db2RlPg0KCQkJPE1vcmVJbmZvPtCi0LXRgdGCINCy0YvQv9C+0LvQ vdC10L3QviDRg9GB0L/QtdGI0L3QvjwvTW9yZUluZm8+DQoJCTwvU3RhdHVzPg0K CTwvUmVzdWx0Pg0KPC9TdGF0dXNEb2NOb3RpY2U+</Data> </Document> </GetPacketResponse> </Success> </ResultBank>
Проверка работоспособности обмена электронными документами
- На этапе отладки или профилактических работ часто возникает потребность проверить доступность банковского сервиса, не приступая к штатному обмену электронными документами. Для таких целей предназначен специальный вид электронного документа.
- По команде в «1С:Предприятии 8» формируется электронный документ «Запрос-зонд» (XML-файл, соответствующий XML-схеме запроса-зонда).
- Если используется электронная подпись на стороне «1С:Предприятия 8» (см. раздел «Обеспечение безопасности данных»), то система предложит пользователю подписать электронный документ.
- Электронный документ «Запрос-зонд» с электронной подписью (если используется, см. раздел «Обеспечение безопасности данных») помещаются в транспортный контейнер (XML-файл, соответствующий XML-схеме транспортного контейнера), согласно настройкам обмена между Клиентом и Банком (в частности, применение сжатия данных на прикладном уровне).
- Далее передача данных в Банк проходит согласно протоколу, описанному в разделе «Порядок взаимодействия на транспортном уровне».
- Если отправка прошла успешно, то система «1С:Предприятие 8» изменит статус электронного документа «Запрос-зонд» на «Отправлен».
- После получения из Банка ответа по результатам обработки транспортного контейнера система «1С:Предприятие 8» назначит электронному документу запроса статус «Доставлен».
- По результатам контроля и обработки запроса-зонда на стороне Банка всегда формируется электронный документ «Извещение о состоянии электронного документа» (XML-файл, соответствующий XML-схеме извещения о состоянии электронного документа), который содержит:
- либо ошибку обработки запроса (Error) с соответствующим описанием исключительной ситуации;
- либо (Status) код «01», означающий что проверка успешно завершена.
- Если используется электронная подпись (см. раздел «Обеспечение безопасности данных»), то электронный документ «Извещение о состоянии электронного документа» подписывается.
- Банковская система формирует транспортный контейнер (XML-файл, соответствующий XML-схеме транспортного контейнера), согласно настройкам обмена между Клиентом и Банком (в частности, применение сжатия данных на прикладном уровне) и ставит в очередь на передачу в «1С:Предприятие 8».
- Далее получение данных из Банка проходит согласно протоколу, описанному в разделе «Порядок взаимодействия на транспортном уровне».
- Статус запроса-зонда система «1С:Предприятие 8» сообщит пользователю после успешного разбора входящего транспортного контейнера из Банка.
Пример XML-файла запроса-зонда
- XML-файл запроса-зонда
<?xml version="1.0" encoding="UTF-8"?> <Probe xmlns="http://directbank.1c.ru/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="2429e5d3-a0f1-4592-9c9e-62740ff59fd4" formatVersion="2.3.2" creationDate="2021-04-27T14:58:55" userAgent="1С - БЭД: 1.9.2.10; БиблиотекаЭлектронныхДокументовДемо: 1.9.2.10"> <Sender id="24102018" name="ООО "Торговый дом"" inn="1001156517" kpp="100101001"/> <Recipient bic="041111111" name="1С:Банк"/> </Probe>
Процедура синхронизации 1С с банковским сервисом
При синхронизации 1С с банковским сервисом последовательно выполняются процедуры отправки всех подготовленных в 1С транспортных контейнеров с данными электронных документов в банк и получения всех транспортных контейнеров документов из банка.
Процедура отправки в банк выполняется в цикле. Для каждого подготовленного к отправке транспортного контейнера будут вызваны следующие методы:
- Аутентификация:
- Для аутентификации по логину и паролю, только Logon;
- Для аутентификации по логину и паролю с двухфакторной авторизацией — Logon, а затем — LogonOTP.
- Отправка транспортного контейнера с данными электронных документов из 1С — SendPack.
При получении электронных документов из банковского сервиса в 1С будут последовательно вызваны следующие методы:
- Аутентификация:
- Для аутентификации по логину и паролю, только Logon;
- Для аутентификации по логину и паролю с двухфакторной авторизацией — Logon, а затем — LogonOTP.
- Запрос на получение списка GUID транспортных контейнеров, готовых к отправке клиенту банком — GetPackList.
- Для каждого GUID из ранее полученного списка запрос на получение транспортного контейнера — GetPack.
Предложите, как улучшить StudyLib
(Для жалоб на нарушения авторских прав, используйте
другую форму
)
Ваш е-мэйл
Заполните, если хотите получить ответ
Оцените наш проект
1
2
3
4
5
15.1. Способ взаимодействия резидентов (нерезидентов) с уполномоченными банками при представлении документов и информации, требование о представлении которых установлено настоящей Инструкцией, определяется по согласованию уполномоченного банка с резидентом, с нерезидентом.
15.2. Документы, требование о представлении которых установлено настоящей Инструкцией, представляются резидентом в уполномоченный банк в подлиннике или в форме надлежащим образом заверенной копии.
Порядок оформления (заверения) копий документов определяется по согласованию уполномоченного банка с резидентом.
15.3. Документы и информация, связанные с проведением операций, а также иные документы и информация, требование о представлении которых установлены настоящей Инструкцией, представляются резидентом (нерезидентом) в уполномоченный банк в электронном виде и (или) на бумажном носителе в порядке, согласованном уполномоченным банком с резидентом (нерезидентом).
15.4. Документы, указанные в настоящей Инструкции, подписываются ответственным лицом и заверяются на бумажном носителе оттиском печати (штампа) уполномоченного банка, используемой для целей валютного контроля (далее — печать уполномоченного банка).
Ответственное лицо и печать уполномоченного банка утверждаются распорядительным актом уполномоченного банка.
15.5. При обмене документами и информацией на бумажном носителе документы, оформляемые в соответствии с настоящей Инструкцией физическим лицом — резидентом, являющимся индивидуальным предпринимателем, или физическим лицом, занимающимся в установленном законодательством Российской Федерации порядке частной практикой, подписываются этим физическим лицом либо его представителем и заверяются оттиском печати такого физического лица — резидента (при ее наличии).
(в ред. Указания Банка России от 25.01.2022 N 6062-У)
(см. текст в предыдущей редакции)
15.6. При обмене документами и информацией на бумажном носителе документы, оформляемые в соответствии с настоящей Инструкцией юридическим лицом — резидентом, подписываются лицом (лицами), наделенным (наделенными) правом подписи, заявленной в карточке с образцами подписей и оттиска печати, и заверяются оттиском печати юридического лица (при ее наличии).
(в ред. Указания Банка России от 25.01.2022 N 6062-У)
(см. текст в предыдущей редакции)
Документы, оформляемые в соответствии с настоящей Инструкцией юридическим лицом — резидентом, могут быть подписаны сотрудником юридического лица — резидента, в случае его наделения правом подписания указанных документов на основании распорядительного акта, доверенности, выдаваемой в порядке, установленном законодательством Российской Федерации.
15.7. Документы, направляемые резидентом в уполномоченный банк в электронном виде, подписываются электронной подписью резидента.
15.8. Датой представления резидентом в уполномоченный банк документов и информации, которые указаны в настоящей Инструкции, считается дата их получения уполномоченным банком, зафиксированная в соответствии с порядком уполномоченного банка о регистрации (приеме) поступающих (входящих) документов, включая документы в электронном виде.
15.9. Документы, которые направляются уполномоченным банком резиденту в соответствии с настоящей Инструкцией, должны иметь:
на бумажном носителе на каждой странице — подпись ответственного лица и печать уполномоченного банка;
в электронном виде — электронную подпись ответственного лица или электронную подпись уполномоченного банка.
(в ред. Указания Банка России от 05.07.2018 N 4855-У)
(см. текст в предыдущей редакции)
15.10. В случае обмена между уполномоченным банком и резидентом в электронном виде документами и информацией, требование о представлении которых предусмотрено настоящей Инструкцией, порядок такого обмена, установление процедуры признания аналога собственноручной подписи, в том числе электронной подписи отправителя (электронная подпись), определение способов передачи и регламентов приема (передачи), осуществление контроля целостности и полноты электронного сообщения, ответственность за достоверность информации, а также подлинность электронной подписи, направление электронного сообщения о принятии (непринятии) с информацией об отправителе и о получателе электронного сообщения, дата его отправления и дата его принятия (непринятия), причины отказа в принятии определяются уполномоченным банком по согласованию с резидентом.
15.11. При обмене документами и информацией в электронном виде могут передаваться как документы, сформированные в электронном виде, так и полученные с использованием сканирующих устройств изображения документов, оформленных первоначально на бумажном носителе.
15.12. При обмене документами и информацией в электронном виде между уполномоченным банком и резидентом должны обеспечиваться порядок и способы защиты при передаче от несанкционированного доступа третьих лиц.
15.13. Требования настоящей главы распространяются на представление документов и (или) информации уполномоченным банкам физическими лицами — резидентами в случаях, указанных в пункте 2.26 настоящей Инструкции, а также новыми кредиторами — физическими лицами в случаях, указанных в пункте 10.17 настоящей Инструкции.
(п. 15.13 в ред. Указания Банка России от 25.01.2022 N 6062-У)
(см. текст в предыдущей редакции)
Подключить клиент-банк к 1С — это значительно облегчить бухгалтерскую работу как в части ввода данных по совершенным банковским операциям в программу, так и в части формирования распорядительных документов для банка. Все это можно не набивать вручную, а автоматически подгружать из одной программы в другую. О том, с чего начать и как наладить эффективный процесс, — в этой статье.
Какие бывают способы взаимодействия между 1С-Бухгалтерией и банк-клиентом
Широкое распространение банковских программ, позволяющих руководить счетами без визитов в банк, подписания платежек вручную и подобных «устаревших» действий, разумеется, не осталось незамеченным и на рынке бухгалтерских программ. Сегодня практически в любую достаточно проработанную бухпрограмму встроены опции, позволяющие работать с системами клиент-банкинга. И лидер в таких технологиях, безусловно, 1С. Для примера, во многих банковских программах модуль импорта/экспорта документов прописан именно для 1С. Если фирма-клиент пользуется какой-то другой программой для бухучета — зачастую фирме следует обратиться к программистам, чтобы написать соответствующее дополнение к своему банк-клиенту.
Таким образом, если у вас 1С и банк-клиент — можно считать, что вам повезло. Воспользовавшись этим материалом, вы сможете значительно оптимизировать свою работу с банковской документацией.
Итак, сначала нужно выбрать метод взаимодействия между 1С и клиент-банком. Таких методов 2:
- Обмен документами между двумя системами выполняется с участием пользователя. Работа ведется по алгоритму «выгрузка файла — загрузка файла». Данные вручную выгружаются из одной системы и загружаются в другую для дальнейшей обработки.
- Обмен происходит автоматически в режиме прямого взаимодействия. То есть задача запускается 1 раз, и программы начинают обмениваться информацией. При этом у пользователя практически исчезает необходимость открывать (и даже отдельно устанавливать) сам банк-клиент — все опции становятся доступны через 1С. Такой подход требует дополнительного участия технических специалистов банка и некоторых дополнительных действий от клиента. О них и расскажем далее.
Согласовываем работу с банком
Чтобы наладить работу с банковскими документами напрямую, следует:
- Сообщить о таком намерении банку и уточнить, что следует предпринять, чтобы это стало возможным. Может понадобиться:
- наличие дополнительного материально-технического обеспечения;
- установка дополнительного ПО (которое предоставит банк).
- Согласовать с банком, будет использоваться электронная подпись клиент-банка при работе в 1С или не будет (от этого зависит порядок дальнейшей настройки).
- Определить с банком вариант, по которому будет осуществляться взаимодействие. Их обычно 2:
- подключение к банковскому серверу напрямую:
- через дополнительную обработку:
Заметим, что для клиента — пользователя настроенной системы отличия минимальны и заметны в основном в процессе начальной настройки.
Настраиваем 1С для работы напрямую
Сразу оговоримся — предлагаемый процесс настройки предназначен не для клиент-банкинга ПАО «Сбербанк». У Сбербанка есть собственный регламент подключения, инструкциями по которому снабжают клиентов. Кроме того, подробная инструкция именно по подключению к Сбербанку есть на сайте 1С.
Для остальных банков — сначала настраиваем встроенный в программу DirectBank (программная возможность установить соединение с ресурсом банка).
Выход в настройщик DirectBank можно осуществить двумя путями:
- Через меню «Администрирование» выходим в «Обмен электронными документами». В открывшемся окошке настройки ставим галочки:
- Обмен с банками
- Обмен с банками по технологии DirectBank (прямое подключение)
- Электронная подпись (если значок не был установлен ранее и по требованию банка вы будете работать с электронной подписью)
ВАЖНО! Сертификат электронной подписи и ПО для ее работы скорее всего понадобится устанавливать отдельно (в формате данной статьи мы этого аспекта не касаемся).
Затем из этого же окошка заходим в настройки DirectBank. Откроется форма примерно такого вида и содержания (зависит от модификации программы):
В форме выбираете вариант «Прямое соединение с сервером» и указываете всю требуемую информацию, включая ту, что предоставил банк, в том числе адрес сервера и идентификаторы ресурсов для отправки и получения. Индивидуальный порядок зависит от конкретного банка. Иногда необходимые идентификационные сведения можно получить через интернет, иногда техподдержка банка может снабдить специальным файликом для настройки работы.
- Второй вариант, который доступен во многих версиях 1С, — настройка DirectBank непосредственно из карточки введенного в программу банковского счета. Открываем нужную карточку счета, который хотим подключить. В карточке ищем «Подключить DirectBank» (обычно внизу окна). Нажимаем и попадаем либо в форму настройки, которая рассмотрена выше (и действуем аналогично), либо в «Помощник прямого подключения».
Если вышли в Помощнике — замечательно. Это означает, что ваш банк входит в группу банков, подавших заявку на включение информации о его настройках директ-банкинга в 1С, и 1С может выполнить все автоматически. Укажите Помощнику «Автоматически получить настройки с сервера банка», проверьте, работает ли интернет, и просто нажмите «Далее».
После установки настроек по любому из этих сценариев 1С автоматически выполнит тестирование настроенного обмена. Если в окошке появилась надпись «Прямой обмен подключен успешно!» — то все получилось. Если возникают проблемы — лучше всего их решать через техническую поддержку вашего банка.
Нюансы настройки 1С для работы через допобработку
В целом процесс подключения через программу клиент-банкинга похож на прямое подключение. Разница в том, что:
- В форме «Обмен электронными документами» нужно указывать не параметры сервера банка, а параметры допобработки (их, как и саму обработку, тоже должен предоставить банк). Для этого в окне настройки выбираем вариант подключения «Через допобработку».
- На закладке «Подписи п/п» задаем параметры сертифицированных подписей для клиент-банка (в зависимости от того, сколько человек имеют право ставить подписи в платежках и сколько подписей в ваших платежках — 1 или 2).
Нюанс по экспорту выписок из клиент-банка в 1С
Исходя из написанного выше, ручная перегрузка данных между банк-клиентом и 1С, конечно, уже вчерашний день. Напомним, что она выполняется через создание специальных текстовых файлов в одной программе и перегрузку этих файлов во вторую. Делается это посредством меню «Экспорт/импорт документов», которые есть практически в любой программе. Кроме того, во всех банк-клиентах, как уже указывалось в начале статьи, есть встроенная функция обмена документами с 1С.
Однако некоторые нюансы, связанные с загрузкой выписок банка в 1С, могут оказаться полезны и при настройке электронного обмена через клиент-банк (допобработку). Поэтому на одном аспекте остановимся подробнее, а именно на опции автоматического формирования новых элементов.
Настройку 1С под загрузку файлов из банковской программы проводить тоже нужно заранее, учитывая такие нюансы:
- Корректно указывать в настройках название банка, название программы клиент-банка, стандартное имя для файлов выгрузки и загрузки. Напомним, что это делается в меню настроек обмена с банком, путь: главное меню — «Банк и касса» — «Платежные поручения» — «Настройка обмена с клиент-банком».
- В том же меню настроек нужно снять галочку с варианта загрузки с автоматическим созданием ненайденных элементов. Вот так:
«□ Автоматическое создание ненайденных элементов».
Для чего это нужно? Когда файлы, полученные из клиент-банка, подгружаются в 1С — 1С выполняет их проверку и соотнесение с данными своих справочников. В частности, контрагентов. При этом если совпадений сведений по какому-то контрагенту, с точки зрения программы, недостаточно, то при наличии галочки 1С сама создаст нового контрагента по данным, полученным из клиент-банка. В результате часто происходит дублирование одного и того же контрагента в справочниках 1С.
Пример
ООО «Рапида» открыло новый банковский счет и произвело оплату ООО «Корона» с этого счета. ООО «Корона» выгрузило данные из своего банк-клиента в 1С. 1С ООО «Корона» не обнаружила по платежу от ООО «Рапида» достаточного числа совпадений с существующей карточкой ООО «Рапида» (другие банковские реквизиты) и сформировала автоматически еще одного контрагента ООО «Рапида» с новыми реквизитами. То есть после выгрузки бухгалтеру понадобится сначала ошибку обнаружить, потом вручную в несколько итераций исправлять. Если же галочка автоматического создания документов снята, то 1С выдаст табличку-предупреждение с непонятными ей элементами на этапе загрузки данных в программу (и будет ждать участия пользователя в дальнейших действиях). Понадобится только скорректировать информацию в оперативном режиме.
Итоги
Среди вариантов работы клиент-банка с 1С — прямое подключение оптимально. Режим выгрузки-загрузки данных в виде текстовых файлов понемногу становится историей.
Еще о работе с 1С читайте:
- «Как проходит сдача электронной отчетности через 1С?»;
- «Как сформировать отчет СЗВ-М в 1С (нюансы)?».