О программе 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

 

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

См. также

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

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

36000 руб.

03.08.2020    21764    31    24    

24

SALE! 15%

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

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

17280 14688 руб.

20.12.2024    3995    20    2    

21

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки. Основные преимущества: 1. Документация API создаётся автоматически. Удобна для программной обработки. 2. Изменить API столь же просто как настроить отчёт. Можно опубликовать существующий вариант отчёта. 3. Отчёты в API поддерживают параметры (Период, ДатаНачала и др.) 4. При создании простых методов не требуется изменять конфигурацию. 5. Поддерживается работа с планами обмена.<br/> 6. Возможно настроить отправку из 1С данных корреспондирующей системе, для случаев когда 1С сама "знает" какие данные нужно отправить. 7. После записи в 1С Ле Мурр может возвращать соответствие полученных идентификаторов созданным в 1С объектам данных.

36000 руб.

27.09.2024    8644    7    5    

9

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

Обмен данными с "Порталом поставщиков" zakupki.mos.ru Москвы и Московской области с целью создания оферт для закупок государственными учреждениями. Модуль устраняет рутину, минимизирует ошибки и помогает выигрывать больше закупок. Работает строго по требованиям 44-ФЗ.

14400 руб.

13.12.2016    41287    54    39    

37

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь 1С v8.3 Управляемые формы 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

5196 руб.

28.04.2016    98209    111    218    

359
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 433 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 433 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 143 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 59 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 433 26.09.19 15:50 Сейчас в теме
(17)
Environment

Environment - это что?
19. Yashazz 4883 26.09.19 17:25 Сейчас в теме
Я, канэшн, всё понимаю, но имхо, лучше специально написанной для тестирования одинэсной же обработки - ничего нет. Зачем так корячиться, если можно в том же 1С средствами 1С дёрнуть?
20. budidich 433 26.09.19 17:45 Сейчас в теме
(19) Ну если дергается средствами 1С, то можно дернуть. А вот когда хоть убейся, но не дергается - вот тогда начинаешь продумывать, куда вообще копать - тогда начинаешь перебирать все возможные варианты и смотреть на нюансы, а в специализированных программах нюансов полно и они на виду.
AlexK_2012; SkyHunter; mivari; Yashazz; +4 Ответить
22. SkyHunter 30.09.19 16:05 Сейчас в теме
(19) Так тут и корячиться не надо, всё уже сделано, только url и параметры подставляй. К тому же, зачастую полезно убрать фактор платформы. О таких инструментах должен знать каждый.
23. triviumfan 102 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 433 02.10.19 15:25 Сейчас в теме
(23) Вроде бы все так. Там, где Имя сервера в постмане перед www. https стоит?
24. budidich 433 02.10.19 15:24 Сейчас в теме
(23) Вроде бы все так. Там, где Имя сервера в постмане перед www. https стоит?
26. triviumfan 102 02.10.19 16:13 Сейчас в теме
(24) тип протокола вообще не указывал. Сейчас указал - результат не поменялся.
27. budidich 433 02.10.19 16:22 Сейчас в теме
(26) Не могу сказать, почему не работает. Я подобную авторизацию делал. Хотел только два момента указать: если Новый ЗащищенноеСоединениеOpenSSL то нужно указывать https перед запросом. И возможно у вас на закладке Autorization что-то стоит, там как я понимаю, ничего не нужно, т.к. авторизация идет через параметр.
28. triviumfan 102 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 174 23.08.21 20:20 Сейчас в теме
для mock тестов удобный инструмент mocklab.io
32. budidich 433 24.11.21 17:11 Сейчас в теме
(31)
mocklab.io

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