Public API
Мощный инструмент для разработчиков. Полное руководство по интеграции Табрики с вашими сервисами и автоматизации процессов.
Что можно делать через API
Public API Табрики открывает безграничные возможности для автоматизации. Вы можете программно:
- Запрашивать списки записей с поддержкой сложной фильтрации и пагинации.
- Получать детальную информацию по конкретной записи.
- Создавать новые строки, обновлять существующие данные и удалять ненужную информацию.
- Гибко управлять ответом сервера: применять сортировку и запрашивать только необходимые столбцы.
Быстрый старт за 3 шага
Начать работу с API проще простого:
- Зайдите в настройки вашей организации и откройте вкладку API.
- Сгенерируйте новый токен доступа, выбрав нужный уровень прав (только чтение или чтение и запись).
- При выполнении любых запросов к нашему API обязательно передавайте этот токен в HTTP-заголовке:
Authorization: Bearer <ваш_токен>
Методы и эндпоинты
Наше API использует методы REST. Доступны следующие основные эндпоинты:
GET /public/record/list— получение списка записей.GET /public/record/get— получение одной записи по её ID.POST /public/record/create— добавление новой записи.PUT /public/record/update— изменение существующей записи.DELETE /public/record/delete— удаление записи.
Обязательные параметры
Для успешной маршрутизации запроса сервер должен точно знать, с какой таблицей вы работаете.
Для всех методов обязательно передавайте в параметрах запроса:
database_id(ID базы данных)table_id(ID таблицы)
Для методов, работающих с конкретной строкой (get, update, delete), также строго обязателен параметр:
row_id(ID конкретной записи)
Параметры list/get
Методы чтения (list, get) и update поддерживают параметр response_format для управления форматом ответа.
Параметры фильтрации (list):
limit(от 1 до 1000) иoffset— для реализации постраничной навигации (пагинации).where— мощный конструктор для фильтрации данных на стороне сервера.sort— правила сортировки результатов.fields— перечисление конкретных полей (по именам или их ID), которые должны вернуться в ответе. Помогает экономить трафик.
response_format (list, get, update):
ids— использовать системные ID полей в качестве ключей ответа.names— использовать человекочитаемые названия полей (рекомендуется).
Параметр rich_text (list, get):
markdown— вернуть исходный Markdown (это значение по умолчанию).html— вернуть безопасно форматированный HTML для публикации.raw— вернуть plain text без форматирования (без Markdown и HTML).
Используйте rich_text только для длинного текста, где включен режим форматирования (Markdown).
Синтаксис where
Синтаксис фильтрации строится на базовом формате: (имя_поля,оператор,значение).
Логические комбинации:
~and— логическое И (оба условия верны). Пример:(Статус,eq,Активен)~and(Сумма,ge,100)~or— логическое ИЛИ (хотя бы одно условие верно). Пример:(Статус,eq,Новый)~or(Статус,eq,В работе)~not— логическое НЕ (инверсия). Пример:~not(Статус,eq,Архив)
Доступные операторы сравнения:
eq/neq— равно / не равно.null/notnull— проверка на пустоту. Внимание: значение справа не указывается! Пример:(Email,null)gt/ge/lt/le— строго больше, больше или равно, строго меньше, меньше или равно (для чисел и дат).like/nlike— содержит / не содержит указанную подстроку (для текста).in— точное совпадение с одним из значений списка (через запятую). Пример:(Статус,in,Новый,В работе)btw— попадание в диапазон (включительно). Пример:(Сумма,btw,100,500)
Совместимость операторов:
Использование несовместимого оператора приведет к ошибке 400 Bad Request.
- Текст, URL, Email:
eq,neq,like,nlike,in,null,notnull - Числа, Длительность, Даты:
eq,neq,gt,ge,lt,le,btw,in,null,notnull - Чекбокс:
eq,null,notnull - Одиночный выбор, Пользователь:
eq,neq,in,null,notnull - Файл, Связи: только
null,notnull - JSON:
like,nlike,null,notnull
Работа с датами (ключевые слова):
Вместо точных дат вы можете использовать динамические переменные:
today,tomorrow,yesterdayexactDate,YYYY-MM-DD(Пример:(Дата,eq,exactDate,2026-05-01))daysAgo,N(Пример:(Дата,ge,daysAgo,7))daysFromNow,N(Пример:(Дата,le,daysFromNow,30))
Составной пример запроса
Давайте разберем сложный запрос на получение списка записей:
GET /public/record/list?database_id=82&table_id=142&limit=25&offset=0&fields=Имя,Статус&sort=-Дата регистрации&where=(Статус,eq,Активен)~and(Имя,like,иван)
Разбор по компонентам:
- Маршрутизация:
database_id=82иtable_id=142указывают, откуда брать данные. - Пагинация:
limit=25иoffset=0запрашивают первую страницу из 25 строк. - Оптимизация:
fields=Имя,Статуспросит вернуть только два столбца. - Сортировка:
sort=-Дата регистрациисортирует по убыванию даты (обратите внимание на префикс-). - Фильтрация:
where=...оставляет только активные записи, где имя содержит "иван".
Тело create/update
При создании (create) или обновлении (update) записей данные передаются в теле запроса в формате JSON.
Структура тела запроса должна выглядеть так:
{
"data": {
"Название поля": "Новое значение",
"fld_123456": 100
}
}Удобство: В объекте data вы можете обращаться к полям как по их человекочитаемым именам, так и по их системным ID.
Для форматированного длинного текста передавайте текст в формате Markdown. Сервер хранит исходный Markdown, а формат выдачи на чтении выбирается в конструкторе запроса.
Ответ: Метод update возвращает полную запись после обновления (как get). Поддерживается параметр response_format (names / ids) для управления форматом ключей в ответе.
Типовые ошибки
Что проверить в первую очередь:
- некорректный/просроченный токен;
- неверные
database_id,table_id,row_id; - опечатки в
where; - попытка записи токеном с правами только на чтение;
- превышение лимита API-запросов организации.
Полная таблица кодов и действий: Ошибки и коды.
Панель API в интерфейсе
Мы встроили мощный инструмент для разработчиков прямо в интерфейс таблицы — режим API.
Возможности встроенной панели:
- Интерактивный визуальный конструктор параметров запроса.
- Готовые пресеты (шаблоны) для каждого метода API.
- Умные подсказки: система объяснит, почему кнопка запуска заблокирована, и предупредит о несовместимости операторов.
- Удобный drag-and-drop: перетаскивайте названия полей или имена участников прямо в конструктор запроса.
- Автоматическая генерация готового кода для интеграции на
cURL,JavaScript,PythonиPowerShell. - Встроенный HTTP-клиент: выполняйте запросы прямо из интерфейса и изучайте сырые ответы и заголовки от сервера.