微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Bitrix API 使用一个键的多个值过滤联系人?

如何解决如何使用 Bitrix API 使用一个键的多个值过滤联系人?

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

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

我基于他们的 API 文档来说明如何匹配一个电话值 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());          
         }
    }
);

但有限制:

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。