Событие при удалении задачи OnTaskDelete

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Scope: task

Кто может подписаться: любой пользователь

Событие ONTASKDELETE срабатывает после удаления задачи.

События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения

Что получает обработчик

Данные передаются в виде POST-запроса

{
    "event": "ONTASKDELETE",
    "data": {
        "FIELDS_BEFORE": {
            "ID": 123
        },
        "FIELDS_AFTER": "undefined",
        "IS_ACCESSIBLE_BEFORE": "undefined",
        "IS_ACCESSIBLE_AFTER": "N"
    },
    "ts": "1466439714",
    "auth": {
        "access_token": "s6p6eclrvim6da22ft9ch94ekreb52lv",
        "expires_in": "3600",
        "scope": "task",
        "domain": "some-domain.bitrix24.com",
        "server_endpoint": "https://oauth.bitrix24.tech/rest/",
        "status": "F",
        "client_endpoint": "https://some-domain.bitrix24.com/rest/",
        "member_id": "a223c6b3710f85df22e9377d6c4f7553",
        "refresh_token": "4s386p3q0tr8dy89xvmt96234v3dljg8",
        "application_token": "51856fefc120afa4b628cc82d3935cce"
    }
}

Обязательные параметры отмечены *

Параметр
тип

Описание

event*
string

Символьный код события.

В данном случае — ONTASKDELETE

data*
object

Объект, содержащий данные о событии удаления задачи.

Структура описана ниже

ts*
timestamp

Дата и время отправки события из очереди событий

auth*
object

Объект, содержащий параметры авторизации и данные о портале, на котором произошло событие.

Структура описана ниже

Параметр data[]

Название
тип

Описание

FIELDS_BEFORE*
undefined|object

Поля задачи до события (подробное описание приведено ниже). В случае отсутствия доступных полей задачи данное поле будет содержать значение undefined

FIELDS_AFTER*
undefined|object

Поля задачи после события (подробное описание приведено ниже). В случае отсутствия доступных полей задачи данное поле будет содержать значение undefined

IS_ACCESSIBLE_BEFORE*
string

Была ли доступна задача на чтение до события (подробное описание приведено ниже)

IS_ACCESSIBLE_AFTER*
string

Стала ли доступна задача на чтение после события (подробное описание приведено ниже)

Поле FIELDS_BEFORE

Название
тип

Описание

ID*
integer

Идентификатор удаленной задачи

Поле FIELDS_AFTER

Название
тип

Описание

ID*
integer

Идентификатор удаленной задачи

Поле IS_ACCESSIBLE_BEFORE

Название
тип

Описание

IS_ACCESSIBLE_BEFORE*
string

Возможные значения:

  • Y (Yes) — да
  • N (No) — нет
  • undefined — не определено или проверка не производилась

Поле IS_ACCESSIBLE_AFTER

Название
тип

Описание

IS_ACCESSIBLE_AFTER*
string

Возможные значения:

  • Y (Yes) — да
  • N (No) — нет
  • undefined — не определено или проверка не производилась

Параметр auth

Обязательные параметры отмечены *

Название
тип

Описание

access_token
string

Токен авторизации OAuth 2.0

expires_in
integer

Время в секундах до истечения срока действия токена

scope*
string

Скоуп, в рамках которого произошло событие

domain*
string

Адрес Битрикс24, на котором произошло событие

server_endpoint*
string

Адрес сервера авторизации Битрикс24, необходимый для обновления токенов OAuth 2.0

status*
string

Статус приложения, подписавшегося на это событие:

client_endpoint*
string

Общий путь для вызовов методов REST API для Битрикс24, на котором произошло событие

member_id*
string

Идентификатор Битрикс24, на котором произошло событие

refresh_token
string

Токен продления авторизации OAuth 2.0

application_token*
string

Токен для безопасной обработки событий

Токены авторизации не всегда передаются в обработчик события. Если хит, инициировавший событие, не удалось привязать к конкретному пользователю Битрикс24, токены не передаются. Обязательно проверяйте содержимое ключа auth в коде.

Рекомендуем хранить токены, полученные ранее при установке приложения. Используйте их при работе с интерфейсом приложения в виде встроек, виджетов и так далее.

Примеры кода

Как использовать примеры в документации

// 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 BindEventResult = boolean

try {
  const response = await $b24.actions.v2.call.make<BindEventResult>({
    method: 'event.bind',
    params: {
      event: 'onTaskDelete',
      handler: 'https://example.com/handler.php',
    },
    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('Event bound successfully:', result)
  }
} 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 bindTaskDeleteEvent() {
    try {
      // Initialize the SDK inside a Bitrix24 frame
      const $b24 = await B24Js.initializeB24Frame()

      const response = await $b24.actions.v2.call.make({
        method: 'event.bind',
        params: {
          event: 'onTaskDelete',
          handler: 'https://example.com/handler.php',
        },
        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('Event bound successfully:', result)
    } catch (error) {
      // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
      console.error(error)
    }
  }

  document.addEventListener('DOMContentLoaded', bindTaskDeleteEvent)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.event.bind(
        event='onTaskDelete',
        handler="https://example.com/handler.php",
    ).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(
            'event.bind',
            [
                'event'   => 'onTaskDelete',
                'handler' => 'https://example.com/handler.php',
            ]
        );

    $result = $response
        ->getResponseData()
        ->getResult();

    echo 'Success: ' . print_r($result, true);
    // Нужная вам логика обработки данных
    processData($result);

} catch (Throwable $e) {
    error_log($e->getMessage());
    echo 'Error binding event: ' . $e->getMessage();
}
BX24.callMethod(
    'event.bind',
    {
        "event": "onTaskDelete",
        "handler": "https://example.com/handler.php"
    },
    function(result) {
        if (result.error()) {
            console.error(result.error());
        } else {
            console.info(result.data());
        }
    }
);
require_once('crest.php');

$result = CRest::call(
    'event.bind',
    [
        'event' => 'onTaskDelete',
        'handler' => 'https://example.com/handler.php'
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';

Продолжите изучение