我如何使用 Bitrix API 来过滤使用一个键的多个值的联系人?
How do I use the Bitrix API to filter contacts using multiple values for one key?
我正在尝试 return 可以匹配多个“PHONE”值的联系人列表。现在我可以获得一个匹配一个 phone 值但不匹配 phone 值数组的列表。这是我拥有的:
let contactList = await bitrix.call('crm.contact.list', {
"filter": {
"PHONE": phoneArray, //example ["1112223344","5556651234"]
},
"select": ["*","EMAIL","PHONE"]
});
我基于他们的 API 文档,该文档展示了如何匹配一个 phone 值 here
还有 another article 我发现提到在过滤器中使用 "LOGIC":"OR" 可能会起作用。它是用 PHP 写的,所以我不确定它是如何翻译成 javascript.
您可以使用 crm.duplicate.findbycomm
(https://training.bitrix24.com/rest_help/crm/auxiliary/duplicates/crm.duplicate.findbycomm.php):
BX24.callMethod(
"crm.duplicate.findbycomm",
{
entity_type: "CONTACT",
type: "PHONE",
values: [ "8976543", "11223355" ],
},
function(result)
{
if(result.error())
console.error(result.error());
else
{
console.dir(result.data());
}
}
);
但也有限制:
An array containing up to 20 e-mails or phone numbers
也许它会使用批处理 (https://training.bitrix24.com/rest_help/js_library/rest/callBatch.php)
遗憾的是 crm.contact.list
无法匹配多个“PHONE”值
我正在尝试 return 可以匹配多个“PHONE”值的联系人列表。现在我可以获得一个匹配一个 phone 值但不匹配 phone 值数组的列表。这是我拥有的:
let contactList = await bitrix.call('crm.contact.list', {
"filter": {
"PHONE": phoneArray, //example ["1112223344","5556651234"]
},
"select": ["*","EMAIL","PHONE"]
});
我基于他们的 API 文档,该文档展示了如何匹配一个 phone 值 here
还有 another article 我发现提到在过滤器中使用 "LOGIC":"OR" 可能会起作用。它是用 PHP 写的,所以我不确定它是如何翻译成 javascript.
您可以使用 crm.duplicate.findbycomm
(https://training.bitrix24.com/rest_help/crm/auxiliary/duplicates/crm.duplicate.findbycomm.php):
BX24.callMethod(
"crm.duplicate.findbycomm",
{
entity_type: "CONTACT",
type: "PHONE",
values: [ "8976543", "11223355" ],
},
function(result)
{
if(result.error())
console.error(result.error());
else
{
console.dir(result.data());
}
}
);
但也有限制:
An array containing up to 20 e-mails or phone numbers
也许它会使用批处理 (https://training.bitrix24.com/rest_help/js_library/rest/callBatch.php)
遗憾的是 crm.contact.list
无法匹配多个“PHONE”值