Метод «data — работа с пользовательской таблицей»

Что умеет:

GET - получить список записей

Запрос

GET {URL-аккаунта}/api/dev/data{ID-таблицы}
            {?filter=выражение}
            {?page[offset]=число}
            {?page[limit]=число}

Замените {URL-аккаунта} на URL экземпляра КБ, например, https://demo.clientbase.ru или http://localhost:8080/.
Замените {ID-таблицы} на ID таблицы из базы данных (он отображается в адресной строке при переходе в пользовательскую таблицу).

img-2025-06-27-11-26-47

Заголовки

При вызове метода укажите заголовки:

Content-Type: application/vnd.api+json  
X-Auth-Token: Ваш-токен

Для получения токена пройдите авторизацию.

Параметры

При вызове метода вы можете указать параметры filter, page[offset], page[limit]

Параметр filter

Задает условие отбора записей с помощью фильтр-выражения. Фильтр-выражение может состоять:

  • из одной функции
  • из комбинации функций
  • из функции use_filter({ID-фильтра}), которая ссылается на фильтр, заданный в конструкторе фильтров КБ. (Замените {ID-фильтра} на ID фильтра из базы данных (он отображается в адресной строке при переходе в пользовательскую таблицу с применением фильтра https://s.mail.ru/NZQR/2dvJ1uDxG)).

Фильтр, заданный с помощью функции use_filter, нельзя применять одновременно с другими функциями

Рассмотрим функции, которые можно применять в параметре (условия применяются для параметров внутри атрибута "attributes" https://s.mail.ru/Vby6/9bxXgLX14):

Категория функций Функция Описание Пример
Функции сравнения eq Равно eq(f123,'готово')
gt Больше чем gt(f201,'54')
gte Больше или равно gte(f875,'2011-01-01')
lt Меньше чем lt(f3854,'3.14')
lte Меньше или равно lte(f550,'17')
ne Не равно ne(f28,'архив')
Функции сравнения с массивом in Равно одному из значений массива in(f345,'Активный', 'Архивный', 'Завершен')
nin Не равно ни одному значению из массива nin(f345, 'Завершен', 'Отменен')
Функции сопоставления строк starts_with Начинается со starts_with(f691, 'Mc')
ends_with Заканчивается на ends_with(f691, 'son')
contains Содержит contains(f691,'ушкин')
Функции сопоставления с диапазоном between Находится в диапазоне between(f321, '18', '35')
Логические функции and Логическое И and(eq(f76,'male'), lt(f23,'18'))
not Логическое НЕ not(gt(f82,'54'))
or Логическое ИЛИ or(eq(f39,'male'), eq(f39,'female'))



Пример: выберем из демо-конфигурации неоплаченные счета за 2024 год среди активных записей:

GET https://apitest.clientbase.ru/api/dev/data43?filter=and(ne(f7390, 'Оплачен'), gte(add_time, '2024-01-01 00:00:01'), lte(add_time, '2024-12-31 23:59:59'), eq(status, 1))


Пример: выберем записи по фильтру "Неоплаченные":

GET https://apitest.clientbase.ru/api/dev/data43?filter=use_filter(65)



Параметр page[limit]

Задает количество возвращаемых записей в выборке. По умолчанию = 20. Максимально можно задать 50.

Пример: выберем 50 записей по фильтру "Неоплаченные":

GET https://apitest.clientbase.ru/api/dev/data43?filter=use_filter(65)&page[limit]=50



Параметр page[offset]

Задает с какой записи выбирать.

Пример: выберем 30 неоплаченных счетов, начиная с 31го счета, который удовлетворяет условию фильтра:

GET https://apitest.clientbase.ru/api/dev/data43?filter=ne(f7390, 'Оплачен')&page[offset]=31&page[limit]=30

Пример запроса

curl -X GET
-H 'Content-Type: application/vnd.api+json' \
-H 'X-Auth-Token: pevj1MaRq5qTUifWQ4iwVe7AcSfpGgiSCyu4T8hMfydX0Tew' \
"https://apitest.clientbase.ru/api/dev/data43?filter=ne(f7390, 'Оплачен')&page[limit]=2"

Ответ

{
    "data": [
        {
            "type": "data43",
            "attributes": {
                "user_id": "51",
                "add_time": "2020-04-28 15:05:40",
                "status": "0",
                "f437": "1",
                "f436": "2020-04-28 00:00:00",
                "f839": "12",
                "f6141": "0",
                "f4101": "0",
                "f7390": "Отменен",
                "f448": "280",
                "f6821": "9",
                "f2071": "1875.00",
                "f889": "0.00",
                "f4620": "0",
                "f1083": "ручки",
                "f2061": "0.00",
                "f9190": "0000-00-00 00:00:00",
                "f654": "1",
                "f454": "1875.00",
                "f455": "0.00",
                "f456": "1875.00",
                "f2650": "",
                "f457": "2022-03-04 17:40:49",
                "f4640": "Нет",
                "f9060": "",
                "f9630": "0",
                "f9270": "0",
                "f2820": "Нет записей",
                "f2830": "",
                "f3360": "",
                "f4221": "",
                "f4231": "1",
                "f4251": "Нет",
                "f4241": "0",
                "f5991": "",
                "f6291": "",
                "f6001": "",
                "f6011": "",
                "f6021": "",
                "f6681": "Нет",
                "f8790": "Нет",
                "f851": "valerij@mymail",
                "f9170": "2020-04-28 15:05:40"
            },
            "links": {
                "self": "/api/dev/data43/9"
            },
            "id": "9"
        },
        {
            "type": "data43",
            "attributes": {
                "user_id": "51",
                "add_time": "2020-04-28 15:14:57",
                "status": "0",
                "f437": "2",
                "f436": "2020-04-28 00:00:00",
                "f839": "10",
                "f6141": "0",
                "f4101": "0",
                "f7390": "Новый",
                "f448": "280",
                "f6821": "9",
                "f2071": "850.00",
                "f889": "0.00",
                "f4620": "0",
                "f1083": "карандаши",
                "f2061": "0.00",
                "f9190": "0000-00-00 00:00:00",
                "f654": "1",
                "f454": "850.00",
                "f455": "0.00",
                "f456": "850.00",
                "f2650": "",
                "f457": "0000-00-00 00:00:00",
                "f4640": "Нет",
                "f9060": "",
                "f9630": "0",
                "f9270": "0",
                "f2820": "Нет записей",
                "f2830": "",
                "f3360": "",
                "f4221": "",
                "f4231": "1",
                "f4251": "Нет",
                "f4241": "0",
                "f5991": "",
                "f6291": "",
                "f6001": "",
                "f6011": "",
                "f6021": "",
                "f6681": "Нет",
                "f8790": "Нет",
                "f851": "baikal-kazan@mail.ru",
                "f9170": "2020-04-28 15:14:57"
            },
            "links": {
                "self": "/api/dev/data43/10"
            },
            "id": "10"
        }
    ],
    "links": {
        "last": "http://apitest.clientbase.ru/api/dev/data43?filter=ne%28f7390%2C%20%27%D0%9E%D0%BF%D0%BB%D0%B0%D1%87%D0%B5%D0%BD%27%29&page%5Blimit%5D=2&page%5Boffset%5D=84",
        "next": "http://apitest.clientbase.ru/api/dev/data43?filter=ne%28f7390%2C%20%27%D0%9E%D0%BF%D0%BB%D0%B0%D1%87%D0%B5%D0%BD%27%29&page%5Blimit%5D=2&page%5Boffset%5D=2",
        "self": "http://apitest.clientbase.ru/api/dev/data43?filter=ne%28f7390%2C%20%27%D0%9E%D0%BF%D0%BB%D0%B0%D1%87%D0%B5%D0%BD%27%29&page%5Blimit%5D=2"
    },
    "jsonapi": {
        "version": "1.1"
    },
    "meta": {
        "offset": 0,
        "limit": "2",
        "total": 86
    }
}

Формат ответа

200 OK (application/vnd.api+json)
либо ошибка




POST - создать запись

Запрос

POST {URL-аккаунта}/api/dev/data{ID-таблицы}

Замените {URL-аккаунта} на URL экземпляра КБ, например, https://demo.clientbase.ru или http://localhost:8080/.
Замените {ID-таблицы} на ID таблицы из базы данных (он отображается в адресной строке при переходе в таблицу).

img-2025-06-27-11-26-47

Заголовки

При вызове метода укажите заголовки:

Content-Type: application/vnd.api+json  
X-Auth-Token: Ваш-токен

Для получения токена пройдите авторизацию.

Пример запроса

curl -X POST \
  -H 'Content-Type: application/vnd.api+json' \
  -H 'X-Auth-Token: pevj1MaRq5qTUifWQ4iwVe7AcSfpGgiSCyu4T8hMfydX0Tew'
  -d '{ 
    "data": {
      "type": "data480",
     "attributes": {
          "f9690": "Прошу связаться со мной для уточнения деталей по поводу покупки ноутбука. Интересуюсь моделями с процессором не ниже i5 и SSD от 512 ГБ.", // текстовое поле
          "f9700": "123.00",
          "f9710": "2025-06-26 09:30:59",
          "f9720": "Значение 2",
          "f9730": "68",
          "f9740": [
            {
              "file_name": "test.txt",
              "content": "111 222 333"
            },
            {
              "file_name": "screen.png",
              "content":  "",
              "binary": true
            }
          ] // поле типа "Файл"
      }
    }
   }' \
  https://apitest.clientbase.ru/api/dev/data480

Ответ

Пример ответа

{
    "data": {
        "type": "data480",
        "attributes": {
            "user_id": "1",
            "add_time": "2025-07-07 11:56:22",
            "status": "0",
            "f9690": "Прошу связаться со мной для уточнения деталей по поводу покупки ноутбука. Интересуюсь моделями с процессором не ниже i5 и SSD от 512 ГБ.",
            "f9700": "123.00",
            "f9710": "2025-06-26 09:30:59",
            "f9720": "Значение 2",
            "f9730": "68",
            "f9740": "test.txt\r\nscreen.png",
            "f9750": "0",
            "f9760": "",
            "f9770": "0",
            "f9780": "",
            "f9790": "",
            "f9800": "",
            "f9810": "0"
        },
        "links": {
            "self": "/api/dev/data480/8"
        },
        "id": "8"
    },
    "jsonapi": {
        "version": "1.1"
    }
}

Формат ответа

201 Created (application/vnd.api+json)
либо ошибка