=====联系人接口===== \\ 为了支持比较复杂的自定义字段类型,我们对接口进行了升级,凡是接口名称中包含“_v2”的均为新接口,不包含的仍为旧接口,新接口的增加不对旧接口的逻辑产生任何影响,可放心使用旧接口。 \\ \\ 新接口与旧接口的区别: - 新接口新增了对“高级复选框”、“级联”类型的自定义字段的支持。 - 新接口的请求数据或返回值中如果包含下拉列表类型的字段,则传值为选项ID,旧接口则是选项内容。 ====JSON格式==== ^名称 ^类型 ^只读 ^必填 ^注释^ |cId |int |是 |否 |联系人ID,系统自动生成 | |url |varchar |是 |否 |该联系人的url | |name |varchar |否 |否 |姓名 | |mobile |varchar |否 |是 |手机号码,创建联系人时手机号码、座机号码任填写一个即可 | |fixnumber|varchar |否 |是 |座机号码,创建联系人时手机号码、座机号码任填写一个即可 | |email |varchar |否 |否 |邮件 | |position |varchar |否 |否 |职位 | |state |int |否 |否 |联系人状态(1-在职、2-离职、3-已删除) | |QQ |varchar |否 |否 |QQ号码 | |note |varchar |否 |否 |联系人备注 | |companyId|int |是 |否 |联系人所属公司ID,如果是2B模式必填,2C模式不用填 | |uniqueId|varchar |是 |否 |联系人下的远程ID,远程客户端安装完毕后自动生成的。旧接口的返回值 | |uniqueIds|array |否 |否 |联系人下的远程ID及ID的备注。新接口的返回值 | |supportId|int |是 |否 |负责该联系人的客服ID,系统自动生成 | |createrId|int |否 |否 |创建人id | |default|tinyint |否 |否 |是否是该公司的默认联系人,取值为:1-默认联系人,0-普通联系人| |createDT |date |是 |否 |创建时间,格式为:2018-02-03 00:00:00 | |updateDT|date |是 |否 |更新时间,格式为:2018-02-03 00:00:00 | |custom_fields|array |否 |否 |联系人自定义字段 | |userGroup|int |否 |否 |联系人所属分组,2C模式下存在该字段,默认取值为0,即不属于任何分组,多个分组用,分隔| |tableName | varchar |否 |否 |标签,多个英⽂逗号隔开 | ====JSON示例==== { "cId": 1, "url": "https://www.bangwo8.com/api/v1/users_v2/1.json", "name": "张三", "mobile": "13240138429", "email": "234576@163.com", "fixnumber": "010-63701717", "position": "项目经理", "QQ": "601100987", "note": "这里是联系人的备注", "companyId": 123, "uniqueId": "291045895", "supportId": 3, "createDT": "2017-09-12 10:12:22", "updateDT": "2017-09-12 10:12:22", "custom_fields": [ { "key": "field_1", "value": "4334" }, { "key": "field_3",//复选框 "value": "是" }, { "key": "field_2",//下拉列表 "value": "下拉菜单的某一项"//选项ID } { "key": "field_5",//高级复选框 "value": "232,565,454"//勾选项的ID列表,以逗号分隔 } { "key": "field_7",//级联 "value": [ { "level_id":"s1",//级联的第一级别的id "item_key":"11"//选中项的ID }, { "level_id":"s2",//级联的第二级别的id "item_key":"21" }, { "level_id":"s3",//级联的第三级别的id "item_key":"31" } ] } ], "userGroup": 221 } ====获取联系人列表==== GET /api/v1/users_v2.json 旧接口 “GET /api/v1/users.json” \\ 获取全部数据(包含已删除数据),需在链接后拼接deStat=1,/api/v1/users_v2.json?deStat=1 **查询参数** ^名称 ^必需的 ^类型 ^注释 ^ |created_start |否 |string |按创建时间筛选,开始时间,包含当天| |created_end |否 |string |按创建时间筛选,结束时间,包含当天| |updated_start |否 |string |按更新时间筛选,开始时间,包含当天| |updated_end |否 |string |按更新时间筛选,结束时间,包含当天| |created_order |否 |string |按创建时间排序,取值为:asc-升序,desc-降序| |updated_order |否 |string |按更新时间排序,取值为:asc-升序,desc-降序| |page |否 |int |分页获取,默认为1| |per_page |否 |int |每页大小,默认为100| //说明:默认按编码升序返回。时间参数(created_start、created_end、updated_start、updated_end)格式为“2012-01-01 00:00:00”。// **调用者权限** 所有客服 也可以使用下面的接口 /*查看服务商下某个客户的联系人*/ GET /api/v1/companies/{company_id}/users_v2.json GET /api/v1/companies/{company_id}/users.json **调用示例** curl https://www.bangwo8.com/api/v1/users_v2.json \ -v -u {account}:{password} **返回值示例** Status: 200 OK { "users": [ { "cId": 1, "name": "张三", ... }, { "cId": 2, "name": "李四", ... } ], "count": 42, "next_page": "https://www.bangwo8.com/api/v1/users_v2.json?per_page=40&page=2", "previous_page": null } ====查看指定联系人信息==== GET /api/v1/users/{cid}_v2.json 旧接口 “GET /api/v1/{cid}.json” **调用者权限** 所有客服 **调用示例** curl https://www.bangwo8.com/api/v1/users/{cid}_v2.json \ -v -u {account}:{password} **返回值示例** Status: 200 OK { "user": { "cId": "41451311", "name": "测试1", "mobile": "18811119637", "email": "", "fixnumber": "", "position": "", "QQ": "", "note": "", "companyId": "0", "supportId": "0", "multiServiceList": "", "default": "", "service_groupid": "0", "createDT": "2022-01-10 11:10:43", "updateDT": "2022-02-10 15:16:16", "tableName": "", "uniqueId": "", "custom_fields": [ { "key": "field_1", "value": "" }, { "key": "authaccount", "value": "212108284829637117" }, { "key": "field_3", "value": [ "北京市", "海淀", "清华大学" ] } ], "userGroup": "0" } } ====获取多个联系人信息==== GET GET /api/v1/users/show_many.json?ids={ids} **调用者权限** 所有客服 **调用示例** curl https://www.bangwo8.com/api/v1/users/show_many.json?ids=1,2,3 \ -v -u {account}:{password} **返回值示例** Status: 200 OK { "users": [ { "cId": 1, "name": "张三", ... }, { "cId": 2, "name": "李四", ... } ] } ====创建联系人==== POST /api/v1/users_v2.json 旧接口“POST /api/v1/users.json” \\ \\ **调用者权限** 所有客服 **调用示例** curl -v -u {account}:{password} https://www.bangwo8.com/api/v1/users.json \ -H "Content-Type: application/json" -X POST -d '{"user":{"name":"张三","mobile":"13240134214"}}' //说明:可通过mobile和fixnumber属性来创建联系人。也就是说,创建联系人时,mobile、fixnumber两者其一必须有值。// \\ \\ 若请求数据中包含“下拉列表”,则需传递选中项的ID,调用示例如下: curl -v -u {account}:{password} https://www.bangwo8.com/api/v1/users.json \ -H "Content-Type: application/json" -X POST -d '{"user":{"name":"张三","mobile":"13240134214", \ "custom_fields":[{"key":"droplist_job","value":"232"}]}}' 若请求数据中包含“复选框”,则选中时传“1”,未选中传“0”,调用示例如下: curl -v -u {account}:{password} https://www.bangwo8.com/api/v1/users.json \ -H "Content-Type: application/json" -X POST -d '{"user":{"name":"张三","mobile":"13240134214", \ "custom_fields":[{"key":"checkbox_married","value":"1"}]}}' 若请求数据中包含“高级复选”,则需传递所有勾选项的ID,以逗号分隔,调用示例如下: curl -v -u {account}:{password} https://www.bangwo8.com/api/v1/users.json \ -H "Content-Type: application/json" -X POST -d '{"user":{"name":"张三","mobile":"13240134214", \ "custom_fields":[{"key":"advance_checkbox_hobby","value":"21,23"}]}}' 若请求数据中包含“级联”字段,调用示例如下: curl -v -u {account}:{password} https://www.bangwo8.com/api/v1/users.json \ -H "Content-Type: application/json" -X POST -d '{"user":{"name":"张三","mobile":"13240134214", \ "custom_fields":[{"key":"field_3","value":["北京市","海淀","清华大学"]}]}}' **返回值示例** Status: 200 OK Location: https://www.bangwo8.com/api/v1/users/{id}.json { "user": { "cId": 11, "name": "张三", ... } } [注] 联系人是与手机号码一一对应,因此:\\ 1、2B模式下,不同公司下可以有相同联系人(手机号码),同一公司下不能有相同联系人(手机号码)(即:同一个人可能出现在多个公司里,但同一个人不能在同一公司出现两次);\\ 2、2C模式下,没有公司概念,所有联系人在一起,不能有相同联系人(手机号码)\\ 否则通过API创建联系人时会报错:[{"errorMsg":"The \"mobile\" has been used","status":"110017"}] ====修改联系人信息==== PUT /api/v1/users/{cid}.json **调用者权限** 所有客服 **更新系统字段调用示例** curl -v -u {account}:{password} https://www.bangwo8.com/api/v1/users/123.json \ -H "Content-Type: application/json" -X PUT -d '{"user": {"name": "张三"}}' **返回值示例** Status: 200 OK { "user": { "cId": 11, "name": "张三", ... } } **更新自定义字段调用示例** curl -v -u {account}:{password} https://www.bangwo8.com/api/v1/users/123.json \ -H "Content-Type: application/json" -X PUT -d '{"user":{"custom_fields":[{"key":"field_1","value":"123"}]}}' **返回值示例** Status: 200 OK { "user": { "cId": 11, "name": "张三", "custom_fields": [ { "key": "field_1", "value": "123" } ] } } ====搜索联系人==== GET /api/v1/users/search.json 获取全部数据(包含已删除数据),需在链接后拼接deStat=1,/api/v1/users/search.json?deStat=1 **调用者权限** 所有客服 **请求参数** ^名称 ^类型 ^必需的 ^注释 ^ |query |string |是 |搜索内容| |sort_by |string | 否 |按时间排序,目前支持:createDT-创建时间,updateDT-更新时间| |sort_order| string | 否 | 按升序还是降序返回,取值为:asc-升序,desc-降序,默认为降序| **query参数说明** ^搜索内容 ^返回结果 ^ |query=2444 | 模糊搜索,返回姓名或者手机号包含该内容的联系人| |query=mobile:13240138429 | 搜索手机号为“13240138429”的联系人,此为精确搜索 | |query=userId:9516936 mobile:13240134213 | 搜索公司id为“9516936”且手机号码为“13240134213 ”的联系人,此为精确搜索 | |query=authaccount:454 | 返回自定义字段唯一标识为“authaccount”为454的联系人,此条件为精准查询| |query=2444 createDT>2017-07-01|返回姓名或者手机号包含"2444",并且创建时间是2017年7月1日以后的联系人| |query=2444 createDT>=2017-07-01 createDT<2017-08-01|返回姓名或者手机号包含"2444",并且时间是7月份的联系人| //说明: //\\ //1、目前不支持搜索内容本身带有空格// \\ //2、当query参数增加了时间的过滤条件时,两个条件之间要以空格分开,比如“2444 createDT>2017-07-01”// \\ //3、时间过滤条件目前支持以下几种方式:(以createDT为例)//\\ * createDT<2017-09-01 //过滤创建时间为2017-09-01之前的联系人,不包含2017-09-01当天 * createDT>2017-09-01 //过滤创建时间为2017-09-01之后的联系人,不包含2017-09-01当天 * createDT:2017-09-01 //过滤创建时间为2017-09-01当天的联系人 * createDT<=2017-09-01 //过滤创建时间为2017-09-01之前的联系人,包含2017-09-01当天 * createDT>=2017-09-01 //过滤创建时间为2017-09-01之后的联系人,包含2017-09-01当天 **调用示例** curl "https://www.bangwo8.com/api/v1/users/search.json" \ -G --data-urlencode "query=132 createDT>2017-07-03" \ -v -u {account}:{password} **返回值示例** Status: 200 OK { "results": [ { "name": "张三", "createDT": "2009-05-13 10:07:08", "updateDT": "2011-07-22 11:11:12", "cId": 111, "url": "https://www.bangwo8.com/api/v1/users/111.json" }, { "subject": "李四", "createDT": "2010-07-13 10:07:08", "updateDT": "2011-07-13 11:11:12", "cId": 112, "url": "https://www.bangwo8.com/api/v1/users/112.json" }, ... ], "next_page": "https://www.bangwo8.com/api/v1/users/search.json?query=132 createDT>2017-07-03&sort_by=createDT&sort_order=desc&page=2", "prev_page": null, "count": 100 } ====删除多个联系人==== DELETE /api/v1/users/destroy_many.json **调用者权限** 所有客服 **调用示例** curl https://www.bangwo8.com/api/v1/users/destroy_many.json?ids=123,234 \ -v -u {account}:{password} \ -X DELETE **返回值示例** Status: 200 OK { "users": [ { "cId": 123, "name": "张三", ... }, { "cId": 234, "name": "李四", ... } ] }