Работаем с 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С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

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

60000 руб.

07.05.2019    34356    65    45    

26

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2346    2    0    

9

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

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

57600 руб.

26.11.2024    2094    1    1    

4

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

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

36000 руб.

03.08.2020    18897    21    22    

18

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

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

24000 руб.

27.09.2024    3641    3    2    

4

WEB-интеграция Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    18620    53    50    

29

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    704    3    1    

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