开启线索自定义字段的场景下如何使用线索API

2021-07-21 4574

线索字段分为系统预置字段和自定义字段。如果您需要创建含自定义字段的线索请先获取自定义字段的元数据,否则可以直接跳过元数据和字典项部分。

获取元数据

1. URL和请求方式

``` (GET)https://api-aifanfan.baidu.com/sales/v1/meta-entity/leads ```

2. 返回结果

下面展示跟自定义字段相关的部分返回结果:

``` { "fieldCnName": "已付款金额", // 字段中文名称 "fieldEnName": "amountPaid", // 字段英文名称名称 "type": "String", // 字段类型, 可能取值如下:Integer,Short,Byte,Long,BigDecimal,Double,Float,Boolean,Timestamp,Date,String "constraints": [{ "type": "REQUIRED", // 是否必填, true表示必填, false表示非必填 "value": "true", // 取值true or false "description": "必填字段" }, { "type": "MIN_LENGTH", // 最小长度 "value": "1", // 最小长度为1 "description": "最小长度为1" }, { "type": "MAX_LENGTH", // 最大长度 "value": "12", // 最大长度为12 "description": "最大长度为12" }, { "type": "DECIMAL_POINT", // 小数位数 "value": "2", // 2位小数 "description": "小数位数不超过2位" }, { "type": "ENUM", // 字段的枚举值 "value": "1,2,3", //1 2 3为三个枚举值 "description": "仅允许填以上值" }, { "type": "UNIQUE", // 是否唯一 "value": "true", // 取值true or false, true表示唯一, false表示不唯一 "description": "不允许重复" }, { "type": "PATTERN", // 正则表达式 "value": "^[^-]{0,}$", // 正则表达式 "description": "输入格式需满足正则条件" }, { "type": "IS_PREVIOUS", // 是否需要保证在当前日期之前 "value": "true", // 取值true or false, true表示不需要保证在当前日期之前, false表示不需要保证在当前日期之前 "description": "需要保证在当前日期之前, 仅支持到天粒度" } ], // 如果没有约束, 则该字段为[]。目前仅有上述8种类型的约束,只有存在相应约束时才会返回相应的约束条件。比如只有REQUIRED约束,那constraints里面只有一个元素。 "enable": true, // 是否启用, true表示启用, false表示未启用 "dict": true, // 是否是字典, true表示为字典, false表示不是字典 "dictType": "amountPaid", // 关联的字典类型, 如果isDict为false, 则该字段为null "dynamicField": true // 是否是动态字段, true表示是动态字段, false表示不是动态字段 } ```

我们需要获取的字段为:

``` "fieldEnName": 用于构造参数时,映射自定义字段 ```

如果您的自定义字段为字典类型(单选按钮、多选按钮、下拉单选和下拉多选),则还需要关注以下字段:

``` "dictType": 用于后续字典类型自定义字段的可选值 ```

如果您的自定义字段没有字典类型则可跳过获取字典项步骤。

获取字典项

1. URL和请求方式

``` (GET)https://api-aifanfan.baidu.com/sales/v1/dicts/items?dictType=amountPaid ```

此时我们需要用到获取元数据步骤中,获取到的dictType字段值amountPaid。

2. 返回结果

下面展示跟自定义字段相关的部分返回结果:

``` { "area": { "dictType": "area", "dictSource": 0, // 0:预置;1:自定义 "content": [{ "dictId": "1", "dictName": "北京", "itemSource": 0, // 0:预置;1:自定义 "parentDictId": null // 父级码值,无父级,null }, { "dictId": "101", "dictName": "东城", "itemSource": 0, "parentDictId": "1" // 父级码值,1:北京 }, { "dictId": "102", "dictName": "西城", "itemSource": 0, "parentDictId": "1" }, { "dictId": "2", "dictName": "河北", "itemSource": 0, "parentDictId": null } ] } } ```

其中dictId为字典类型自定义字段的可选值。

创建线索

3. 设置请求Header

``` Accept: application/json Content-Type: application/json;charset=UTF-8 按需设置下面两个参数: X-BCE-STAGE: test(测试)/pre-release(预发布)/release(正式发布) X-BCE-SIGNATURE: {{auth}} ```

其中,{{auth}}签名串根据开发语言参考生成签名示例代码,java代码使用java sdk。

2. URL和请求方式

``` (POST)https://api-aifanfan.baidu.com/sales/v1/leads ```

3. 设置Body

在构造创建线索参数之前,请仔细阅读爱番番API在线列表的线索创建接口部分。

``` { "businessParam": { "leadsSource": 1, "leadsPool": "12334-1", "leadsGroup": 1, "region": 385, "address": "北京市-海淀区-上地十街10号", "remark": "唐朝浪漫主义诗人", "name": "李白", "mobilePhone": ["13661236633","13661236634"], "gender": 1, "birthday": "1993-01-01", "email": "libai@baidu.com", "wechat": "litaibai", "qq": "1554343100", "telephone": "010-82071163", "company": "百度", "companyPhone": "010-82071163", "companyEmail": "libaicompany@baidu.com", "companyWebsite": "www.baidu.com", "extFields":{ "dynamic_input_singleline_1802c4abfc75dbde2fc3c8ddc0dfc7dc":"单行文本输入123", "dynamic_number_69e947f33e90910a227604d501569088":"222", "dynamic_number_e1628e7f33e90910a227604d501af465":"1872.77", "dynamic_input_select_9e872dabfc75dbde2fc3c8ddc0dfc7dc":"2728022", "dynamic_input_checkbox_475277abfc75dbde2fc3c8ddc0df4f58":"2729033", "dynamic_input_radio_7b214085a7619ed77c1fd4820928d497":"2729033" } } } ```

其中 extFields 对象中的字段名就是获取元数据步骤中的 fieldEnName。

4. 返回结果

``` HTTP/1.1 200 OK <公共响应头> {"leadsId" : 1021211357757216} ```

当返回结果如上所示,恭喜你成功完成了一条线索的创建。