PATCH - Обновление действия по ID
Эндпоинт PATCH /check-lists/actions/{id}
позволяет частично обновить определённые поля действия в чек-листе по его уникальному идентификатору (ID). Этот метод изменяет только указанные поля, оставляя остальные без изменений.
Детали запроса
- Эндпоинт:
/check-lists/actions/{id}
- Метод: PATCH
- Параметры пути:
id
(обязательный): Уникальный идентификатор действия в чек-листе (UUID).
- Заголовки:
Authorization
: Требуется токен доступа.Content-Type
: application/json.
- Тело запроса: JSON-объект, содержащий поля для обновления.
Пример запроса
URL:
https://api.targpatrol.com/v1/check-lists/actions/be63c536-6cf3-4866-8970-37a956e3f403
Заголовки:
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
Данные для частичного обновления:
{
"name": "Device sounds loudly"
}
Пример на Python:
import requests
# URL с идентификатором действия
url = "https://api.targpatrol.com/v1/check-lists/actions/be63c536-6cf3-4866-8970-37a956e3f403"
# Заголовки
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json",
}
# Данные для частичного обновления
data = {
"name": "Device sounds loudly"
}
# Отправка PATCH-запроса
response = requests.patch(url, headers=headers, json=data)
# Обработка ответа
if response.status_code == 200:
updated_action = response.json()
print("Обновлённое действие:", updated_action)
else:
print(f"Ошибка: {response.status_code}, {response.json()}")
Пример успешного ответа
Если запрос выполнен успешно, API возвращает обновлённые данные действия:
{
"id": "be63c536-6cf3-4866-8970-37a956e3f403",
"name": "Device sounds loudly",
"type": "BOOLEAN"
}
Поля ответа:
id
: Уникальный идентификатор действия.name
: Обновлённое название действия.type
: Тип действия, остающийся без изменений (например, BOOLEAN).
Обработка ошибок
1. Некорректные данные
Возникает, если идентификатор не соответствует формату UUID.
Пример ответа:
{
"message": "invalid input data",
"code": "input.data.invalid",
"timestamp": "2023-03-07T05:57:59.315Z",
"details": [
{
"message": "invalid data type",
"code": "data.type.invalid",
"identifier": "id",
"args": [
"[UUID]"
]
}
]
}
Решение: Убедитесь, что идентификатор имеет формат UUID, например: be63c536-6cf3-4866-8970-37a956e3f403
.
2. Ресурс не найден
Возникает, если действие с указанным ID отсутствует в системе.
Пример ответа:
{
"message": "resource wasn't found",
"code": "not.found",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Решение: Проверьте, что ID соответствует существующему действию.
3. Несоответствие Content-Type
Возникает, если запрос не содержит заголовок Content-Type
или тело запроса не является корректным JSON.
Пример ответа:
{
"message": "mismatch in the types of content",
"code": "not.acceptable",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Решение: Убедитесь, что заголовок Content-Type
установлен как application/json
и тело запроса правильно сформатировано.
4. Внутренняя ошибка сервера
Возникает из-за технических проблем на стороне сервера.
Пример ответа:
{
"message": "internal server error",
"code": "internal.server.error",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Решение: Повторите запрос позже или свяжитесь с технической поддержкой.
Заключение
Эндпоинт PATCH /check-lists/actions/{id}
обеспечивает гибкость для частичного обновления данных действий в чек-листах. Убедитесь, что идентификатор и формат данных запроса указаны корректно, чтобы избежать ошибок. Правильная обработка ошибок поможет интегрировать этот функционал без проблем.