Postman — платформа для тестування API з графічним інтерфейсом, що підтримує протоколи REST, GraphQL, WebSocket і gRPC. Інструмент дозволяє створювати та надсилати HTTP-запити, організовувати їх у колекції, автоматизувати тестування через скрипти та генерувати документацію по ендпоінтах. За даними Postman Learning Center (2026), платформою користуються понад 25 мільйонів розробників у всьому світі.
Головне
Postman — це платформа для розробки та тестування API, доступна як настільний застосунок (Windows, macOS, Linux) і веб-версія. Спочатку створений як розширення для Chrome у 2012 році, Postman перетворився на повноцінну екосистему з підтримкою моніторингу, mock-серверів і генерації клієнтського коду.
Postman підтримує всі HTTP-методи: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Тіло запиту може бути у форматах JSON, XML, form-data, x-www-form-urlencoded і binary. Відповідь відображається з підсвіткою синтаксису, Pretty-print і можливістю перегляду сирих заголовків.
Вбудовані типи автентифікації включають Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key і AWS Signature. Postman автоматично підставляє заголовки Authorization згідно з обраним типом, що прискорює тестування захищених ендпоінтів без ручного копіювання токенів.
Інтерфейс Postman складається з бічної панелі (Collections, APIs, Environments), робочої області (Request Builder/Response Viewer) і нижньої панелі (Console, Runner). Вкладка Params дозволяє редагувати query-параметри URL у табличному вигляді, вкладка Headers — керувати HTTP-заголовками.
Console (View → Show Postman Console) логує всі мережеві запити та відповіді в хронологічному порядку, включно з проміжними редиректами та заголовками. Це незамінний інструмент під час налагодження складних OAuth-потоків і ланцюжків редиректів, коли стандартний Response Viewer показує лише кінцевий результат.
Postman підтримує командні робочі простори (Workspaces) із версіонуванням колекцій через Fork і Merge. Учасники команди можуть коментувати запити, пропонувати зміни та синхронізувати колекції в реальному часі. Public Workspace дозволяє публікувати API-документацію для зовнішніх розробників.
Базовий запит у Postman створюється вибором HTTP-методу та введенням URL в адресний рядок. Після надсилання відповідь відображається в нижній панелі з кодом статусу, часом виконання та розміром. Параметри запиту автоматично кодуються під час введення.
В URL і тілі запиту можна використовувати динамічні змінні у форматі {{$variable}}. Вбудовані змінні {{$guid}}, {{$timestamp}} і {{$randomInt}} генерують унікальні значення для кожного запиту. Снипети коду доступні через кнопку Code (>), яка генерує еквівалентний запит на cURL, Python, JavaScript, Kotlin, Swift та інших мовах.
// Приклад скрипта в Pre-request: генерація HMAC-підпису
const timestamp = Date.now().toString();
const secret = pm.environment.get("api_secret");
const hash = CryptoJS.HmacSHA256(timestamp, secret);
pm.request.headers.add({
key: "X-Signature",
value: hash.toString()
});
Колекції — це групи пов'язаних запитів, об'єднаних за проєктом або функціональним модулем. Кожна колекція може містити вкладені папки, спільні заголовки та Pre-request скрипти, які виконуються перед кожним запитом у колекції. Порядок запитів задається перетягуванням.
Postman підтримує п'ять рівнів змінних: global, collection, environment, data і local. Пріоритет розв'язання конфліктів — від локальних до глобальних. Environment-файли містять пари ключ-значення для різних середовищ: development, staging, production. Перемикання середовища змінює всі URL і токени автоматично.
| Рівень | Область видимості | Пріоритет |
|---|---|---|
| Local | Поточний запит | 1 (найвищий) |
| Data | Collection Runner (із CSV/JSON) | 2 |
| Environment | Активне середовище | 3 |
| Collection | Вся колекція | 4 |
| Global | Весь робочий простір | 5 |
Postman дозволяє писати тести на JavaScript у вкладці Tests, які виконуються після отримання відповіді. Тести перевіряють статус-код, тіло відповіді, заголовки та час виконання. Результати відображаються в панелі Test Results із кольоровою індикацією проходження.
Об'єкт pm надає методи для роботи з відповіддю: pm.response, pm.expect, pm.variables. Чейнінг запитів реалізується через збереження даних із відповіді одного запиту в змінну та використання її в наступному. Це основа для побудови інтеграційних тестів і перевірки бізнес-логіки через послідовність API-викликів.
// Тест: перевірка структури відповіді та збереження токена
pm.test("Status code is 200", () => {
pm.response.to.have.status(200);
});
const json = pm.response.json();
pm.environment.set("auth_token", json.data.token);
Collection Runner запускає всі запити колекції послідовно, виконуючи тести на кожному кроці. Newman — консольна версія Postman для CI/CD-пайплайнів (Jenkins, GitHub Actions, GitLab CI). Newman експортує звіт у форматах JSON, JUnit і HTML для інтеграції із системами моніторингу.
GraphQL запити в Postman надсилаються через POST на єдиний ендпоінт із тілом у форматі JSON. Вкладка GraphQL (Beta) надає візуальний редактор із підсвіткою синтаксису, автодоповненням полів і схемою. Змінні запиту передаються в окремій панелі Variables.
Postman підтримує WebSocket-з'єднання через окремий інтерфейс із панеллю повідомлень. Можна надсилати текстові та бінарні повідомлення, переглядати історію з'єднання та автоматично перепідключатися при розриві. Socket.IO клієнт працює в режимі сумісності з протоколом Engine.IO.
// WebSocket тест у Postman через pm API
const ws = new WebSocket("wss://echo.websocket.org");
ws.onmessage = (event) => {
pm.test("Echo response received", () => {
pm.expect(event.data).to.eql("Hello");
});
};
Mock-сервери Postman дозволяють емулювати API-ендпоінти на основі наявних колекцій. Це корисно, коли бекенд ще не готовий, а фронтенд або мобільний застосунок уже розробляється. Mock-сервер повертає приклад відповіді з колекції з коректними заголовками та статус-кодом.
Mock-сервер створюється з колекції в один клік: виберіть колекцію → Mock Servers → Add a new mock server. Postman генерує унікальний URL, який можна використовувати в коді застосунку замість реального API. Для кожного запиту колекції мок повертає збережену Example Response, що дозволяє перевіряти UI до завершення бекенду.
Monitors запускають колекцію за розкладом (кожні 5 хвилин, годину або день) і перевіряють доступність і коректність API. При падінні тесту монітор надсилає сповіщення на email або в Slack. Моніторинг працює з хмари Postman, не потребує окремого сервера та підтримує до 10 000 запитів на місяць на безкоштовному тарифі.
// Тест для моніторингу: перевірка часу відповіді
pm.test("Response time < 2000ms", () => {
pm.expect(pm.response.responseTime).to.be.below(2000);
});
pm.test("Content-Type is JSON", () => {
pm.response.to.have.header("Content-Type");
});
Postman надає механізми для безпечної роботи з API-ключами. Змінні типу Secret шифруються та не відображаються в інтерфейсі. Для командної роботи використовуйте Workspace із ролями Admin, Editor і Viewer.
При створенні змінної середовища виберіть тип Secret — значення ховається зірочками у всіх інтерфейсах. Секрети не експортуються в колекцію при шарінгу та не відображаються в логах Newman. Паролі та токени рекомендується зберігати тільки в Secret-змінних.
Postman підтримує інтеграцію з HashiCorp Vault і AWS Secrets Manager. Скрипти Pre-request можуть динамічно запитувати секрети із зовнішнього сховища, виключаючи зберігання чутливих даних у файлах колекції середовища.
Postman надає механізми для безпечної роботи з API-ключами. Змінні типу Secret шифруються та не відображаються в інтерфейсі. Для командної роботи використовуйте Workspace із ролями Admin, Editor і Viewer.
При створенні змінної середовища виберіть тип Secret — значення ховається зірочками у всіх інтерфейсах. Секрети не експортуються в колекцію при шарінгу та не відображаються в логах Newman. Паролі та токени рекомендується зберігати тільки в Secret-змінних.
Postman підтримує інтеграцію з HashiCorp Vault і AWS Secrets Manager. Скрипти Pre-request можуть динамічно запитувати секрети із зовнішнього сховища, виключаючи зберігання чутливих даних у файлах колекції середовища.
Часті запитання
Postman пропонує ширшу екосистему: колекції, середовища, моніторинг, mock-сервери та Newman для CI/CD. Insomnia фокусується на легкості та швидкості з меншим споживанням пам'яті. Postman краще підходить для командної роботи, Insomnia — для індивідуального використання.
У Tests першого запиту збережіть токен в environment: pm.environment.set("token", pm.response.json().token). У другому запиті використовуйте змінну {{$token}} у заголовку Authorization. Runner автоматично підставить значення при послідовному запуску.
Так, через кнопку Import → Raw Text. Postman автоматично парсить cURL-команду та створює запит із заголовками, методом і тілом. Підтримуються всі флаги cURL, включаючи -H, -d, -F і -u. Зворотна конвертація доступна через кнопку Code (>).
Використовуйте POST запит із JSON-тілом: {"query": "..."}. Вкладка GraphQL надає візуальний редактор із завантаженням схеми через Introspection Query. Змінні запиту передаються в поле variables того ж JSON-об'єкта.
Newman — це консольна версія Postman для запуску колекцій у CI/CD. Встановлюється через npm, підтримує HTML-звіти та інтеграцію з Jenkins, GitHub Actions і GitLab CI. Дозволяє автоматизувати регресійне тестування API без графічного інтерфейсу.
Підсумки
Ми розробимо мобільний застосунок під ключ
IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.
Читайте також