О программе Postman для тестирования API и для чего она нужна 1С-нику

24.09.19

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

Для чего нужна программа Postman для тестирования API и какая от него польза для 1С-программиста.

Postman это бесплатное приложение для создания и тестирования API - запросов.

Для чего необходим Postman 1С-нику:

1) Возможность протестировать работу API при помощи не-1С приложения. Часто при тестировании API не удается подключиться к серверу и возникает вопрос: может быть дело в специфических особенностях 1С? Если вы увидите, что 1С к API серверу не подключается, а Postman с похожими параметрами запроса работает - значит дело в особенностях настройки 1С. Если же и Postman-запрос не работает, то нужно читать документацию на API.

2) Возможность разговаривать с не-1Сными программистами на одном языке. Очень много программистов используют Postman и иногда достаточно просто прислать им скриншот Postman-а с настройками, которые не работают и вам ответят, прислав свой скриншот с настройками Postman, которые работают.

Если же начинаешь описывать 1С-ные параметры подключения к API не-1С программисту, он сразу впадает в ступор и говорит, что в 1С не разбирается и у него все работает.

3) Postman имеет более широкие стандартные настройки запросов API, что может натолкнуть вас на мысль о том, как именно нужно сформировать запрос. Например, можно указать различные варианты настроек содержимого тела запроса, что в 1С никак не описывается, а просто предлагается положить текст тела запроса командой УстановитьТелоИзСтроки().

 

Описание работы с Postman

Postman позволяет создавать коллекции (Группы) запросов и сами запросы и сохранять их. Интерфейс прост и интуитивен:

Начальный интерфейс Postman и первоначальное создание запросов.

Самое интересное в Postman и то, что отличается от 1С - это различные варианты заполнения тела запроса:

Все возможные варианты запроса можно заполнить в 1С, но правила заполнения тела запроса (то, что задается командой ЗапросHTTP.УстановитьТелоИзСтроки()) в 1С не описываются явно и иногда нужно догадываться, в каком формате нужно заполнить тело.

Пример заполнения тела запроса

 

Соответствие настроек 1С И Postman:

Соответствие настроек 1С И Postman

 

Соответствие настроек 1С И Postman

Соответствие настроек 1С И Postman

Соответствие настроек 1С И Postman

 

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

42700 руб.

03.08.2020    24215    37    24    

28

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    22908    68    52    

43

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

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

17568 руб.

20.12.2024    6167    28    4    

29

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

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

60000 руб.

07.05.2019    42970    76    45    

31

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять информацию о товарах в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически формирует файлы yml для дальнейшей загрузки в группы в ВК. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    2660    7    6    

8

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

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

5283 руб.

28.04.2016    100992    120    219    

368
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user774630 24.09.19 18:33 Сейчас в теме
Спасибо за статью.
Программа помогла разобраться, почему не работала доменная аутентификация с себ-сервисом Axapta.

помощью Postman собрал http post-запрос к веб-сервису с ntlm аутентификацией. Он работал нормально.

Аналогичный запрос из 1С не работал.

