Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Интеграция с API Диадок #1097

Open
MaximGlazunov opened this issue Sep 12, 2024 · 1 comment
Open

Интеграция с API Диадок #1097

MaximGlazunov opened this issue Sep 12, 2024 · 1 comment

Comments

@MaximGlazunov
Copy link

Добрый день.

Планируем уйти от использования компоненты диадок, и интегрироваться через HTTP-запросы на 1С.
В документации написано, что сперва нужно получить авторизационный токен с помощью метода Authenticate.
Пишу все как в документации (https://developer.kontur.ru/docs/diadoc-api/http/Authenticate.html):

Соединение = Новый HTTPСоединение("diadoc-api.kontur.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/v3/Authenticate?type=certificate HTTP/1.1");
Запрос.Заголовки.Вставить("Host", "diadoc-api.kontur.ru");
Запрос.Заголовки.Вставить("Content-Type","octet-stream");
Запрос.Заголовки.Вставить("Content-Length", "1252");
Запрос.Заголовки.Вставить("Connection", "Keep-Alive");
Запрос.Заголовки.Вставить("Authorization", "DiadocAuth ddauth_api_client_id=" + "КлючРазработчика");
Запрос.УстановитьТелоИзДвоичныхДанных(ДД);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);

где ДД = СертификатКриптографии.Выгрузить();

Код ответа приходит 400, что бы я ни старался изменить.
Подскажите, пожалуйста, где у меня ошибка?
Может дело в формате ключа разработчика? Сейчас он в формате "API-Буквы_И_Цифры_С-Дефисами".
Его тоже пробовал по разному указывать, и возвращался код 401.

@GilimkhanovDenis GilimkhanovDenis transferred this issue from diadoc/diadocsdk-1c-docs Sep 12, 2024
@MaximGlazunov
Copy link
Author

Вот так сработало, пришел код состояния 200:
Соединение = Новый HTTPСоединение("diadoc-api.kontur.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос();
Запрос.Заголовки.Вставить("POST /v3/Authenticate?type=certificate HTTP/1.1");
Запрос.Заголовки.Вставить("Host", "diadoc-api.kontur.ru");
Запрос.Заголовки.Вставить("Content-Type","octet-stream");
Запрос.Заголовки.Вставить("Content-Length", "1252");
Запрос.Заголовки.Вставить("Connection", "Keep-Alive");
Запрос.Заголовки.Вставить("Authorization", "DiadocAuth ddauth_api_client_id=API-d86150e6-07ff-4e48-beb5-6fde4cb6a64b");
Запрос.УстановитьТелоИзДвоичныхДанных(ДД); //здесь пробовал передавать и СертификатКриптографии.ОткрытыйКлюч - ничего не меняется

Но проблему это не решило: никакой зашифрованной строки в ответе нет.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant