0

我正在尝试返回可以匹配多个“PHONE”值的联系人列表。现在我可以得到一个匹配一个电话值但不是一个电话值数组的列表。这是我所拥有的:

let contactList = await bitrix.call('crm.contact.list', {
        "filter": {
            "PHONE": phoneArray,    //example ["1112223344","5556651234"]
        },
        "select": ["*","EMAIL","PHONE"]
    });

我基于他们的 API 文档,该文档显示了如何在此处匹配一个电话值

我还发现另一篇文章提到在可能有效的过滤器中使用“LOGIC”:“OR”。它是用 PHP 编写的,所以我不确定它是如何转换为 javascript 的。

4

1 回答 1

1

您可以使用crm.duplicate.findbycommhttps://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());          
         }
    }
);

但有一些限制:

包含最多 20 个电子邮件或电话号码的数组

也许它会使用批处理(https://training.bitrix24.com/rest_help/js_library/rest/callBatch.php

很遗憾crm.contact.list无法匹配多个“PHONE”值

于 2021-07-01T21:14:18.827 回答