mail.message.createtask
Создать задачу из письма
Описание
Метод относится к REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.
Метод mail.message.createtask создает задачу из письма.
Параметры
messageId
integer
обязательный
Идентификатор письма.
Идентификатор можно получить методом mail.message.list
title
string
необязательный
Название задачи.
Если не передано, используется тема письма
responsibleId
integer
необязательный
Идентификатор ответственного.
Если не передан, используется текущий пользователь
description
string
необязательный
Описание задачи
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"messageId":15,"title":"Подготовить договор","responsibleId":7}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/mail.message.createtask
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"messageId":15,"title":"Подготовить договор","responsibleId":7,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/mail.message.createtask
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type CreateTaskResult = {
success: boolean
taskId: number
messageId: number
}
try {
const response = await $b24.actions.v3.call.make<CreateTaskResult>({
method: 'mail.message.createtask',
params: {
messageId: 15,
title: 'Prepare the contract',
responsibleId: 7,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Task created:', result.taskId, 'from message:', result.messageId)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function createMailMessageTask() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v3.call.make({
method: 'mail.message.createtask',
params: {
messageId: 15,
title: 'Prepare the contract',
responsibleId: 7,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Task created:', result.taskId, 'from message:', result.messageId)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', createMailMessageTask)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.mail.message.createtask(
message_id=15,
title='Подготовить договор',
responsible_id=7,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'mail.message.createtask',
[
'messageId' => 15,
'title' => 'Подготовить договор',
'responsibleId' => 7
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error: ' . $e->getMessage();
}
BX24.callMethod(
'mail.message.createtask',
{
messageId: 15,
title: 'Подготовить договор',
responsibleId: 7
},
function(result){
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'mail.message.createtask',
[
'messageId' => 15,
'title' => 'Подготовить договор',
'responsibleId' => 7
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "mail.message.createtask", b24.Params{
"messageId": 15,
"title": "Подготовить договор",
"responsibleId": 7,
})
if err != nil {
return fmt.Errorf("mail.message.createtask: %w", err)
}
var item struct {
Success bool `json:"success"`
TaskID b24.ID `json:"taskId"`
MessageID b24.ID `json:"messageId"`
}
if err := json.Unmarshal(res.Result, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Success, item.TaskID)
Ответ
HTTP-статус: 200
{
"result": {
"success": true,
"taskId": 42,
"messageId": 15
},
"time": {
"start": 1779819678,
"finish": 1779819678.84803,
"duration": 0.8480300903320312,
"processing": 0,
"date_start": "2026-05-26T21:21:18+03:00",
"date_finish": "2026-05-26T21:21:18+03:00",
"operating_reset_at": 1779820278,
"operating": 0
}
}
Возвращаемые данные
result
object
Объект с результатом выполнения операции
success
boolean
Признак успешного выполнения операции
taskId
integer
Идентификатор созданной задачи
messageId
integer
Идентификатор исходного письма
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": {
"code": "BITRIX_REST_V3_EXCEPTION_VALIDATION_REQUESTVALIDATIONEXCEPTION",
"message": "Ошибка при валидации объекта запроса",
"validation": [
{
"message": "Обязательное поле `messageId` не указано",
"field": "messageId"
}
]
}
}
| Код | Описание | Значение |
|---|---|---|
Поле |
Описание ошибки | Как исправить |
messageId |
Обязательное поле messageId не указано или передано некорректное значение |
Передайте messageId как положительное целое число больше 0 |
| — | Module tasks is not installed. | Установите и настройте модуль задач |
messageId |
Сообщение удалено или перемещено в другую папку | Проверьте, что письмо существует и доступно текущему пользователю |
| — | Не удалось создать задачу | Проверьте права доступа к задачам и корректность параметров |

