Skip to content

Commit

Permalink
Add methods getContactsByPhone(), getTaskList()
Browse files Browse the repository at this point in the history
  • Loading branch information
andrey-tech committed May 22, 2022
1 parent ca00bf7 commit 0a8ecee
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 5 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2019-2021 andrey-tech
Copyright (c) 2019-2022 andrey-tech

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,7 @@ try {
- `fetchContactList(array $filter = [], array $select = [], array $order = []) :\Generator`
Загружает все контакты с возможностью фильтрации, сортировки и выборки полей.
Реализует [быстрый метод](https://dev.1c-bitrix.ru/rest_help/rest_sum/start.php) загрузки при работе с большими объемами данных.
- `getContactsByPhone(int|string $phone, $select = []) :array` Возвращает контакты по номеру телефона.
- `addContacts(array $contacts = [], array $params = []) :array` Пакетно добавляет контакты.
- `updateContacts(array $contacts = [], array $params = []) :array` Пакетно обновляет контакты.
- `deleteContacts(array $contactIds = []) :array` Пакетно удаляет контакты.
Expand All @@ -298,6 +299,7 @@ try {

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

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

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

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

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

// Получаем все задачи
$generator = $bx24->getTaskList();
foreach ($generator as $result) {
print_r($result);
}

// Создаем новую задачу
$taskId = $bx24->addTask([
'TITLE' => 'Новая задача №123', // Название задачи
Expand Down
23 changes: 21 additions & 2 deletions src/App/Bitrix24/Contact.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,18 @@
* Трейт Contact. Методы для работы с контактом в системе Bitrix24.
*
* @author andrey-tech
* @copyright 2019-2021 andrey-tech
* @copyright 2019-2022 andrey-tech
* @see https://github.com/andrey-tech/bitrix24-api-php
* @license MIT
*
* @version 1.2.2
* @version 1.3.0
*
* v1.0.0 (14.10.2019) Начальная версия
* v1.1.0 (15.11.2019) Добавлен метод getContactFields()
* v1.2.0 (09.06.2020) Изменен метод getContact(), добавлен метод fetchContactList()
* v1.2.1 (11.06.2020) Исправлен метод deleteContacts()
* v1.2.2 (03.02.2021) Исправлено имя класса исключения в методах
* v1.3.0 (22.05.2022) Добавлен метод getContactsByPhone()
*/

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

/**
* Возвращает контакты по номеру телефона
*
* @param int|string $phone Номер телефона
* @param array $select Параметры выборки
* @return array
*/
public function getContactsByPhone($phone, $select = [])
{
return $this->request(
'crm.contact.list',
[
'filter' => [ 'PHONE' => $phone ],
'select' => $select
]
);
}

/**
* Добавляет контакт
*
Expand Down
28 changes: 26 additions & 2 deletions src/App/Bitrix24/Task.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,23 @@
* Трейт Task. Методы для работы с задачами в системе Bitrix24.
*
* @author andrey-tech
* @copyright 2019-2021 andrey-tech
* @copyright 2019-2022 andrey-tech
* @see https://github.com/andrey-tech/bitrix24-api-php
* @license MIT
*
* @version 1.0.1
* @version 1.1.0
*
* v1.0.0 (02.12.2019) Начальная версия
* v1.0.1 (03.02.2021) Исправлено имя класса исключения в методах
* v1.1.0 (22.05.2022) Добавлен метод getTaskList()
*/

declare(strict_types=1);

namespace App\Bitrix24;

use Generator;

trait Task
{
/**
Expand Down Expand Up @@ -51,6 +54,27 @@ public function getTask($taskId, array $select = [])
return $task;
}

/**
* Возвращает все задачи
*
* @param array $filter Параметры фильтрации
* @param array $order Параметры
* сортировки
* @param array $select Параметры выборки
* @return Generator
* @see https://dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_list.php
*/
public function getTaskList(array $filter = [], array $select = [], array $order = []): Generator
{
$params = [
'order' => $order,
'filter' => $filter,
'select' => $select
];

return $this->getList('tasks.task.list', $params);
}

/**
* Добавляет задачу
*
Expand Down

0 comments on commit 0a8ecee

Please sign in to comment.