HTTP
Входить до Macro DeckНадсилайте HTTP-запити кнопкою й зберігайте значення з відповіді у змінні.
Сторінка інтеграції HTTP з увімкненим перемикачем і без параметрів конфігурації
- GET, POST, PUT, PATCH, DELETE та інші методи з параметрами запиту й заголовками
- Автентифікація basic, bearer-токеном або ключем API в заголовку
- Тіло у форматі JSON, форми, тексту або з передаванням файлу
- Зберігайте статус, заголовки або значення JSON у змінні
- Змінні в значеннях параметрів запиту й заголовків
Інтеграція HTTP надсилає веб-запити з Macro Deck. Використовуйте її, щоб викликати вебхук, керувати пристроєм у мережі, що має веб-API, або прочитати значення з онлайн-сервісу й показати його на кнопці. Вона входить до Macro Deck і ввімкнена від самого початку, тож нічого не потрібно під’єднувати й ні в що входити.
Дві дії
Надіслати HTTP-запит створює повноцінний запит. Ви вибираєте Метод, вводите URL і додаєте Параметри запиту та Заголовки як пари назв і значень. У полі Тип тіла виберіть none, json, form, text або multipart (передавання файлу з додатковими полями форми). Автентифікація пропонує basic (ім’я користувача й пароль), bearer (токен) і header (токен у заголовку з вашою назвою, наприклад X-Api-Key). Очікуваний статус визначає, які відповіді вважаються успішними, типово 2xx. Також можна задати Тайм-аут, вимкнути Переходити за перенаправленнями й обмежити Макс. розмір відповіді (байти).
Захоплення зберігають частини відповіді у змінні. Кожен рядок поєднує назву змінної із селектором: $status, $ok, $duration, $body, $truncated, $headers, $header:<name> або шлях JSON, наприклад data.items[0].name. Змінну, якої ще немає, буде створено.
Отримати значення JSON - скорочений спосіб прочитати одне значення: введіть URL, Шлях JSON і змінну в полі Зберегти у змінну.
Приклади
- Кнопка, яка дією Надіслати HTTP-запит з типом тіла
jsonнадсилає{"text": "Stream is live"}у вебхук чату. - Кнопка, яка вмикає розумну розетку у вашій мережі через її локальний веб-API.
- Кнопка, яка дією Отримати значення JSON зчитує поточну ціну з публічного API й показує її в підписі через
{{ vars.price }}. - Потік, який надсилає запит, захоплює
$statusі через Якщо / Інакше фарбує кнопку в червоний, коли сервер відповів не200.
Значення параметрів запиту й заголовків можуть містити змінні, наприклад {{ vars.channel }}. Запит виконується на комп’ютері, де працює Macro Deck, тож адреси на кшталт http://192.168.1.20 досягають пристроїв у мережі цього комп’ютера. Дія завершується зрозумілим повідомленням, коли сервер недоступний, минув час очікування запиту, сертифікат TLS відхилено або статус не той, який ви очікували.
Що потрібно
- Macro Deck 3 у Windows, macOS або Linux
- Адреса веб-API або вебхука, який ви хочете викликати
- Ключ API, токен або пароль, якщо сервіс цього потребує
Як налаштувати
Крок 1: Перевірте, що інтеграцію ввімкнено
У Macro Deck натисніть Інтеграції на бічній панелі, а потім HTTP. Перемикач угорі праворуч типово ввімкнено; якщо він вимкнений, увімкніть його. Налаштовувати нічого не потрібно: вкладка Огляд показує Для цієї інтеграції немає параметрів конфігурації.
Крок 2: Додайте дію HTTP на кнопку
На сторінці Панель клацніть кнопку. Панель має бути розблокована: якщо вгорі праворуч показано кнопку Заблокувати, так і є. Відкриється редактор, у якому вибрано Коротке натискання. Натисніть + Додати дію, ліворуч у діалозі Додати дію виберіть HTTP і виберіть Надіслати HTTP-запит або Отримати значення JSON, якщо потрібно лише прочитати одне значення. Також можна ввести назву в поле Пошук дій….
Крок 3: Введіть запит
Виберіть Метод і введіть URL. Додайте Параметри запиту і Заголовки, якщо вони потрібні API. Для запиту з даними виберіть Тип тіла і заповніть Тіло JSON, Поля форми або Текстове тіло.
Крок 4: Додайте автентифікацію
Якщо сервіс потребує входу чи ключа, виберіть його в полі Автентифікація:
basicз полями Ім’я користувача і Пароль / токен,bearerз токеном у полі Пароль / токен абоheaderз полем Назва заголовка і ключем у полі Пароль / токен. Більшість сервісів показують свої ключі API або токени в параметрах облікового запису чи розробника.Крок 5: Збережіть значення з відповіді
Щоб використати відповідь, додайте рядки в розділі Захоплення: назву змінної та селектор, наприклад
$status, або шлях JSON, як-отdata.temperature. Для Отримати значення JSON введіть Шлях JSON і виберіть змінну в полі Зберегти у змінну.Крок 6: Спробуйте кнопку
Натисніть Запустити в редакторі, щоб одразу надіслати запит, або збережіть і натисніть кнопку. Якщо дія не вдається, її повідомлення пояснює причину, наприклад що сервер недоступний або статус не відповідає полю Очікуваний статус.
Дії2
Призначте їх кнопці або запускайте з потоку.
- Надіслати HTTP-запит
- Надсилає налаштовуваний HTTP-запит і може захоплювати відповідь у змінні.
- Отримати значення JSON
- Завантажує URL і записує одне значення з відповіді JSON у змінну.
Поширені запитання
Де зберігаються мої ключі API й паролі?
Те, що ви вводите в полі Пароль / токен, зберігається в зашифрованому вигляді й розшифровується лише під час надсилання запиту. Значення, які ви вводите в Заголовки, зберігаються незашифрованими й потрапляють в експортовані профілі, тому вказуйте ключі й токени натомість у полях автентифікації.
Чи можна звертатися до пристрою в локальній мережі?
Так. Запит надсилається з комп’ютера, де працює Macro Deck, тож працює будь-яка адреса, доступна цьому комп’ютеру. Для пристрою із самопідписаним сертифікатом можна вимкнути Перевіряти сертифікат TLS, але робіть це лише для пристроїв у власній мережі.
Чому дія не вдається, хоча сервер відповів?
Відповідь не відповідає полю Очікуваний статус, яке типово має значення 2xx. Введіть код статусу, який справді повертає API, діапазон на кшталт 200-204, список або any, щоб приймати будь-який статус. Отримати значення JSON завжди очікує відповідь 2xx.
Які шляхи JSON можна використовувати?
Використовуйте крапки й індекси, наприклад data.items[0].name або [0].id, чи $ для всього документа. У полі Захоплення зарезервовані селектори, як-от $status, мають пріоритет, тож поле, яке справді називається status, зчитується через $.status.
Чи потрібно спершу створювати змінні?
Ні. Коли захоплення або Зберегти у змінну вказує на змінну, якої немає, Macro Deck її створює. Якщо змінна з такою назвою вже існує з іншим типом, збереження завершується повідомленням про помилку.
Більше в категорії «Розумний дім і веб»
Home Assistant
Входить до Macro DeckВмикайте світло, запускайте сцени й скрипти та показуйте живі стани з Home Assistant на своїй панелі.
AdGuard Home
Входить до Macro DeckВмикайте, вимикайте або призупиняйте захист AdGuard Home і показуйте його статистику на своїй панелі.
RSS-стрічки
Входить до Macro DeckСтежте за стрічками RSS і Atom, показуйте їхні найновіші статті у віджетах і реагуйте на появу нових статей.
Погода
Входить до Macro DeckПоказуйте поточну погоду й прогноз для своїх місць на панелі без ключа API.