Table API
Table API позволяет вам производить операции CRUD (создание, чтение, обновление и удаление) на созданных таблицах.
При обработке запросов на операции CRUD посредством Table API учитываются правила контроля доступа (ACL).
Формат URL Table API:
Название | Значение |
---|---|
URL по умолчанию | /rest/v1/table/ |
Авторизация
Table API поддерживает два типа запросов на авторизацию:
- Basic Auth – аутентификация включает в себя отправку запроса с проверенным именем пользователя и паролем.
- Bearer Token – аутентификация с ключом доступа. Токен представляет собой текстовую строку, которая включена в заголовок запроса.
Операция CREATE
Используйте метод POST, чтобы создать запись в указанной таблице. Метод не поддерживает создание нескольких записей.
Пример:
POST /rest/v1/table/{tableName}
Параметры тела запроса
Вы можете указать необходимое количество колонок и их значений.
Параметр | Значение |
---|---|
column_name | column_value |
Используйте следующие параметры с этим методом:
Параметр | Описание |
---|---|
sysparm_display_value | Флаг, определяющий тип возвращаемых данных. Валидные значения:
|
sysparm_exclude_reference_link | Флаг, указывающий на исключение ссылок Table API (/rest/v1/table/) для ссылочных полей.
|
sysparm_fields | Список полей, разделенных запятой, которые должны вернуться в ответе. Параметр поддерживает использование dot-walking. Dot-walking не работает для таблицы Запланированные задания (sys_schedule_job), ее дочерних таблиц и таблицы Индикаторы (sys_indicator), так как после создания запись проходит обработку и не сразу появляется в базе данных. Пример значения: number,caller.phone |
sysparm_view | Представление формы, поля которого должны вернуться в ответе. Обратите внимание, что этот параметр может быть переопределен параметром sysparm_fields. Из набора колонок представления, указанного в sysparm_view, выводятся только те, что указаны в sysparm_fields. Если указаны поля в sysparm_fields, которых нет в выбранном представлении, оно не выведется. Если параметр не задан, в ответе на запрос возвращаются значения всех колонок таблицы. |
Используйте тело запроса типа raw JSON вместо form-data.
POST /rest/v1/table/task HTTP/1.1
Host: sandbox-01.dev.simpleone.ru
Authorization: Bearer 70xlHwLAgSeBKF7Dafbu-lcUrWlvw4eu
Content-Type: application/json
Content-Length: 43
{
"subject": "Task created by REST"
}
Ответ
Операция READ
Операции чтения в SimpleOne ограничены методом GET.
- Для извлечения одной записи из указанной таблицы, используйте следующий шаблон URL:
GET /rest/v1/table/{tableName}/{sys_id}
- Для извлечения нескольких записей, используйте следующий шаблон URL:
GET /rest/v1/table/{tableName}
Используйте следующие параметры с этим методом:
Параметр | Описание |
---|---|
sysparm_query | Закодированная строка запроса, которая используется для фильтрации результатов. Параметр поддерживает использование dot-walking. Пример значения: active=1. Для создания сложного запроса, используйте системные названия операторов и строку условий. |
sysparm_display_value | Флаг, определяющий тип возвращаемых данных. Валидные значения:
|
sysparm_exclude_reference_link |
|
sysparm_fields | Список полей, разделенных запятой, которые должны вернуться в ответе. Параметр поддерживает использование dot-walking. Dot-walking не работает для таблицы Запланированные задания (sys_schedule_job), ее дочерних таблиц и таблицы Индикаторы (sys_indicator), так как после создания запись проходит обработку и не сразу появляется в базе данных. Пример значения: number,caller.phone |
sysparm_view | Представление формы, поля которого должны вернуться в ответе. Обратите внимание, что этот параметр может быть переопределен параметром sysparm_fields. Из набора колонок представления, указанного в sysparm_view, выводятся только те, что указаны в sysparm_fields. Если указаны поля в sysparm_fields, которых нет в выбранном представлении, оно не выведется. Если параметр не задан, в ответе на запрос возвращаются значения всех колонок таблицы. |
sysparm_limit | Максимальное количество результатов, возвращаемое запросом. Значение по умолчанию: 20. |
sysparm_page | Номер страницы, с которой начнется чтение. Например, если значение параметра sysparm_limit – 40, а у sysparm_page значение равно двум, то ответ будет включать записи 41–80. Значение по умолчанию: 1. |
Используйте тело запроса типа raw JSON вместо form-data.
GET /rest/v1/table/task?sysparm_query=active=1&sysparm_fields=number,caller&sysparm_limit=1&sysparm_exclude_reference_link=true HTTP/1.1
Host: sandbox-01.dev.simpleone.ru
Authorization: Bearer 70xlHwLAgSeBKF7Dafbu-lcUrWlvw4eu
Ответ
Операция UPDATE
Для операции обновления доступны два метода: PUT и PATCH. PUT обновляет запись целиком, при этом любые поля, не включенные в тело запроса, будут перезаписаны значениями null или по умолчанию. PATCH обновляет только те поля, которые указаны в теле запроса, без изменения остальных полей записи.
Параметры тела
Вы можете указать необходимое количество колонок и их значений.
Параметр | Значение |
---|---|
column_name | column_value |
Используйте следующие параметры с этим методами PUT и PATCH:
Параметр | Описание |
---|---|
sysparm_display_value | Флаг, определяющий тип возвращаемых данных. Валидные значения:
|
sysparm_exclude_reference_link | Флаг, указывающий на исключение ссылок Table API (/rest/v1/table/) для ссылочных полей. Валидные значения:
|
sysparm_fields | Список полей, разделенных запятой, которые должны вернуться в ответе. Параметр поддерживает использование dot-walking. Dot-walking не работает для таблицы Запланированные задания (sys_schedule_job), ее дочерних таблиц и таблицы Индикаторы (sys_indicator), так как после создания запись проходит обработку и не сразу появляется в базе данных. Пример значения: number,caller.phone |
sysparm_view | Представление формы, поля которого должны вернуться в ответе. Обратите внимание, что этот параметр может быть переопределен параметром sysparm_fields. Из набора колонок представления, указанного в sysparm_view, выводятся только те, что указаны в sysparm_fields. Если указаны поля в sysparm_fields, которых нет в выбранном представлении, оно не выведется. Если параметр не задан, в ответе на запрос возвращаются значения всех колонок таблицы. |
Используйте тело запроса типа raw JSON вместо form-data.
PUT
Используйте метод для обновления записей в указанной таблице, используя значения, которые определены в теле запроса.
Пример:
PUT /rest/v1/table/{tableName}/{sys_id}
PUT /rest/v1/table/task/166032552604350116 HTTP/1.1
Host: sandbox-01.dev.simpleone.ru
Authorization: Bearer 70xlHwLAgSeBKF7Dafbu-lcUrWlvw4eu
Content-Type: application/json
Content-Length: 20
{
"state": "3"
}
Ответ
PATCH
Используйте метод для частичного обновления записей. Этот метод обновляет отдельные поля записи в указанной таблице, используя значения, которые определены в теле запроса.
Пример:
PATCH /rest/v1/table/{tableName}/{sys_id}
PATCH /rest/v1/table/task/166032552604350116 HTTP/1.1
Host: sandbox-01.dev.simpleone.ru
Authorization: Bearer 70xlHwLAgSeBKF7Dafbu-lcUrWlvw4eu
Content-Type: application/json
Content-Length: 43
{
"description": "Some description"
}
Ответ
Операция DELETE
Используйте метод DELETE, чтобы удалить из таблицы запись, указанную в запросе.
Пример:
DELETE /rest/v1/table/{tableName}/{sys_id}
Возможно два типа ответа:
- Запись была успешно удалена.
- Возникла ошибка.
Пример:
DELETE /rest/v1/table/sys_filter/166039918402151705 HTTP/1.1
Host: sandbox-01.dev.simpleone.ru
Authorization: Bearer 70xlHwLAgSeBKF7Dafbu-lcUrWlvw4eu
{
"status": "OK",
"data": {
"description": "Records successfully deleted."
}
}
{
"status": "ERROR",
"error_type": "SERVER",
"errors": [
{
"message": "You have no access to delete this records."
}
]
}