Интеграция 1С с честным знаком
Доброго времени суток. Настраиваем интеграцию 1С и Честного знака. В настройка СУЗ возникает ошибка "При выполнении запроса api/v3/true-api/auth/simpleSignIn/f029cc6d-4d70-4c26-b075-8cb43a5385dc возникла ошибка. Код состояния HTTP: 400. Текст ошибки: { "error_message": "Ошибка аутентификации СУЗ: Сервис вернул пустой ответ" }."
По теме из базы знаний
- Онлайн-кассы для 1С 7.7 и Обмен 7.7 c Честный ЗНАК (ГИСМТ, ЦРПТ, ЭДО)
- SynchroWB — интеграция 1С и Wildberries: автоматизация заказов и остатков по API с УТ, КА, ERP, УНФ, Розница 3
- 1С 7.7. Разрешительный режим на кассах. Честный знак. Онлайн проверка с 01.04.2024. Офлайн проверка ЛМ ЧЗ с 01.03.2025. Три варианта отправки API запросов, два из них работают на старых Windows
- Интеграция 1С с OZON от 3 600 руб.
- 1С 8. Разрешительный режим на кассах. Честный знак. Онлайн проверка с 01.04.2024. Офлайн проверка ЛМ ЧЗ с 01.03.2025 (обычные и управляемые формы) плюс собственный сервис онлайн и офлайн проверки ЛМ ЧЗ
Найденные решения
Так делаете:
Соединение = Новый HTTPСоединение("markirovka.crpt.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json; charset=UTF-8");
Заголовки.Вставить("Accept", "application/json");
HTTPЗапрос = Новый HTTPЗапрос("/api/v3/true-api/auth/simpleSignIn",Заголовки);
ЗаписьJOIN = Новый ЗаписьJSON;
ЗаписьJOIN.УстановитьСтроку();
ДанныеДляЗапроса = Новый Структура;
ДанныеДляЗапроса.Вставить("uuid",УИД);
ДанныеДляЗапроса.Вставить("data",ДанныеДляПолученияТокена);
ДанныеДляЗапроса.Вставить("inn",СокрЛП(Настройки.ИНН));
ЗаписатьJSON(ЗаписьJOIN,ДанныеДляЗапроса);
СтрокаДляЗапроса = ЗаписьJOIN.Закрыть();
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Так делаете:
Соединение = Новый HTTPСоединение("markirovka.crpt.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json; charset=UTF-8");
Заголовки.Вставить("Accept", "application/json");
HTTPЗапрос = Новый HTTPЗапрос("/api/v3/true-api/auth/simpleSignIn",Заголовки);
ЗаписьJOIN = Новый ЗаписьJSON;
ЗаписьJOIN.УстановитьСтроку();
ДанныеДляЗапроса = Новый Структура;
ДанныеДляЗапроса.Вставить("uuid",УИД);
ДанныеДляЗапроса.Вставить("data",ДанныеДляПолученияТокена);
ДанныеДляЗапроса.Вставить("inn",СокрЛП(Настройки.ИНН));
ЗаписатьJSON(ЗаписьJOIN,ДанныеДляЗапроса);
СтрокаДляЗапроса = ЗаписьJOIN.Закрыть();
Показать
Это кусок функции получения ТОКЕНа авторизации в ЧЗ. Вообще это должен быть целый модуль интеграции с ЧЗ. Первая функция подбирает сертификат (ЭЦП) для выбранной организации. Вторая используя сертификат зарегистрированный в ЧЗ создает 10 часовой ТОКЕН. Далее следует много функций получающих данные из ЧЗ и отправляющих данные в ЧЗ (в каждой передается ТОКЕН).
Такой ключ встречается трижды:
1.
2.
3.
1.
Функция ПараметрыЗапросаКлючаСессии(Организация = Неопределено) Экспорт
ПараметрыОтправкиHTTPЗапросов = ПараметрыОтправкиHTTPЗапросов(Неопределено, Истина);
ПараметрыЗапроса = ИнтерфейсАвторизацииИСМПКлиентСервер.ПараметрыЗапросаКлючаСессии();
ПараметрыЗапроса.Организация = Организация;
ПараметрыЗапроса.ПредставлениеСервиса = ПараметрыОтправкиHTTPЗапросов.ПредставлениеСервиса;
ПараметрыЗапроса.Сервер = ПараметрыОтправкиHTTPЗапросов.Сервер;
ПараметрыЗапроса.Порт = ПараметрыОтправкиHTTPЗапросов.Порт;
ПараметрыЗапроса.Таймаут = ПараметрыОтправкиHTTPЗапросов.Таймаут;
ПараметрыЗапроса.ИспользоватьЗащищенноеСоединение = ПараметрыОтправкиHTTPЗапросов.ИспользоватьЗащищенноеСоединение;
ПараметрыЗапроса.ИмяПараметраСеанса = ИмяДанныхКлючаСессии(ПредопределенноеЗначение("Перечисление.ТипыТокеновАвторизации.ИСМП"));
ПараметрыЗапроса.АдресЗапросаПараметровАвторизации = "api/v3/true-api/auth/key";
ПараметрыЗапроса.АдресЗапросаКлючаСессии = "api/v3/true-api/auth/simpleSignIn";
Возврат ПараметрыЗапроса
Показать2.
ПараметрыЗапросаКлючаСессииСУЗ(ПараметрыСУЗ) Экспорт
ПараметрыОтправкиHTTPЗапросов = ПараметрыОтправкиHTTPЗапросов(Неопределено, Истина);
ПараметрыЗапроса = ИнтерфейсАвторизацииИСМПКлиентСервер.ПараметрыЗапросаКлючаСессии();
ПараметрыЗапроса.Организация = ПараметрыСУЗ.Организация;
ПараметрыЗапроса.ПредставлениеСервиса = НСтр("ru = 'ГИС МТ (СУЗ)'");
ПараметрыЗапроса.Сервер = ПараметрыОтправкиHTTPЗапросов.Сервер;
ПараметрыЗапроса.Порт = ПараметрыОтправкиHTTPЗапросов.Порт;
ПараметрыЗапроса.Таймаут = ПараметрыОтправкиHTTPЗапросов.Таймаут;
ПараметрыЗапроса.ИспользоватьЗащищенноеСоединение = ПараметрыОтправкиHTTPЗапросов.ИспользоватьЗащищенноеСоединение;
ПараметрыЗапроса.ИмяПараметраСеанса = ИмяДанныхКлючаСессии(ПредопределенноеЗначение("Перечисление.ТипыТокеновАвторизации.СУЗ"));
ПараметрыЗапроса.ПроизводственныйОбъект = ПараметрыСУЗ.ПроизводственныйОбъект;
ПараметрыЗапроса.ВремяЖизни = 60 * 60 * 9; // 9 часов
ПараметрыЗапроса.АдресЗапросаПараметровАвторизации = "api/v3/true-api/auth/key";
ПараметрыЗапроса.АдресЗапросаКлючаСессии = СтрШаблон(
"api/v3/true-api/auth/simpleSignIn/%1",
ПараметрыСУЗ.ИдентификаторСоединения);
Возврат ПараметрыЗапроса
Показать3.
ПараметрыЗапросаКлючаСессии(Организация = Неопределено) Экспорт
ПараметрыОтправкиHTTPЗапросов = ПараметрыОтправкиHTTPЗапросов("", Истина);
ПараметрыЗапроса = ИнтерфейсАвторизацииИСМПКлиентСервер.ПараметрыЗапросаКлючаСессии();
ПараметрыЗапроса.Организация = Организация;
ПараметрыЗапроса.ПредставлениеСервиса = ПараметрыОтправкиHTTPЗапросов.ПредставлениеСервиса;
ПараметрыЗапроса.Сервер = ПараметрыОтправкиHTTPЗапросов.Сервер;
ПараметрыЗапроса.Порт = ПараметрыОтправкиHTTPЗапросов.Порт;
ПараметрыЗапроса.Таймаут = ПараметрыОтправкиHTTPЗапросов.Таймаут;
ПараметрыЗапроса.ИспользоватьЗащищенноеСоединение = ПараметрыОтправкиHTTPЗапросов.ИспользоватьЗащищенноеСоединение;
ПараметрыЗапроса.ИмяПараметраСеанса = "ДанныеКлючаСессииИСМП";
ПараметрыЗапроса.АдресЗапросаПараметровАвторизации = "api/v3/true-api/auth/key";
ПараметрыЗапроса.АдресЗапросаКлючаСессии = "api/v3/true-api/auth/simpleSignIn";
Возврат ПараметрыЗапроса
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот