You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过REST API填充Bitrix24 CRM自定义字段?

解决Bitrix24 CRM自定义字段通过REST API无法填充的问题

我之前也碰到过一模一样的坑!核心问题是你用错了自定义字段的API键名——Bitrix24的CRM自定义字段在接口里不是用你设置的显示名称,而是要用系统自动生成的字段代码,格式通常是UF_CRM_XXXXXX(末尾的字符串是系统分配的唯一标识)。

具体解决步骤:

  1. 获取自定义字段的实际API键名
    调用crm.company.userfield.list接口来获取所有公司实体的自定义字段信息,代码示例:

    $customFields = CRest::call('crm.company.userfield.list');
    print_r($customFields);
    

    在返回的结果里,找到你需要的那个自定义字段,它的FIELD_NAME属性值就是你要在fields中使用的键名(比如UF_CRM_1698765432)。

  2. 替换代码中的字段键名
    把你原来代码里的"CUSTOM_FIELD"换成刚才拿到的FIELD_NAME值,修改后的代码示例:

    $company = CRest::call( 'crm.company.add', [
        'fields' => [
            "TITLE" => "Company 1" ,
            "COMPANY_TYPE" => "Customer" ,
            "CURRENCY_ID" => 'EUR' ,
            "REVENUE" => "123000" ,
            "ADDRESS" => "st. some address" ,
            "ADDRESS_CITY" => "some city" ,
            "ADDRESS_POSTAL_CODE" => "12345" ,
            "ADDRESS_PROVINCE" => "some province" ,
            "PHONE" => [
                ["VALUE" => "1230000000", "VALUE_TYPE" => "WORK"] ,
                ["VALUE" => "1234000000", "VALUE_TYPE" => "FAX"]
            ] ,
            "EMAIL" => [ ["VALUE" => "me@company1.com", "VALUE_TYPE" => "WORK"] ] ,
            "INDUSTRY" => "MANUFACTURING" ,
            // 替换成实际的自定义字段代码
            "UF_CRM_1698765432" => "Hey I'm not a standard field and I'm going to work now"
        ]
    ]);
    
  3. 特殊字段类型的注意事项
    如果你的自定义字段是特殊类型(比如多选框、关联联系人/产品、日期等),需要对应传入正确格式的值:

    • 多选字段:传入选中选项的ID数组,比如["UF_CRM_XXX" => [1, 3]]
    • 关联实体字段:传入对应实体的ID数组,比如关联联系人就传联系人ID数组
    • 日期字段:传入YYYY-MM-DD格式的字符串

很多Bitrix24 API新手都会踩这个坑,把自定义字段的显示名当成了API里的键名,只要换成系统生成的FIELD_NAME就能解决问题啦!

内容的提问来源于stack exchange,提问作者Igic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 17:07:40