Работаем с API 1С: Кабинет сотрудника - на примере Postman

12.05.24

Интеграция - WEB-интеграция

Методы API 1С: Кабинет сотрудника указаны в Swagger, который легко гуглится и довольно понятно описан. Когда я только начинал работу с ним, мне казалось, что Swagger будет достаточно не только для знакомства с сервисом, но и для работы с моими приложениями. Но оказалось, что это не так. Даже получив bearer-токен, я так и не смог достучаться до своего приложения: в ответ на запросы Swagger отдавал 400-ые ответы. Техподдержка прокомментировала, что это нормально: Swagger демонстрирует методы, но запрос именно к своему приложению через Swagger не сделать. Ниже я опишу, что нужно сделать, чтобы обратиться через API к своему приложению. Данные актуальны по состоянию на май 2024 г.

Методы API 1С: Кабинет сотрудника указаны в Swagger, который легко гуглится и довольно понятно описан.

Когда я только начинал работу с ним, мне казалось, что Swagger будет достаточно не только для знакомства с сервисом, но и для работы с моими приложениями. Но оказалось, что это не так. Даже получив bearer-токен, я так и не смог достучаться до своего приложения: в ответ на запросы Swagger отдавал 400-ые ответы. Техподдержка прокомментировала, что это нормально: Swagger демонстрирует методы, но запрос именно к своему приложению через Swagger не сделать.

Ниже я опишу, что нужно сделать, чтобы обратиться через API к своему приложению. Данные актуальны по состоянию на май 2024 г.

  1. Установка Postman

Можете использовать ваши собственные средства для создания запросов к API 1С: Кабинет сотрудника, - я же буду для наглядности использовать Postman.

Скачайте дистрибутив по ссылке, установите и зарегистрируйтесь. Нам будет достаточно возможностей бесплатной версии.

Создайте новое рабочее пространство (workspace). Оно потребуется нам для генерации bearer-токена. Со слов разработчиков, срок жизни токена - один час, поэтому при долгой работе нам потребуется делать генерацию регулярно, а значит, запрос должен быть под руками.

  1. Получение bearer-токена.

Для получения токена нам нужно знать данные аутентификации администратора 1С: Кабинет сотрудника. Получить их можно разными способами. Мы воспользуемся обработкой “Получение технических данных для интеграции с ДО 3”. Мы получили ее от технической поддержки, скачать можно здесь.

Обработка запускается через Файл - Открыть. Результат - уже известная информация (адрес приложения) и данные для авторизации (идентификатор и секрет).

 

 

Насколько я понимаю, эти данные остаются без изменений при использовании приложения.

Теперь мы можем генерировать bearer.

В созданном пространстве Postman создайте новый запрос:

  • Тип запроса - post
  • Текст запроса - https://vash_adres.1c-cabinet.ru/auth/oidc/token/, где vash_adres - это адрес вашего приложения, без идентификатор
  • Тип данных - x-www-form-urlencoded
  • в body укажите key: grant_type, value: client_credentials
  • в Authorization выберите тип Basic Auth и укажите те самые данные авторизации: полученный идентификатор в поле Username, а полученный секрет в поле Password.

Пример - на скриншотах:

 

 

 

Если все правильно сделано, то в ответ придет код 200 и собственно токен Bearer:

 

 

Скопируйте все, что находится в значении id_token между кавычками. Это и есть bearer. Напомню, что срок жизни кода - всего час, поэтому запрос на его генерацию будет одним из ваших любимых.

 

Импорт методов Swagger

Теперь перейдем к самому интересному - к работе с методами API 1С: Кабинет сотрудника.

Мы можем копировать из Swagger те методы, которые нам интересны, - а можем сразу импортировать все в Postman.

И это не сложно. Импорт делается буквально в два клика. Создайте новое пространство и проведите импорт методов. Для этого нажмите Import и вставьте в качества источника адрес Swagger - https://api.1c-cabinet.ru/ess-api.yml, а затем нажмите Import:

 

 

В результате слева у вас отобразится список доступных методов.

 


Работа с запросами

И наконец, вот она - наша цель, запросы к сервису. Вы может прочитать документацию каждого метода (как в Swagger, так и в Postman):

 

 

Но самое главное - можете использовать метод. Для этого нужно выбрать метод, задать нужные параметры. Посмотрим, как это сделать, на примере метода /persons/active - он возвращает список ID активных физических лиц, - тех, на кого в сервисе заведен личный кабинет.

  1. В строке запроса укажем:

- актуальный адрес приложения, - вместе “applications” и идентификатором:
https://testkatya.1c-cabinet.ru/applications/053-460/

- параметр api + версия:
/api/v1.0/
- собственно метод:

/persons/active

Результат - запрос: https://testkatya.1c-cabinet.ru/applications/053-460/api/v1.0/persons/active

 

 

  1. В параметрах авторизации выберем Type = Bearer Token и значение = тот самый токен, который мы получили ранее.



 

  1. И наконец, в Headers добавим строку:
    Key: formatVersion; Value: 1.0

 

 

Всё, наш запрос готов. Отправляем его большой синей кнопкой Send.

 

Результат запроса.

Если всё сделано верно, то сервис вернет вам 200-ый ответ и результат запроса. В случае с /persons/active мы получим список id активных физических лиц.

 

 

Дальше эту информацию можно использовать в других методах. Например, для деактивации физического лица из сервиса нужно обратиться к методу PUT /persons/inactive. В Headers указать formatVersion; Value: 1.0, в авторизации указать токен bearer, а в Body - один или несколько полученных id (в кавычках и через запятую).

 

 

Надеюсь, этот материал будет вам полезен.

Кабинет сотрудника API Swagger Postman

См. также

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    1235    1    1    

4

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    18354    20    22    

18

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20564    13    19    

18

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    320    2    0    

5

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    2474    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sergant 54 12.05.24 19:11 Сейчас в теме
Отлично описано. Так держать.
2. malikov_pro 1326 14.05.24 08:41 Сейчас в теме
Попробуйте для переноса полученного токена в переменную использовать скрипт.
https://infostart.ru/1c/articles/1282851/
Оставьте свое сообщение