Есть ли в Bitrix24 REST API оператор OR для фильтров crm.deal.list?

Встала задача - необходимо искать сделки с фильтрацией по двум полям. Т.е мне надо найти все результаты, где поле UF_CRM_***1 или UF_CRM_***2 содержит подстроку. Я отправляю следующий массив:

$params = [ 
	'order'	=> [
		'STAGE_ID'	=> 'ASC'
	],
	'filter'	=> [
		[
			'LOGIC' => 'OR',
			'UF_CRM_***1' => trim( $_GET['proposal'] ),
			'UF_CRM_***2' => trim( $_GET['proposal'] )
		]
	],
	'select'	=> [ 'COMPANY_ID', 'STAGE_ID', 'UF_CRM_***'1, 'UF_CRM_***'2, 'DATE_MODIFY' ]
];


но судя по тому, что возвращаются все результаты, фильтр отрабатывает некорректно. Документация достаточно скупа на эту тему, возможно кто то сталкивался уже с таким?
  • Вопрос задан
  • 4447 просмотров
Решения вопроса 1
Ramapriya
@Ramapriya
Добрый день!

В rest API такая возможность не реализована, я в подобных случаях использовал пакетный метод batch.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@noroots Автор вопроса
Поскольку документация не особо помогает составить запрос, выложу тут решение.

$params = [
	'cmd' => [
        'kp_num' => 'crm.deal.list?' . http_build_query(
			[
				'filter'	=>  [
					'UF_CRM_***' => '111',
				],
				'select'	=> [
					'ID',
					'COMPANY_ID',
					'STAGE_ID',
					'UF_CRM_***',
					'DATE_MODIFY'
				]
			]
		),
        'ord_num' => 'crm.deal.list?' . http_build_query(
			[
				'filter'	=>  [
					'UF_CRM_***' => '222',
				],
				'select'	=> [
					'ID',
					'COMPANY_ID',
					'STAGE_ID',
					'UF_CRM_***,
					'DATE_MODIFY'
				]
			]
		),
	]
];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы