Присоединяйтесь к комьюнити Табрики

Предлагайте идеи, задавайте вопросы и общайтесь с другими пользователями

Public API

Мощный инструмент для разработчиков. Полное руководство по интеграции Табрики с вашими сервисами и автоматизации процессов.

Что можно делать через API

Public API Табрики открывает безграничные возможности для автоматизации. Вы можете программно:

  • Запрашивать списки записей с поддержкой сложной фильтрации и пагинации.
  • Получать детальную информацию по конкретной записи.
  • Создавать новые строки, обновлять существующие данные и удалять ненужную информацию.
  • Гибко управлять ответом сервера: применять сортировку и запрашивать только необходимые столбцы.

Быстрый старт за 3 шага

Начать работу с API проще простого:

  1. Зайдите в настройки вашей организации и откройте вкладку API.
  2. Сгенерируйте новый токен доступа, выбрав нужный уровень прав (только чтение или чтение и запись).
  3. При выполнении любых запросов к нашему 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, yesterday
  • exactDate,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,иван)

Разбор по компонентам:

  1. Маршрутизация: database_id=82 и table_id=142 указывают, откуда брать данные.
  2. Пагинация: limit=25 и offset=0 запрашивают первую страницу из 25 строк.
  3. Оптимизация: fields=Имя,Статус просит вернуть только два столбца.
  4. Сортировка: sort=-Дата регистрации сортирует по убыванию даты (обратите внимание на префикс -).
  5. Фильтрация: 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-клиент: выполняйте запросы прямо из интерфейса и изучайте сырые ответы и заголовки от сервера.