Bitrix24 rest api tasks - создание, изменение и удаление задач

Для работы над задачами будем использовать методы tasks.task.*

Получить поля задачи

Получить доступные поля задачи можно используя метод tasks.task.getFields

require_once (__DIR__."/crest.php");

$arTaskFields = CRest::call(
  "tasks.task.getFields",
  []
);

echo "<pre>";var_dump($arTaskFields);echo "</pre>";

Создание задачи

Чтобы создать задачу нужно воспользоваться методом tasks.task.add

require_once (__DIR__."/crest.php");

$result = CRest::call(
  "tasks.task.add",
  [
    "fields" => [
      "TITLE" => "test task name", //название задачи
      "RESPONSIBLE_ID" => 1, //ID ответственного
      "DESCRIPTION" => "Здесь должено быть описание задачи", //описание
      "UF_CRM_TASK" => ["D_2", "L_2", "C_2"], //массив, в котором указана привязка к сделке, лиду и контакту, у которых ID равен 2
      "UF_AUTO_397120965343" => "значение строкового поля",
      "UF_AUTO_623440760361" => 777, //значение числового поля
      "UF_AUTO_481217671836" => "15.02.2024 01:01:00", //значение поля дата со временем
      "UF_AUTO_405537248694" => true, //значение поля да/нет
      "DEADLINE" => "15.02.2024 15:05", //крайний срок 
    ]
  ]
);
echo "<pre>";var_dump($result);echo "</pre>";

В результате создастся задача, а в переменную $result вернется массив с данными созанной задачи

Изменение(обновление) задачи

Для изменения(обновления) задачи используется метод tasks.task.update.
Метод принимает 2 параметра: taskId - идентификатор задачи, fields - массив с полями задачи. Массив с полями идентичен массиву, который передаём при создании.

require_once (__DIR__."/crest.php");

$result = CRest::call(
  "tasks.task.update",
  [
    "taskId" => 30,
    "fields" => [
      "TITLE" => "new test task name", //новое название задачи
    ]
  ]
);

echo "<pre>";var_dump($result);echo "</pre>";

Получение данных

Чтобы получить информацию о задаче можно воспользоваться двумя методами:
tasks.task.get - метод получает данные для конкретной задачи по её ID.
tasks.task.list - метод получает массив задач по фильтру.

require_once (__DIR__."/crest.php");

$result = CRest::call(
  "tasks.task.get",
  [
    "taskId" => 30,
    "select" => ["ID","TITLE"]
  ]
);
echo "<pre>";var_dump($result);echo "</pre>";


$result = CRest::call(
  "tasks.task.list",
  [
    "filter" => ["ID" => 30],
    "select" => ["ID","TITLE"]
  ]
);
echo "<pre>";var_dump($result);echo "</pre>";

Удаление задачи

Чтобы удалить задачу воспольуемся методом tasks.task.delete, который принимает парамер taskId - идентификатор задачи.

require_once (__DIR__."/crest.php");

$result = CRest::call(
  "tasks.task.delete",
  [
    "taskId" => 28,
  ]
);
echo "<pre>";var_dump($result);echo "</pre>";

Завершить задачу

Для завершения задачи нужно воспользоваться методом tasks.task.complete, который принимает параметр taskId

require_once (__DIR__."/crest.php");

$result = CRest::call(
  "tasks.task.complete",
  [
    "taskId" => 30
  ]
);
echo "<pre>";var_dump($result);echo "</pre>";