For the complete documentation index, see llms.txt. This page is also available as Markdown.

Обновление данных (PATCH)

Из этой статьи вы узнаете, как изменять существующие записи в таблицах NocoDB с помощью PATCH-запросов из Smartbot Pro.

Перед началом работы настройте глобальные переменные %NOCODBURL%, %NOCODBTABLE% и %NOCODB_TOKEN%, как описано в статье Просмотр данных (GET).

Чем PATCH отличается от POST

Метод
Назначение

POST

Создание новой записи. Поле Id не указываете — его выдаёт NocoDB.

PATCH

Частичное обновление существующей записи. В теле запроса обязательно указывается Id строки, которую нужно изменить.

PATCH обновляет только те поля, которые вы передали в JSON. Остальные столбцы в строке остаются без изменений.

Формат запроса:

PATCH https://<вашдомен>/api/v2/tables/<идентификатортаблицы>/records

Откуда взять Id записи

Чтобы обновить строку, нужно знать её Id (целое число в NocoDB по умолчанию).

Варианты:

  1. Сохранить Id из ответа после POST в переменную сценария.

  2. Выполнить GET с фильтром (where) и взять Id из первой подходящей записи в %response_data%.

  3. Посмотреть Id в интерфейсе NocoDB или в Swagger после тестового GET.

Без корректного Id NocoDB не сможет понять, какую строку обновлять. Убедитесь, что Id — число (integer), а не строка в кавычках в логике SmartQuery, если тип поля в таблице — число.

Обновление одной записи

1. Блок "Выполнить SmartQuery"

2. Блок "Отправить HTTP-запрос"

  • URL: %url%

  • Метод: PATCH

  • Тело запроса: тип "Текст": {{ %req_body% | to_json }}

  • Заголовки:

Ключ
Значение

accept

application/json

xc-token

%NOCODB_TOKEN%

content-type

application/json

  • Ответ — в переменную типа "Словарь" (или массив, если ваш сценарий так настроен).

  • Статус — в переменную типа "Число".

3. Ожидаемый результат

При успехе придет статус 200, а значение строки изменится.

Таблица до изменения:

После:

Обновление нескольких записей за один запрос

В %req_body% передайте массив объектов — у каждого должен быть свой Id и набор полей для изменения.

Поля, которые нельзя менять через PATCH

Следующие типы полей в NocoDB присваиваются автоматически и доступны только для чтения. Их передача в теле запроса может быть проигнорирована или привести к ошибке:

  • Created At

  • Updated At

  • Id

Если PATCH возвращает ошибку, проверьте, не пытаетесь ли вы записать в такое поле.

Last updated