已实现Bitrix24联系人添加,如何在crm.contact.add接口中添加PHONE数组?
解决Bitrix24 BX24.callMethod添加联系人PHONE字段的问题
我来帮你搞定这个电话字段的问题!在Bitrix24的CRM联系人接口中,PHONE字段并不是普通的字符串,而是需要以数组嵌套对象的格式传递,每个电话条目都要包含电话号码和类型信息。
正确的代码示例
你只需要把PHONE字段改成数组结构,每个元素包含VALUE(电话号码)和VALUE_TYPE(电话类型)两个必填属性就行,完整代码如下:
<script type="text/javascript"> BX24.callMethod( "crm.contact.add", { fields: { "NAME": "John", "SECOND_NAME": "Lancelot", "LAST_NAME": "Doe", "OPENED": "Y", // 多电话的数组写法 "PHONE": [ { "VALUE": "+1234567890", "VALUE_TYPE": "WORK" // 工作电话 }, { "VALUE": "+0987654321", "VALUE_TYPE": "MOBILE" // 移动电话 } ] } }, function(result) { // 处理接口返回结果 if (result.error()) { console.error("添加联系人失败:", result.error()); } else { console.log("联系人添加成功,ID:", result.data()); } } ); </script>
关键注意点
VALUE_TYPE的可选值是Bitrix24预定义的,常用的有:WORK(工作)、HOME(家庭)、MOBILE(移动)、FAX(传真)等- 如果只需要添加一个电话,数组里保留一个对象即可,不需要多个元素
- 一定要确保
PHONE是数组类型,而不是单个对象或字符串,这是很多人容易踩的坑 - 通过回调函数可以快速定位错误,比如字段格式不对、权限不足等问题
内容的提问来源于stack exchange,提问作者Szejqu




