1 | <?php |
||
23 | class Task extends AbstractModel |
||
24 | { |
||
25 | use SetDateCreate, SetLastModified; |
||
26 | |||
27 | /** |
||
28 | * @var array Список доступный полей для модели (исключая кастомные поля) |
||
29 | */ |
||
30 | protected $fields = [ |
||
31 | 'created_by', |
||
32 | 'updated_by', |
||
33 | 'created_at', |
||
34 | 'updated_at', |
||
35 | 'responsible_user_id', |
||
36 | 'group_id', |
||
37 | 'entity_id', |
||
38 | 'entity_type', |
||
39 | 'duration', |
||
40 | 'is_completed', |
||
41 | 'task_type_id', |
||
42 | 'text', |
||
43 | 'result', |
||
44 | 'complete_till', |
||
45 | 'account_id' |
||
46 | ]; |
||
47 | |||
48 | /** |
||
49 | * @const int Типа задачи Контакт |
||
50 | */ |
||
51 | const TYPE_CONTACT = 1; |
||
52 | |||
53 | /** |
||
54 | * @const int Типа задачи Сделка |
||
55 | */ |
||
56 | const TYPE_LEAD = 2; |
||
57 | |||
58 | /** |
||
59 | * Сеттер для дата до которой необходимо завершить задачу |
||
60 | * |
||
61 | * Если указано время 23:59, то в интерфейсах системы |
||
62 | * вместо времени будет отображаться "Весь день" |
||
63 | * |
||
64 | * @param string $date Дата в произвольном формате |
||
65 | * @return $this |
||
66 | */ |
||
67 | 2 | public function setCompleteTill($date) |
|
73 | |||
74 | /** |
||
75 | * Список задач |
||
76 | * Метод для получения списка задач с возможностью фильтрации и постраничной выборки. |
||
77 | * Ограничение по возвращаемым на одной странице (offset) данным - 500 задач |
||
78 | * @link https://developers.amocrm.ru/rest_api/tasks_list.php |
||
79 | * @param array $parameters Массив параметров к amoCRM API |
||
80 | * @param string $url |
||
81 | * @param null|string $modified Дополнительная фильтрация по (изменено с) |
||
82 | * @return array Ответ amoCRM API |
||
83 | * @throws Exception |
||
84 | * @throws NetworkException |
||
85 | */ |
||
86 | 1 | public function apiList($parameters, $url = '/private/api/v2/json/tasks/list', $modified = null) |
|
92 | |||
93 | /** |
||
94 | * Получение одной задачи |
||
95 | * Метод для получения одной задачи по id |
||
96 | * @link https://www.amocrm.ru/developers/content/crm_platform/tasks-api#task-detail |
||
97 | * @param string $taskId идентификатор задачи |
||
98 | * @param string $url |
||
99 | * @param null|string $modified Дополнительная фильтрация по (изменено с) |
||
100 | * @return array Ответ amoCRM API |
||
101 | * @throws Exception |
||
102 | * @throws NetworkException |
||
103 | */ |
||
104 | public function apiListItem($taskId, $url = '/api/v4/tasks/', $parameters = [], $modified = null) |
||
105 | { |
||
106 | $response = $this->getRequest($url.$taskId, $parameters, $modified); |
||
107 | |||
108 | return $response ? : []; |
||
109 | } |
||
110 | |||
111 | /** |
||
112 | * Добавление задачи |
||
113 | * |
||
114 | * Метод позволяет добавлять задачи по одной или пакетно |
||
115 | * |
||
116 | * @link https://developers.amocrm.ru/rest_api/tasks_set.php |
||
117 | * @param array $tasks Массив задач для пакетного добавления |
||
118 | * @return int|array Уникальный идентификатор задачи или массив при пакетном добавлении |
||
119 | */ |
||
120 | 1 | public function apiAdd($tasks = []) |
|
148 | |||
149 | /** |
||
150 | * Обновление задачи |
||
151 | * |
||
152 | * Метод позволяет обновлять данные по уже существующим задачам |
||
153 | * |
||
154 | * @link https://developers.amocrm.ru/rest_api/tasks_set.php |
||
155 | * @param int $id Уникальный идентификатор задачи |
||
156 | * @param string $text Текст задачи |
||
157 | * @param string $modified Дата последнего изменения данной сущности |
||
158 | * @return bool Флаг успешности выполнения запроса |
||
159 | * @throws Exception |
||
160 | */ |
||
161 | 2 | public function apiUpdate($id, $text, $modified = 'now') |
|
182 | } |
||
183 |