Skip to main content

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} обеспечивает гибкость для частичного обновления данных действий в чек-листах. Убедитесь, что идентификатор и формат данных запроса указаны корректно, чтобы избежать ошибок. Правильная обработка ошибок поможет интегрировать этот функционал без проблем.