API мини-приложения: ваш сервер, n8n и Make читают и правят таблицы
Обновлено
Посетитель оформил заказ в приложении. Ваш сервер узнал об этом вебхуком, сделал свою часть работы и должен вписать результат в тот же заказ: ссылку на файл и статус «Готово». Для этого и есть API данных: ключ, с которым сервер, n8n или Make находят строки таблиц приложения, добавляют, дописывают и удаляют их. Покупатель с открытым экраном видит обновлённый заказ без перезагрузки.
Как начать
- 1
Опубликуйте приложение
API работает с таблицами опубликованного приложения. Ключ привязан к одному приложению и не открывает другие ваши проекты.
- 2
Заведите ключ
Вкладка «Данные» → «Связать с другими сервисами» → вкладка «API». Назовите ключ по тому, кто им пользуется («n8n», «склад»), и выберите доступ: «Чтение и запись» или «Только чтение». Ключ показывается один раз — мы храним только его отпечаток.
- 3
Проверьте первым запросом
GET /tables вернёт таблицы приложения с ключами столбцов. Эти ключи нужны во всех остальных запросах, а готовый пример с вашей таблицей окно подставляет само.
- 4
Подключите сценарий
В n8n и Make это узел HTTP Request с авторизацией Header Auth. Описание API для импорта лежит по адресу https://apps.build-mini.app/api/v1/openapi.json — его понимают и Postman, и Insomnia.
Пример: дописать заказ
curl -X PATCH https://apps.build-mini.app/api/v1/tables/orders/rows/ROW_ID \
-H "Authorization: Bearer bma_…" \
-H "Content-Type: application/json" \
-d '{"data": {"status": "Готово", "result_url": "https://…"}}'Присылаются только меняющиеся столбцы, остальные остаются как были, а null очищает столбец. В ответ приходит строка целиком: id, table, data, visitor, createdAt и updatedAt.
Шесть адресов API
- GET /tables
- Таблицы приложения, их столбцы и режим записи.
- GET …/rows
- Строки таблицы, старые первыми. Отбор по столбцу where[столбец]=значение, страницы limit и cursor, только свежие — updatedSince.
- GET …/rows/{id}
- Одна строка.
- POST …/rows
- Добавить строку. В личную таблицу — с указанием, чья она.
- PATCH …/rows/{id}
- Дописать строку: меняются только присланные столбцы.
- DELETE …/rows/{id}
- Удалить строку.
Вебхук и API — две половины одной связки
Вебхук сообщает вашему сервису, что в приложении что-то случилось: отправлена форма, добавлена или изменена строка, прошла оплата. API отвечает на обратный вопрос — как сервису что-то поменять в приложении. Раньше обратный путь был один: входящий адрес, который умел только добавить строку в одну таблицу. Теперь строку можно найти, дописать по id и удалить.
Правки по ключу не порождают событий вебхука. Сценарий, который дописал заказ, иначе тут же получил бы «строка изменена» про собственную правку и закольцевался.
Личная строка остаётся личной
В таблицах «каждый пишет себе» — заказы, заявки, корзины — посетитель видит только свои строки. API это не ломает: правка не меняет хозяина строки, а новая строка в личную таблицу заводится только с указанием, чья она, например {"platform": "telegram", "id": 123456789}. Без этого запрос получит отказ: такую строку не увидел бы никто, кроме вас.
Видно, что делает каждый ключ
Рядом с ключом во вкладке «API» показано, когда им пользовались, сколько было запросов и чем кончился последний отказ: неверный ключ, запись ключом «только чтение», опечатка в столбце, превышение частоты. С этой строки и начинают, когда сценарий «ничего не делает».
Если нужен не сервер, а Google Таблица
Заявки и заказы можно копировать в свою Google Таблицу без единой строки кода: окно таблицы в панели «Данные» → «Копировать новые записи в Google Таблицу». Создаёте пустую таблицу, даёте нашему служебному адресу права редактора, вставляете ссылку — и каждая новая запись в течение минуты дописывается туда строкой, с последним столбцом «Добавлено» по московскому времени.
Свои столбцы вроде «Перезвонил» можно дописывать справа и переставлять наши: мы находим столбец по названию и ничего не стираем. Копия работает и для личных таблиц, потому что ничего не читает назад. Если Google не принял строку, попытки идут около часа, потом в окне появляется красная полоса, в бот приходит сообщение, а кнопка «Повторить» отправляет недошедшее ещё раз. Подключает копию только владелец приложения.
Границы, о которых честно
- Через API правятся записи приложения. Строки каталога, набранные в редакторе, — товары, услуги, расписание — меняются в редакторе, с телефона в самом приложении или через ИИ-ассистента.
- Не больше 300 запросов в минуту на ключ. При превышении сервер отвечает отказом и в заголовке Retry-After пишет, сколько секунд подождать.
- Ключ открывает все таблицы приложения, включая личные заказы покупателей. Храните его на сервере или в учётных данных n8n, не в коде приложения и не в браузере. Утёк — кнопка «Отозвать», и сервисы с ним сразу получают отказ.
- API работает, пока приложение открыто: кончилась проба или тариф — запросы по ключу получают отказ до оплаты, как и посетители.
- Копия в Google Таблицу переносит записи, сделанные после подключения. То, что уже лежало в таблице, выгружается кнопкой «Выгрузить» и вставляется руками.
Частые вопросы
- Есть ли у мини-приложения REST API?
- Да, у каждого опубликованного приложения: https://apps.build-mini.app/api/v1, ключ в заголовке Authorization: Bearer (или X-API-Key, если сервис умеет только так), тело запроса — JSON. Шесть адресов: список таблиц, строки с отбором, одна строка, добавить, дописать, удалить.
- Как подключить приложение к n8n или Make?
- В обе стороны. Из приложения в сценарий — вебхуком на событие формы, строки или оплаты. Из сценария в приложение — узлом HTTP Request к API с ключом. Описание openapi.json импортируется в Postman и Insomnia, по нему же удобно собирать запросы.
- Можно ли выгружать заявки в Google Таблицу без программиста?
- Да: в окне таблицы включается копия новых записей в вашу Google Таблицу. Нужна пустая таблица, доступ нашему служебному адресу с правами редактора и ссылка. Строки приходят в течение минуты.
- API платный?
- Отдельно нет, ключи заводятся на любом тарифе, а работают, пока действует проба или тариф. Строки, добавленные через API, считаются в квоту записей тарифа так же, как добавленные из приложения.
Свяжите приложение со своей системой
Опубликуйте приложение, заведите ключ во вкладке «API» и выполните первый запрос — окно само подставит в пример вашу таблицу.
Открыть конструктор