|
24 | 24 | - [Методы для работы с каталогами](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0%D0%BC%D0%B8) |
25 | 25 | - [Методы для работы с товарами](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0%D0%BC%D0%B8) |
26 | 26 | - [Методы работы с разделами товаров](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B0%D0%BC%D0%B8-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2) |
| 27 | + - [Методы работы с товарными позициями](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D1%8F%D0%BC%D0%B8) |
27 | 28 | - [Методы для работы с пользователями](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8) |
28 | 29 | - [Методы работы с задачами](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D0%BC%D0%B8) |
29 | 30 | - [Методы для работы с делами](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B5%D0%BB%D0%B0%D0%BC%D0%B8) |
30 | 31 | - [Методы для работы с диском](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B8%D1%81%D0%BA%D0%BE%D0%BC) |
| 32 | + - [Методы для работы с лидами](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BB%D0%B8%D0%B4%D0%B0%D0%BC%D0%B8) |
31 | 33 | - [Вспомогательные классы](#%D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B) |
32 | 34 | - [Класс `HTTP`](#%D0%9A%D0%BB%D0%B0%D1%81%D1%81-http) |
33 | 35 | - [Дополнительные параметры](#%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-1) |
|
48 | 50 | - PHP >= 7.0; |
49 | 51 | - класс [`HTTP`](https://github.com/andrey-tech/http-client-php) >= 3.0 - НТТР(S) клиент с троттлингом запросов, поддержкой маркера BOM в теле сообщения формата JSON и выводом отладочной информации о запросах и ответах в STDOUT; |
50 | 52 | - класс [`DebugLogger`](https://github.com/andrey-tech/debug-logger-php) >= 2.0 - логгер, сохраняющий отладочную информацию в файл вместе с данными об объеме используемой оперативной памяти и прошедшем времени; |
51 | | -- произвольный автозагрузчик классов, реализующий стандарт [PSR-4](https://www.php-fig.org/psr/psr-4/). |
| 53 | +- произвольный автозагрузчик классов, реализующий стандарт [PSR-4](https://www.php-fig.org/psr/psr-4/), в случае если не используется Composer. |
52 | 54 |
|
53 | 55 |
|
54 | 56 | <a id="%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0"></a> |
@@ -80,10 +82,12 @@ $ composer require andrey-tech/bitrix24-api-php:"^1.6" |
80 | 82 | - [Каталог](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0%D0%BC%D0%B8) |
81 | 83 | - [Товары](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0%D0%BC%D0%B8) |
82 | 84 | - [Разделы товаров](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B0%D0%BC%D0%B8-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2) |
| 85 | +- [Товарные позиции](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D1%8F%D0%BC%D0%B8) |
83 | 86 | - [Задачи](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D0%BC%D0%B8) |
84 | 87 | - [Дела](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B5%D0%BB%D0%B0%D0%BC%D0%B8) |
85 | 88 | - [Пользователи](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8) |
86 | 89 | - [Диск](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B8%D1%81%D0%BA%D0%BE%D0%BC) |
| 90 | +- [Лиды](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BB%D0%B8%D0%B4%D0%B0%D0%BC%D0%B8) |
87 | 91 |
|
88 | 92 | <a id="%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0"></a> |
89 | 93 | ### Базовые методы класса |
@@ -157,7 +161,6 @@ $ composer require andrey-tech/bitrix24-api-php:"^1.6" |
157 | 161 | - `setDealContactItems($dealId, array $contacts) :array` Устанавливает контакты, связанные со сделкой. |
158 | 162 | - `setDealProductRows($dealId, array $products) :array` Устанавливает товарные позиции, связанные со сделкой. |
159 | 163 | - `getDealProductRows($dealId) :array` Возвращает массив параметров товарных позиций, связанных со сделкой. |
160 | | -- `getDealProductRowFields() :array` Возвращает описание полей товарных позиций. |
161 | 164 | - `getDealFields() :array` Возвращает описание полей сделки, в том числе пользовательских. |
162 | 165 |
|
163 | 166 | Параметры методов: |
@@ -671,6 +674,14 @@ try { |
671 | 674 | } |
672 | 675 | ``` |
673 | 676 |
|
| 677 | +<a id="%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D1%8F%D0%BC%D0%B8"></a> |
| 678 | +### Методы работы с товарными позициями |
| 679 | + |
| 680 | +Методы для работы с товарными позициями находятся в трейте `\App\Bitrix24\ProductRow`: |
| 681 | + |
| 682 | +- `getProductRowFields() :array` Возвращает описание полей товарных позиций. |
| 683 | + |
| 684 | + |
674 | 685 | <a id="%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8"></a> |
675 | 686 | ### Методы для работы с пользователями |
676 | 687 |
|
@@ -893,6 +904,88 @@ try { |
893 | 904 | } |
894 | 905 | ``` |
895 | 906 |
|
| 907 | +<a id="%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BB%D0%B8%D0%B4%D0%B0%D0%BC%D0%B8"></a> |
| 908 | +### Методы для работы с лидами |
| 909 | + |
| 910 | +Методы для работы с лидами находятся в трейте `\App\Bitrix24\Lead`: |
| 911 | + |
| 912 | +- `getLeadFields() :array` Возвращает описание полей лида, в том числе пользовательских. |
| 913 | +- `getLead($leadId, array $with = []) :array` Возвращает лид по его ID. |
| 914 | +- `addLead(array $fields = [], array $params = []) :int` Добавляет лид и возвращает его ID. |
| 915 | +- `updateLead($leadId, array $fields = [], array $params = []) :int` Обновляет лид и возвращает его ID. |
| 916 | +- `deleteLead($leadId) :int` Удаляет лид по его ID. |
| 917 | +- `getLeadList(array $filter = [], array $select = [], array $order = []): Generator` |
| 918 | + Загружает все лиды с возможностью фильтрации, сортировки и выборки полей. |
| 919 | +- `fetchLeadList(array $filter = [], array $select = [], array $order = []): Generator` |
| 920 | + Загружает все лиды с возможностью фильтрации, сортировки и выборки полей. |
| 921 | + Реализует [быстрый метод](https://dev.1c-bitrix.ru/rest_help/rest_sum/start.php) загрузки при работе с большими объемами данных. |
| 922 | +- `getLeadProductRows($leadId) :array` Возвращает массив параметров товарных позиций, связанных с лидом. |
| 923 | +- `setLeadProductRows($leadId, array $products) :array` Устанавливает товарные позиции, связанные с лидом. |
| 924 | + |
| 925 | +Параметры методов: |
| 926 | + |
| 927 | ++ `$leadId` - ID лида; |
| 928 | ++ `$with` - имена связанных сущностей, возвращаемых вместе с лидом: |
| 929 | + * `\App\Bitrix24\Bitrix24API::$WITH_PRODUCTS` - товарные позиции (возвращаются в виде массива в поле с именем, заданным публичным статическим свойством `Bitrix24API::$PRODUCTS`); |
| 930 | +- `$fields` - набор полей лида; |
| 931 | +- `$params` - набор параметров лида; |
| 932 | +- `$filter` - параметры фильтрации; |
| 933 | +- `$order` - параметры сортировки; |
| 934 | +- `$select` - параметры выборки полей; |
| 935 | +- `$products` - массив параметров товарных позиций. |
| 936 | + |
| 937 | +```php |
| 938 | +use App\Bitrix24\Bitrix24API; |
| 939 | +use App\Bitrix24\Bitrix24APIException; |
| 940 | + |
| 941 | +try { |
| 942 | + |
| 943 | + $webhookURL = 'https://www.example.com/rest/1/u7ngxagzrhpuj31a/'; |
| 944 | + $bx24 = new Bitrix24API($webhookURL); |
| 945 | + |
| 946 | + // Добавляем новый лид |
| 947 | + $leadId = $bx24->addLead([ |
| 948 | + 'TITLE' => 'Новый лид №1' |
| 949 | + ]); |
| 950 | + print_r($leadId); |
| 951 | + |
| 952 | + // Устанавливаем набор связанных товарных позиций |
| 953 | + $bx24->setLeadProductRows($leadId, [ |
| 954 | + [ 'PRODUCT_ID' => 1689, 'PRICE' => 1500.00, 'QUANTITY' => 2 ], |
| 955 | + [ 'PRODUCT_ID' => 1860, 'PRICE' => 500.00, 'QUANTITY' => 15 ] |
| 956 | + ]); |
| 957 | + |
| 958 | + // Обновляем существующий лид |
| 959 | + $bx24->updateLead($leadId [ |
| 960 | + 'TITLE' => 'Новый лид №12' |
| 961 | + ]); |
| 962 | + |
| 963 | + // При необходимости, изменяем значение по умолчанию 'PRODUCTS' на '_PRODUCTS' для имени поля |
| 964 | + // со списком товарных позиций, возвращаемых вместе с лидом |
| 965 | + Bitrix24API::$WITH_PRODUCTS = '_PRODUCTS'; |
| 966 | + |
| 967 | + // Загружаем лид по ID вместе со связанными товарными позициями |
| 968 | + $lead = $bx24->getLead($leadId, [ Bitrix24API::$WITH_PRODUCTS ]); |
| 969 | + print_r($lead); |
| 970 | + |
| 971 | + // Удаляем существующий лид |
| 972 | + $bx24->deleteLead($leadId); |
| 973 | + |
| 974 | + // Загружаем все лиды используя быстрый метод при работе с большими объемами данных |
| 975 | + $generator = $bx24->fetchLeadList(); |
| 976 | + foreach ($generator as $leads) { |
| 977 | + foreach($leads as $lead) { |
| 978 | + print_r($lead); |
| 979 | + } |
| 980 | + } |
| 981 | + |
| 982 | +} catch (Bitrix24APIException $e) { |
| 983 | + printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage()); |
| 984 | +} catch (Exception $e) { |
| 985 | + printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage()); |
| 986 | +} |
| 987 | +``` |
| 988 | + |
896 | 989 | <a id="%D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B"></a> |
897 | 990 | ## Вспомогательные классы |
898 | 991 |
|
|
0 commit comments