Skip to main content

POST - Создание нового действия

Эндпоинт POST /check-lists/actions используется для добавления нового действия в систему контрольных списков. Это действие может быть включено в задачи, управляемые через приложение. В этой статье мы рассмотрим, как отправлять запросы, описывать параметры, обрабатывать успешные ответы и ошибки.

Детали запроса

  • Эндпоинт: POST /check-lists/actions
  • Метод: POST
  • Заголовки:
    • Authorization: Требуется действующий токен доступа.
    • Content-Type: application/json
  • Тело запроса: JSON-объект, содержащий детали действия.

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

{
"name": "Устройство издает громкий звук",
"type": "BOOLEAN"
}

Разбор параметров

  • name: (обязательный) Название действия.
  • type: (обязательный) Тип действия. Возможные значения:
    • BOOLEAN: Значение true/false.
    • MEDIA: Медиафайл, такой как изображение или видео.
    • NUMBER: Числовое значение.
    • TEXT: Текстовое описание.

Пример кода на Python

import requests

# URL эндпоинта
url = "https://api.targpatrol.com/v1/check-lists/actions"

# Заголовки
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json",
}

# Тело запроса
data = {
"name": "Устройство издает громкий звук",
"type": "BOOLEAN"
}

# Отправка POST-запроса
response = requests.post(url, headers=headers, json=data)

# Обработка ответа
if response.status_code == 201:
action = response.json()
print("Действие успешно создано:", action)
else:
print(f"Ошибка: {response.status_code}, {response.json()}")

Успешный ответ

Если действие было успешно создано, API вернет объект с деталями нового действия:

{
"id": "873ac391-74cc-4cf7-97ac-27c4bed4f52b",
"name": "Устройство издает громкий звук",
"type": "BOOLEAN"
}

Параметры ответа:

  • id: Уникальный идентификатор действия.
  • name: Название действия.
  • type: Тип действия.

Ошибки

Если возникла проблема с запросом, API вернет сообщение об ошибке, объясняющее проблему.

1. Ошибка валидации

Происходит, когда отсутствуют обязательные поля или они имеют недопустимые значения.

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

{
"message": "Ошибка валидации",
"code": "validation.failed",
"timestamp": "2023-03-07T05:57:59.315Z",
"details": [
{
"message": "не может быть пустым",
"code": "validation.notnull.failed",
"identifier": "type"
}
]
}

Решение: Убедитесь, что все обязательные поля указаны и правильно отформатированы.

2. Несоответствие типа контента

Происходит, если тело запроса имеет неправильный формат.

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

{
"message": "Несоответствие типов контента",
"code": "not.acceptable",
"timestamp": "2023-03-07T05:57:59.315Z"
}

Решение: Установите заголовок Content-Type в значение application/json и проверьте форматирование тела запроса.

3. Внутренняя ошибка сервера

Происходит из-за проблем на стороне сервера.

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

{
"message": "Внутренняя ошибка сервера",
"code": "internal.server.error",
"timestamp": "2023-03-07T05:57:59.315Z"
}

Решение: Повторите запрос позже или свяжитесь с технической поддержкой.

Заключение

Эндпоинт POST /check-lists/actions является универсальным инструментом для создания пользовательских действий с гибкими параметрами. Следуйте приведенным примерам, чтобы правильно формировать запросы и обрабатывать ошибки.