tasks.task.result.add
Добавить результат к задаче
Описание
Метод относится к REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.
Метод tasks.task.result.add добавляет результат к задаче.
Параметры
fields
object
обязательный
Объект с полями результата
Параметр fields
taskId
integer
обязательный
Идентификатор задачи.
Идентификатор можно получить при создании задачи, получении задачи или старым методом получения списка задач
text
string
обязательный
Текст результата
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"taskId":51,"text":"Работа по задаче выполнена"}}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/tasks.task.result.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"taskId":51,"text":"Работа по задаче выполнена"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/tasks.task.result.add
// 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, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type TaskResultAddResult = {
item: {
id: number,
taskId: number,
text: string,
authorId: number,
createdAt: ISODate,
updatedAt: ISODate | null,
status: string,
fileIds: number[],
rights: {
edit: boolean,
remove: boolean,
},
messageId: number | null,
},
}
try {
const response = await $b24.actions.v3.call.make<TaskResultAddResult>({
method: 'tasks.task.result.add',
params: {
fields: {
taskId: 51,
text: 'Task work has been completed',
},
},
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(result.item.id, result.item.taskId, result.item.status)
}
} 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 addTaskResult() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v3.call.make({
method: 'tasks.task.result.add',
params: {
fields: {
taskId: 51,
text: 'Task work has been completed',
},
},
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(result.item.id, result.item.taskId, result.item.status)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addTaskResult)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
fields = {
"taskId": 51,
"text": "Работа по задаче выполнена",
}
try:
bitrix_response = client.tasks.task.result.add(
fields=fields,
).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(
'tasks.task.result.add',
[
'fields' => [
'taskId' => 51,
'text' => 'Работа по задаче выполнена',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
}
BX24.callMethod(
'tasks.task.result.add',
{
fields: {
taskId: 51,
text: 'Работа по задаче выполнена'
}
},
function(result){
console.info(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'tasks.task.result.add',
[
'fields' => [
'taskId' => 51,
'text' => 'Работа по задаче выполнена',
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "tasks.task.result.add", b24.Params{
"fields": b24.Params{
"taskId": 51,
"text": "Работа по задаче выполнена",
},
})
if err != nil {
return fmt.Errorf("tasks.task.result.add: %w", err)
}
// Метод заворачивает ответ в объект с ключом "item".
raw, ok := b24.Unwrap(res.Result, "item")
if !ok {
return fmt.Errorf("в ответе нет ключа item")
}
var item struct {
ID b24.ID `json:"id"`
TaskID b24.ID `json:"taskId"`
Text string `json:"text"`
AuthorID b24.ID `json:"authorId"`
CreatedAt string `json:"createdAt"`
Status string `json:"status"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.ID, item.TaskID)
Ответ
HTTP-статус: 200
{
"result": {
"item": {
"id": 17,
"taskId": 51,
"text": "Работа по задаче выполнена",
"authorId": 1,
"createdAt": "2026-04-30T10:15:00+03:00",
"updatedAt": null,
"status": "open",
"fileIds": [],
"rights": {
"edit": true,
"remove": true
},
"messageId": null
}
},
"time": {
"start": 1777529700,
"finish": 1777529700.123456,
"duration": 0.123456,
"processing": 0.1,
"date_start": "2026-04-30T10:15:00+03:00",
"date_finish": "2026-04-30T10:15:00+03:00",
"operating_reset_at": 1777530300,
"operating": 0
}
}
Возвращаемые данные
result
object
Объект с данными ответа
item
object
Объект результата задачи (подробное описание)
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": {
"code": "BITRIX_REST_V3_EXCEPTION_VALIDATION_DTOVALIDATIONEXCEPTION",
"message": "Validation error",
"validation": [
{
"field": "text",
"message": "Не заполнено обязательное поле \"text\""
}
]
}
}
| Код | Описание | Значение |
|---|---|---|
Поле |
Описание ошибки | Как исправить |
taskId |
Обязательное поле taskId не указано |
Передайте идентификатор задачи в fields.taskId |
text |
Обязательное поле text не указано |
Передайте текст результата в fields.text |
fileIds |
Поле fileIds не доступно к заполнению |
Не передавайте fileIds в параметре fields |