В Wireshark сравнил оба запроса, обратил внимание что postman для авторизации пытается использовать NTML, а 1С - Kerberos.
Помогло удаление Kerberos на веб-сервере из списка провайдеров аутентификации Windows.
dimaster; AlexK_2012; SkyHunter; mysm; tumr; asupsam; Daimon; +7 Ответить
33. Gendelf 31.03.25 16:43 Сейчас в теме
(1) Подскажи, как использовать доменную аутентификацию к 1С ?
2. antonov_i 320 25.09.19 03:07 Сейчас в теме
Хорошая, статья. Спасибо. Тоже начинали с программы Postman и ей аналогичных, но в итоге решили отказаться от графического интерфейса. Когда API начинает расти, то возникает проблема с переносом списка запросов, да и просто с перемещением между запросами. Не говоря уже про возможность автоматизации. В итоге остановились на расширении RestClient (https://marketplace.visualstudio.com/items?itemName=humao.rest-client) для VSCode. Расширение позволяет описывать все запросы в тексте, т.е. достаточно завести отдельный файлик с расширением `.http и описать все необходимые запросы. Например:

POST /api HTTP/1.1
Content-Type: application/json
Authorization: Basic login pass

{
    "id": "222",
    "action": "something"
}
Показать


И при просмотре этого файлика в VSCode напротив каждого запроса будет появляться кнопка "Send Request". Можно сразу отправить запрос и увидеть результат. В общем удобно применять и хранить в git. В итоге мы немного пошли дальше и стали формировать на основании таких файликов таски на написание тестов к API.
Merkalov; AlexK_2012; strange2007; sogesti; mysm; JohnyDeath; Bazil; botokash; litonchik; budidich; Legavaz; RomanCrow13; +12 Ответить
3. RomanCrow13 111 25.09.19 03:09 Сейчас в теме
Недавно тоже познакомился с Postman, классная вещь! Понравилась тем, что можешь просмотреть тело запроса в конечном виде.
До этого работал с Curl. Но он очень автоматизирован, сам подставляет нужные заголовки и так далее.
Сейчас пытаюсь отправить запрос в телеграм с заголовком Content-type : Multipart form-data, чтобы отправлять файл на сервер и посылать в чат.
SkyHunter; +1 Ответить
4. MORT32Ram 17 25.09.19 07:09 Сейчас в теме
Тема не раскрыта, стало понятно что прога классная и удобная, а вот как ей пользоваться нет=(
Spacer; Strange Device; +2 Ответить
7. budidich 438 25.09.19 11:12 Сейчас в теме
(4)
прога классная и удобная, а вот как ей пользоваться нет=(

Добавил скриншоты - сопоставление параметров API в 1С и в Postman.
AlexK_2012; +1 Ответить
11. MORT32Ram 17 26.09.19 01:58 Сейчас в теме
5. user1166203 25.09.19 09:06 Сейчас в теме
А SoapUI уже не торт?
6. budidich 438 25.09.19 09:56 Сейчас в теме
(5)
SoapUI

Понятия не имею, что такое SoapUI. От вас первый раз слышу.
Если расскажите - будет хорошо.
user774630; +1 Ответить
8. user774630 25.09.19 11:23 Сейчас в теме
(6) Это аналогичная программа.
Что понравилось в SoapUI - удобная работа с SOAP web-сервисами, в т.ч. программа может сама генерировать тестовые запросы на основании wsdl с заполнением обязательных/необязательных полей. Это удобно, если работаешь из 1C с SOAP не с помощью xdto, а через HTTPсоединение и собираешь xml руками.
ДимокШ; mysm; Yashazz; it_tungus; +4 Ответить
14. CodeNull 26.09.19 09:07 Сейчас в теме
(8) SoapUI, это мощное средство предназначенное больше для регрессионного тестирования API. По-моему, для простых случаев и запросов он избыточен.

Как альтернатива - можно использовать еще и JMeter.
9. Dorosh 179 25.09.19 11:25 Сейчас в теме
(5)
А SoapUI уже не торт?


Торт, но с горчинкой. Например отказывается понимать русские буквы. Авторизоваться как "Администратор" не выйдет, изволь создать спецом "Administrator".
it_tungus; +1 Ответить
12. Bizerber 26.09.19 06:22 Сейчас в теме
(5) SoapUI хорош только для SOAP. А если у тебя висит какой то сервис, отдающий по REST API JSONы - лучше постман.
shumvlesu; +1 Ответить
10. iliabvf 25.09.19 19:27 Сейчас в теме
Спасибо за обзор, есть еще SoapUI и Fiddler.
13. Johny_v 145 26.09.19 08:32 Сейчас в теме
По возможностям очень напоминает расширение для Google Chrome - Advanced Rest Client (ARC). Я давно на него перешел при тестировании веб-сервисов. И ничего ставить отдельно не надо. Всегда в браузере подключено.
Прикрепленные файлы:
Aleskey_K; budidich; +2 Ответить
15. CodeNull 26.09.19 09:09 Сейчас в теме
Есть еще и такое: https://chrome.google.com/webstore/detail/restlet-client-rest-api-t/aejoelaoggembcahagimdiliamlcdmfm

Тоже удобный инструмент, значительно экономит время при тесте простых запросов.
CyberCerber; +1 Ответить
16. FesenkoA 60 26.09.19 10:00 Сейчас в теме
21. Aleskey_K 38 30.09.19 11:01 Сейчас в теме
(13) postman тоже вырос из расширения
SkyHunter; +1 Ответить
17. Mortum 26.09.19 14:15 Сейчас в теме
Без постмана как без рук. Можно настроить Environment и одним кликом переключаться между тестовой и рабочей базой. Очень помогает когда надо быстро проверить что-нибудь на рабочей базе.
SkyHunter; +1 Ответить
18. budidich 438 26.09.19 15:50 Сейчас в теме
(17)
Environment

Environment - это что?
19. Yashazz 4916 26.09.19 17:25 Сейчас в теме
Я, канэшн, всё понимаю, но имхо, лучше специально написанной для тестирования одинэсной же обработки - ничего нет. Зачем так корячиться, если можно в том же 1С средствами 1С дёрнуть?
20. budidich 438 26.09.19 17:45 Сейчас в теме
(19) Ну если дергается средствами 1С, то можно дернуть. А вот когда хоть убейся, но не дергается - вот тогда начинаешь продумывать, куда вообще копать - тогда начинаешь перебирать все возможные варианты и смотреть на нюансы, а в специализированных программах нюансов полно и они на виду.
AlexK_2012; SkyHunter; mivari; Yashazz; +4 Ответить
22. SkyHunter 30.09.19 16:05 Сейчас в теме
(19) Так тут и корячиться не надо, всё уже сделано, только url и параметры подставляй. К тому же, зачастую полезно убрать фактор платформы. О таких инструментах должен знать каждый.
23. triviumfan 101 02.10.19 15:19 Сейчас в теме
Решил скачать и попробовать postman.
Авторизировать получилось. Но дальше все запросы в теле должны содержать ключ "authorisation" и полученное его значение.
В 1с делаю так (и все работает, а в постмане нет):
	Если Соединение = Неопределено Тогда
		Соединение = Новый HTTPСоединение(ИмяСервера,443 , , , , 15, Новый ЗащищенноеСоединениеOpenSSL);
	КонецЕсли;
	
	headers = Новый Соответствие;
	headers.Вставить("Content-Type", "application/json");
	Если Токен = Неопределено Тогда
		ПолучениеТокенаНаСервере();
	КонецЕсли;
	headers.Вставить("Authorization", Токен["token_type"]+ " " + Токен["access_token"]);
	
	HTTPЗапрос = Новый HTTPЗапрос("/api/1.0/" + ИмяЗапроса, headers);
	HTTPОтвет = Соединение.Получить(HTTPЗапрос);
Показать
Прикрепленные файлы:
25. budidich 438 02.10.19 15:25 Сейчас в теме
(23) Вроде бы все так. Там, где Имя сервера в постмане перед www. https стоит?
24. budidich 438 02.10.19 15:24 Сейчас в теме
(23) Вроде бы все так. Там, где Имя сервера в постмане перед www. https стоит?
26. triviumfan 101 02.10.19 16:13 Сейчас в теме
(24) тип протокола вообще не указывал. Сейчас указал - результат не поменялся.
27. budidich 438 02.10.19 16:22 Сейчас в теме
(26) Не могу сказать, почему не работает. Я подобную авторизацию делал. Хотел только два момента указать: если Новый ЗащищенноеСоединениеOpenSSL то нужно указывать https перед запросом. И возможно у вас на закладке Autorization что-то стоит, там как я понимаю, ничего не нужно, т.к. авторизация идет через параметр.
28. triviumfan 101 02.10.19 16:29 Сейчас в теме
(27) да я уже все перепробовал, и убрал на этой закладке все, и пробовал указать конкретную авторизацию.. не помогает.
все равно спасибо
29. bugagashenka 205 07.05.21 06:40 Сейчас в теме
А мне Advanced rest client нравится, очень похожи по интерфейсу и по возможностям
30. baracuda 2 11.08.21 16:04 Сейчас в теме
Только ей и пользуюсь)
31. pm74 208 23.08.21 20:20 Сейчас в теме
для mock тестов удобный инструмент mocklab.io
32. budidich 438 24.11.21 17:11 Сейчас в теме
(31)
mocklab.io

Ок, спасибо. Только дошли руки до изучения тестов.
Для отправки сообщения требуется регистрация/авторизация