HTTP API Диадок. Пример авторизации и обращения к методам посредством POST и GET запросов


Поставили задачу через HTTP API Диадок (diadoc-api.kontur.ru) получить статус документа. Посредством POST и GET запросов.

Для работы с HTTP API нужно получить Ключ разработчика (ddauth_api_client_id).

Описание статусов документа:

http://api-docs.diadoc.ru/ru/latest/proto/utd/UniversalDocumentMetadata.html

1. Сначала нужно авторизоваться в API и получить token.

-Делаю post запрос метод /Authenticate

-В параметры метода нужно указать логин и пароль входа на сайт диадока.

"/Authenticate?login="+ЛогинНаСайтДиадок+"&password="+ПарольНаСайтДиадок;

-В заголовки подставляю Ключ разработчика.

HTTPЗапрос2.Заголовки.Вставить("Authorization", "DiadocAuth ddauth_api_client_id="+ddauth_api_client);

-в теле ответа 200 приходит token.

2. Ключ и Token нужно Подставлять в заголовок любых последующих методов.

HTTPЗапрос2.Заголовки.Вставить("Authorization", "DiadocAuth ddauth_api_client_id="+ddauth_api_client+",ddauth_token="+token);

-посылаю Get запрос метод /V3/GetDocument в параметры которого нужно передать

boxId="+boxId+"&messageId="+messageId+"&entityId="+entityId

boxId – указан в свойствах документа ИдентификаторЯщикДокументаВДиадок

А вот messageId и entityId нужно получить вызвав  функцию Документ_2_DocumentID(Документ)

 

 

(Эта функция из ИдентификаторДокументаВДиадок) делает большой Идентификатор, который если разделить пополам по 36 символов, то получим искомые параметры.

Метод GetDocument возвращает в теле ответа json, который преобразуется в Структуру, из которой можно получить все свойства документа.

 

 

Обработку тестировал на платформе 1С:Предприятие 8.3 (8.3.10.2466).

Конфигурация УПП. В обработке есть запрос к РегистрСведений.ЗначенияСвойствОбъектов. Если его нет в конфигурации, то его нужно заменить на регистр, который хранит свойства объектов.

4 Comments

  1. Yakud3a

    Получить легко, как отправить документ?

    Reply
  2. Rustig

    (0) прикольно, пригодится

    Reply
  3. slitov

    А саму тушку документа как я понимаю не во всех случаях получается загрузить. Например счета на оплату все в pdf, хочется их сразу загружать в 1С.

    Reply
  4. dimaster

    (3) https://infostart.ru/public/944070/ вот можно использовать, наверное

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *