HTTP-кнопка
HTTP-кнопка — тип поля, которое не хранит значение: это кнопка действия. Нажатие отправляет HTTP-запрос, собранный сервером OkTable из опций кнопки и значений полей записи.
Зачем это нужно
- уведомить клиента в Telegram прямо из карточки заявки;
- создать баг в трекере из таблицы обратной связи;
- включить свет на объекте через Home Assistant;
- дернуть вебхук в n8n для запуска обработки;
- проверить статус внешнего сервиса и записать результат в поле записи.
Настройка
Откройте дизайнера таблицы, добавьте поле типа HTTP-кнопка и заполните:
- Метод — GET, POST, PUT, PATCH или DELETE.
- URL — адрес цели. Значения полей подставляются плейсхолдерами и автоматически URL-кодируются.
- Headers — по одному
Имя: значениена строку. Плейсхолдеры тоже работают. - Body — тело запроса (для GET обычно не нужно). Экранирование JSON — на вашей совести.
- Иконка — иконка кнопки (поиск по большому набору Tabler).
- Ответ → поля записи — правила автоматической записи результата в поля (см. ниже).
Нажать кнопку могут владелец и участники проекта; наблюдателям кнопка не видна. В форме создания записи кнопки нет — только у сохранённой записи и в списке.
Плейсхолдеры
| Шаблон | Что подставится |
|---|---|
{Название} |
значение поля с именем «Название» |
{field_3} |
значение третьего поля таблицы — номер виден в дизайнере и не меняется при сортировке |
{Клиент.Телефон} |
телефон связанной записи |
{Клиент} |
метка связанной записи (без указания поля) |
{Клиент.Менеджер.Телефон} |
цепочка через несколько связей |
Правила:
- несколько связанных записей (мульти-связь) — значения через запятую;
- пустое поле — пустая строка;
- неразрешимое имя — литерал
Неизвестное поле; - в URL значения кодируются, в headers/body подставляются как есть.
Маппинг ответа
Если цель возвращает JSON, можно разложить ответ в поля записи: правило вида
путь → поле, например data.items[0].name → «Последний запуск». Значение
приводится к типу поля; не приводится — поле останется пустым. Запись обновится
у всех участников через синхронизацию.
Безопасность
- запрос выполняет сервер OkTable, а не браузер — CORS не мешает;
- адреса приватных сетей (localhost, 192.168., 10., 172.16–31., 169.254.) запрещены; на собственном сервере можно снять запрет переменной окружения
OKTABLE_HTTP_ALLOW_PRIVATE=1(для Home Assistant/n8n в локальной сети); - запросы на сам сервер OkTable запрещены;
- заголовки кнопки (например, токены) не отдаются участникам — только владельцу таблицы.
Ограничения
- кнопке нужен интернет; офлайн она недоступна;
- таймаут цели — 10 секунд, ответ обрезается до 1 МБ;
- ответ цели показывается как текст в уведомлении.