Создание объектов из письма

Создание объектов портала на основе входящего письма: задача, событие, чат, пост и привязка к делу CRM.

Битрикс24 API: mail.message.create* Скоуп: mail

Создать задачу из письма

POST /v1/mail/messages/:id/task

Создаёт задачу из письма.

Параметры

Параметр В Тип Обяз. Описание
id path integer да Идентификатор письма, из которого создаётся задача

Поля запроса (body)

Поле Тип Обяз. Описание
messageId integer да Идентификатор письма, из которого создаётся задача
title string нет Заголовок задачи. По умолчанию — тема письма
responsibleId integer нет Идентификатор ответственного. По умолчанию — текущий пользователь
description string нет Описание задачи

Примеры

curl — личный ключ

Terminal
curl -X POST \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"messageId": 123, "title": "Обработать запрос клиента"}' \
  https://vibecode.bitrix24.tech/v1/mail/messages/123/task

curl — OAuth-приложение

Terminal
curl -X POST \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"messageId": 123, "title": "Обработать запрос клиента"}' \
  https://vibecode.bitrix24.tech/v1/mail/messages/123/task

JavaScript — личный ключ

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/mail/messages/123/task',
  {
    method: 'POST',
    headers: {
      'X-Api-Key': 'YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ messageId: 123, title: 'Обработать запрос клиента' }),
  }
)
const body = await res.json()
if (!body.success) throw new Error(body.error.code)
console.log(`Задача создана: ${body.data.taskId}`)

JavaScript — OAuth-приложение

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/mail/messages/123/task',
  {
    method: 'POST',
    headers: {
      'X-Api-Key': 'YOUR_APP_KEY',
      'Authorization': 'Bearer USER_SESSION_TOKEN',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ messageId: 123, title: 'Обработать запрос клиента' }),
  }
)

Поля ответа

Поле Тип Описание
success boolean true при успешном создании
data.success boolean Внутренний признак успеха операции
data.taskId integer Идентификатор созданной задачи
data.messageId integer Идентификатор письма, из которого создана задача

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

JSON
{
  "success": true,
  "data": {
    "success": true,
    "taskId": 4567,
    "messageId": 123
  }
}

Пример ответа при ошибке

422 — нарушена валидация (например, не передан messageId):

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Ошибка при валидации объекта запроса"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS Нечисловой или отрицательный :id в пути
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Неверный или просроченный ключ
401 KEY_INACTIVE Ключ деактивирован
401 KEY_EXPIRED Срок действия ключа истёк
401 TOKEN_MISSING Ключ не привязан к порталу Битрикс24
403 SCOPE_DENIED Ключу не хватает скоупа mail
422 BITRIX_ERROR Не передан messageId в теле, либо Битрикс24 отклонил запрос
429 RATE_LIMITED Превышен лимит запросов
502 BITRIX_UNAVAILABLE Битрикс24 недоступен

Полный список общих ошибок API — Ошибки.

Известные особенности

  • Если на портале настроены обязательные пользовательские поля задач, создание возвращает 422 — интеграция почты заполняет только заголовок, ответственного, описание и привязку к письму.
  • Идентификатор письма указывается дважды — в пути :id и в теле messageId; передавайте оба с одним значением.

Смотрите также