Skip to content

Commit 0a8ecee

Browse files
committed
Add methods getContactsByPhone(), getTaskList()
1 parent ca00bf7 commit 0a8ecee

File tree

4 files changed

+59
-5
lines changed

4 files changed

+59
-5
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2019-2021 andrey-tech
3+
Copyright (c) 2019-2022 andrey-tech
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ try {
287287
- `fetchContactList(array $filter = [], array $select = [], array $order = []) :\Generator`
288288
Загружает все контакты с возможностью фильтрации, сортировки и выборки полей.
289289
Реализует [быстрый метод](https://dev.1c-bitrix.ru/rest_help/rest_sum/start.php) загрузки при работе с большими объемами данных.
290+
- `getContactsByPhone(int|string $phone, $select = []) :array` Возвращает контакты по номеру телефона.
290291
- `addContacts(array $contacts = [], array $params = []) :array` Пакетно добавляет контакты.
291292
- `updateContacts(array $contacts = [], array $params = []) :array` Пакетно обновляет контакты.
292293
- `deleteContacts(array $contactIds = []) :array` Пакетно удаляет контакты.
@@ -298,6 +299,7 @@ try {
298299

299300
+ `$contaxctId` - ID контакта;
300301
+ `$contactIds` - массив ID сделок;
302+
+ `$phone` - номер телефона;
301303
+ `$with` - имена связанных сущностей, возвращаемых вместе с контактом:
302304
* `\App\Bitrix24\Bitrix24API::$WITH_COMPANIES` - компании (возвращаются в виде массива в поле с именем, заданным публичным статическим свойством `Bitrix24API::$WITH_COMPANIES`);
303305
- `$fields` - набор полей сделки;
@@ -745,14 +747,17 @@ try {
745747
Методы для работы с задачами находятся в трейте `\App\Bitrix24\Task`:
746748

747749
- `getTask($taskId, array $select = []) :?array` Возвращает задачу по ID.
750+
- `getTaskList(array $filter = [], array $select = [], array $order = []): Generator` Возвращает все задачи.
748751
- `addTask(array $fields = []) :int` Добавляет новую задачу.
749752
- `addTasks(array $tasks = []) :array` Пакетно добавляет задачи.
750753
- `getTaskFields() :array` Возвращает описание полей задачи.
751754

752755
Параметры методов:
753756

754757
+ `$taskId` - ID задачи;
758+
+ `$filter` - параметры фильтрации;
755759
+ `$select` - параметры выборки полей;
760+
+ `$order` - параметры сортировки;
756761
+ `$fields` - набор полей задачи;
757762
+ `$tasks` - массив наборов полей задач.
758763

@@ -769,6 +774,12 @@ try {
769774
$task = $bx24->getTask(4325);
770775
print_r($task);
771776

777+
// Получаем все задачи
778+
$generator = $bx24->getTaskList();
779+
foreach ($generator as $result) {
780+
print_r($result);
781+
}
782+
772783
// Создаем новую задачу
773784
$taskId = $bx24->addTask([
774785
'TITLE' => 'Новая задача №123', // Название задачи

src/App/Bitrix24/Contact.php

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@
44
* Трейт Contact. Методы для работы с контактом в системе Bitrix24.
55
*
66
* @author andrey-tech
7-
* @copyright 2019-2021 andrey-tech
7+
* @copyright 2019-2022 andrey-tech
88
* @see https://github.com/andrey-tech/bitrix24-api-php
99
* @license MIT
1010
*
11-
* @version 1.2.2
11+
* @version 1.3.0
1212
*
1313
* v1.0.0 (14.10.2019) Начальная версия
1414
* v1.1.0 (15.11.2019) Добавлен метод getContactFields()
1515
* v1.2.0 (09.06.2020) Изменен метод getContact(), добавлен метод fetchContactList()
1616
* v1.2.1 (11.06.2020) Исправлен метод deleteContacts()
1717
* v1.2.2 (03.02.2021) Исправлено имя класса исключения в методах
18+
* v1.3.0 (22.05.2022) Добавлен метод getContactsByPhone()
1819
*/
1920

2021
declare(strict_types=1);
@@ -70,6 +71,24 @@ public function getContact($contactId, array $with = [])
7071
return $this->createResultWith($result, 'CONTACT', $with);
7172
}
7273

74+
/**
75+
* Возвращает контакты по номеру телефона
76+
*
77+
* @param int|string $phone Номер телефона
78+
* @param array $select Параметры выборки
79+
* @return array
80+
*/
81+
public function getContactsByPhone($phone, $select = [])
82+
{
83+
return $this->request(
84+
'crm.contact.list',
85+
[
86+
'filter' => [ 'PHONE' => $phone ],
87+
'select' => $select
88+
]
89+
);
90+
}
91+
7392
/**
7493
* Добавляет контакт
7594
*

src/App/Bitrix24/Task.php

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,23 @@
44
* Трейт Task. Методы для работы с задачами в системе Bitrix24.
55
*
66
* @author andrey-tech
7-
* @copyright 2019-2021 andrey-tech
7+
* @copyright 2019-2022 andrey-tech
88
* @see https://github.com/andrey-tech/bitrix24-api-php
99
* @license MIT
1010
*
11-
* @version 1.0.1
11+
* @version 1.1.0
1212
*
1313
* v1.0.0 (02.12.2019) Начальная версия
1414
* v1.0.1 (03.02.2021) Исправлено имя класса исключения в методах
15+
* v1.1.0 (22.05.2022) Добавлен метод getTaskList()
1516
*/
1617

1718
declare(strict_types=1);
1819

1920
namespace App\Bitrix24;
2021

22+
use Generator;
23+
2124
trait Task
2225
{
2326
/**
@@ -51,6 +54,27 @@ public function getTask($taskId, array $select = [])
5154
return $task;
5255
}
5356

57+
/**
58+
* Возвращает все задачи
59+
*
60+
* @param array $filter Параметры фильтрации
61+
* @param array $order Параметры
62+
* сортировки
63+
* @param array $select Параметры выборки
64+
* @return Generator
65+
* @see https://dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_list.php
66+
*/
67+
public function getTaskList(array $filter = [], array $select = [], array $order = []): Generator
68+
{
69+
$params = [
70+
'order' => $order,
71+
'filter' => $filter,
72+
'select' => $select
73+
];
74+
75+
return $this->getList('tasks.task.list', $params);
76+
}
77+
5478
/**
5579
* Добавляет задачу
5680
*

0 commit comments

Comments
 (0)