接口测试 销帮帮API
测试表单
接口说明详情
接口参数说明
错误参数提示
| 错误提示编号 | 提示信息 | 错误提示编号 | 提示信息 | 错误提示编号 | 提示信息 | 错误提示编号 | 提示信息 |
|---|---|---|---|---|---|---|---|
| 100001 | 接口请求方式错误,本接口只支持post请求 | 100002 | 缺少corpid | 100003 | 权限验证失败 | 100004 | 服务繁忙或服务端错误 |
| 100005 | 必填参数缺失,提示信息会应不同参数缺失变化 | 100006 | data参数不能为空 | 100007 | data不是合法的json字符串,无法解析为JSONObject | 100008 | corpid错误或该公司缺少api_token请在后台设置 |
| 201001 | 客户信息不能为空 | 201002 | 客户实体解析失败 | 201003 | 客户名称不能为空 | 201004 | 客户“客户电话”字段不能为空 |
| 201005 | 根据客户查重规则,已存在该客户或客户电话,无法新建该客户 | 201006 | 客户ID不能为空 | 201007 | 客户不存在 | 201008 | 该客户已经被逻辑删除 |
| 201009 | 该客户有关联合同不能删除 | 202001 | 联系人信息不能为空 | 202002 | 联系人实体解析失败 | 202003 | 联系人“联系电话”字段不能为空 | 202004 | 已存在该电话对应的客户联系人,无法新建该联系人 | 202005 | 联系人ID不能为空 | 202006 | 联系人不存在 | 202007 | 该联系人已经被删除 |
| 203001 | 合同信息不能为空 | 203002 | 合同实体解析失败 | 203003 | 该合同编号对应的合同订单编号已存在,可能在合同列表中或合同审批中 | 203004 | 合同ID不能为空 |
| 203005 | 合同不存在 | 203006 | 合同产品数量 不正确 | 203007 | 试图操作的合同关联产品数据不存在 | 203008 | 合同编号不能为空 |
| 203009 | 该合同已经被删除 | 204001 | 产品ID不能为空 | 204002 | 产品ID对应的产品不存在 | 204003 | 产品信息不能为空 |
| 204004 | 产品实体解析失败 | 204005 | 产品编号不能为空 | 204006 | 产品编号已存在 | 204007 | 产品分类名称不能为空 |
| 204008 | 产品父分类不存在 | 204009 | 不能建立三级产品分类 | 204010 | 该产品分类名称已存在 | 204011 | 产品分类ID不能为空 |
| 204012 | 产品分类不存在 | 204013 | 该产品已经被删除 | 204014 | 该产品分类下还有子分类,请先删除子分类再删除该分类 | 204015 | 该产品分类下还有关联产品,不能删除该分类 |
| 205001 | refType不能为空或不合法 | 206001 | 跟进记录信息不能为空 | 206002 | 跟进记录实体解析失败 | 206003 | 跟进记录ID不能为空 |
| 206004 | 跟进记录不存在 | 206005 | 该跟进记录已经被删除 | 207001 | 销售机会信息不能为空 | 207002 | 销售机会实体解析失败 |
| 207003 | 该销售机会编号对应的销售机会编号已存在,可能在销售机会列表中或销售机会审批中 | 207004 | 销售机会ID不能为空 | 207005 | 销售机会不存在 | 207006 | 销售机会产品数量不正确 |
| 207007 | 试图操作的销售机会关联产品数据不存在 | 207008 | 销售机会编号不能为空 | 207009 | 该销售机会已经被删除 | 208001 | 数据字典type参数不能为空 |
客户列表[详细]接口地址:http://dingapi.xbongbong.com/api/v1/customer/list.do
输入参数:data = { "corpid":"dingxxxxxx","templateId":1,"templateName":"默认模板", "page":1, "pageSize":15 }
成功输出:
输入参数:data = { "corpid":"dingxxxxxx","templateId":1,"templateName":"默认模板", "page":1, "pageSize":15 }
成功输出:
{
"errorCode": 0, (int)(错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (String)(成功返回信息)
"customerList": [ //具体字段与您公司的模板相关
{
"10": "",
"20": "",
"9我轻轻吻": "",
"id": 1252,
"区/县": "新城区",
"地址": "我募集啊",
"头像": "",
"客户名称": "0830测试有合同不能删除",
"客户性质": "个人客户",
"客户状态": "持续跟进",
"客户简介": "测试有合同的客户不能删除。。。",
"客户简称": "测试李",
"客户类型": "最终客户",
"市": "呼和浩特市",
"客户阶段":"确认需求",
"客户电话": "[{\"name\":\"工作\",\"telNum\":\"1334654512\"}]",
"日期型": "选项2",
"测试3": "",
"测试5": "选项2",
"省": "内蒙古",
"重要程度": "三星",
"更新时间": 1493883428,
"是否归档":"否",
"上级客户ID":"7047523",
"del":0
}
],
"totalCount": 2, (int)(总记录数)
"page" : 1, (int)(当前页数回显)
"pageSize" : 15, (int)(每页记录条数回显)
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)templateId | 模板id | 没有启用多模板,不需要填写templateId、templateName,优先匹配templateId |
| (String)templateName | 模板名称 | 没有启用多模板,不需要填写templateId、templateName,优先匹配templateId |
| (String)name | 客户名称模糊筛选 | 选填,根据客户名称模糊搜索客户列表 |
| (String)phone | 电话号码模糊筛选 | 选填,根据电话号码模糊搜索客户列表 |
| (int)updateTimeStart | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出大于等于该时间戳的客户记录 |
| (int)updateTimeEnd | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出小于该时间戳的客户记录 |
| (int)addTimeStart | 根据添加时间筛选,整型时间戳,精确到秒 | 选填,筛选出大于等于该时间戳的客户记录 |
| (int)addTimeEnd | 根据添加时间筛选,整型时间戳,精确到秒 | 选填,筛选出小于该时间戳的客户记录 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (bool)customerUserShow | 是否展示负责人 | 默认不展示,如果是true展示,如果是null或者false不展示 |
| (bool)createUserShow | 是否展示创建人 | 默认不展示,如果是true展示,如果是null或者false不展示创建人名称,仅展示创建人ID |
| (int)isDel | 是否显示del=1的数据 | 如果是null或者0默认都为显示del=0的数据,为1时显示del=1的数据 |
| (int)isPublic | 是否公海客户 | 此参数仅在isDel=null或者isDel=0时生效,为null时,显示公海和非公海客户;为0时,显示非公海的数据,为1时,显示公海池的数据 |
| (Object)customerUser | 负责人筛选 | 格式:{"userNames":["张三", "李四"], "userIds":["zs", "ls"], "isMain":1},userNames:员工姓名;userIds:员工的userId;isMain:是否主负责人,null表示所有,0表示协同人,1表示主负责人。userIds不为null且不为空时,userNames无效 |
客户列表[简要]接口地址:http://dingapi.xbongbong.com/api/v1/customer/simpleList.do
输入参数:data = { "corpid":"dingxxxxxx", "page":1, "pageSize":15 }
成功输出:
输入参数:data = { "corpid":"dingxxxxxx", "page":1, "pageSize":15 }
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
"customerList": [ //具体字段与您公司的模板相关
{
"addTime": 1474338414,
"id": 1336,
"lastConnectTime": 0,
"name": " 小弟",
"nameShort": "",
"phone": "[{\"name\":\"工作\",\"telNum\":\"1334654512\"}]"
}
],
"totalCount": 2, (int)(总记录数)
"page" : 1, (int)(当前页数回显)
"pageSize" : 15, (int)(每页记录条数回显)
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (String)name | 客户名称模糊筛选 | 选填,根据客户名称模糊搜索客户列表 |
| (String)phone | 电话号码模糊筛选 | 选填,根据电话号码模糊搜索客户列表 |
| (int)updateTimeStart | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出大于等于该时间戳的客户记录 |
| (int)updateTimeEnd | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出小于该时间戳的客户记录 |
| (int)addTimeStart | 根据添加时间筛选,整型时间戳,精确到秒 | 选填,筛选出大于等于该时间戳的客户记录 |
| (int)addTimeEnd | 根据添加时间筛选,整型时间戳,精确到秒 | 选填,筛选出小于该时间戳的客户记录 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (int)isDel | 是否显示del=1的数据 | 如果是null或者0默认都为显示del=0的数据,为1时显示del=1的数据 |
| (int)isPublic | 是否公海客户 | 此参数仅在isDel=null或者isDel=0时生效,为null时,显示公海和非公海客户;为0时,显示非公海的数据,为1时,显示公海池的数据 |
| (Object)customerUser | 负责人筛选 | 格式:{"userNames":["张三", "李四"], "userIds":["zs", "ls"], "isMain":1},userNames:员工姓名;userIds:员工的userId;isMain:是否主负责人,null表示所有,0表示协同人,1表示主负责人。userIds不为null且不为空时,userNames无效 |
新建客户接口地址:http://dingapi.xbongbong.com/api/v1/customer/add.do
输入参数:data = {"corpid":"dingxxxx","templateId":1,"templateName":"默认模板","customer":{"创建人":"张三","负责人":"张三","协同人":"李四,王五","客户名称":"测试客户101301","省":"浙江省","市":"杭州市","区/县":"西湖区","详细地址":"浙江工业大学","客户类型":"最终客户","客户电话":"13867426691","经度":121.31,"纬度":31.31}}//具体字段与模板相关
没有启用多模板,不需要填写templateId、templateName,优先匹配templateId 成功输出:
输入参数:data = {"corpid":"dingxxxx","templateId":1,"templateName":"默认模板","customer":{"创建人":"张三","负责人":"张三","协同人":"李四,王五","客户名称":"测试客户101301","省":"浙江省","市":"杭州市","区/县":"西湖区","详细地址":"浙江工业大学","客户类型":"最终客户","客户电话":"13867426691","经度":121.31,"纬度":31.31}}//具体字段与模板相关
没有启用多模板,不需要填写templateId、templateName,优先匹配templateId 成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
"customerId": xxx, (新增客户ID)
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)templateId | 模板id | 没有启用多模板,不需要填写templateId、templateName,优先匹配templateId |
| (String)templateName | 模板名称 | 没有启用多模板,不需要填写templateId、templateName,优先匹配templateId |
| (JSONObject)customer | 需要新建的客户实体 | 根据查重规则,客户名称或客户电话必填,具体字段参见模板,后续补充 |
修改客户接口地址:http://dingapi.xbongbong.com/api/v1/customer/update.do
输入参数:data = {"corpid":"dingxxxx","customer":{"customerId":"xxx","客户名称":"测试客户101301","省":"浙江省","市":"杭州市","区/县":"西湖区","详细地址":"浙江工业大学","客户类型":"最终客户","客户电话":"13867426691","经度":121.31,"纬度":31.31}}//具体字段与模板相关
成功输出:
输入参数:data = {"corpid":"dingxxxx","customer":{"customerId":"xxx","客户名称":"测试客户101301","省":"浙江省","市":"杭州市","区/县":"西湖区","详细地址":"浙江工业大学","客户类型":"最终客户","客户电话":"13867426691","经度":121.31,"纬度":31.31}}//具体字段与模板相关
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (JSONObject)customer | 需要新建的客户实体 | 根据查重规则,客户名称或客户电话必填,具体字段参见模板,后续补充, |
| (int)customerId | 客户ID | 必填,包含在customer json中 |
获取客户详情接口地址:http://dingapi.xbongbong.com/api/v1/customer/get.do
输入参数:data = {"corpid":"dingxxxx","customerId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxxx","customerId":xxx}
成功输出:
{
"customer": {
"10": "",
"20": "",
"9我轻轻吻": "",
"id": 1374,
"区/县": "西湖区",
"地址": "浙江工业大学屏峰校区",
"头像": "",
"客户名称": "测试客户101301",
"客户性质": "",
"客户状态": "",
"客户电话": "[{\"name\":\"手机\",\"telNum\":\"13867426691\"}]",
"客户简介": "",
"客户简称": "",
"客户类型": "最终客户",
"市": "杭州市",
"日期型": "",
"测试3": "",
"测试5": "",
"省": "浙江省",
"重要程度": "",
"客户阶段":"确认需求",
"上级客户ID":"7047523",
"是否归档":"否",
"是否公海客户":"否",
"更新时间":1559282890,
"创建时间":1559269514,
"创建人":"张杰",
"创建人ID":"1"
},
"customerUserList": [{ //销售团队列表
"customerId": 1429,
"distributionTime": 1479968338, //加入团队时间或获取客户时间
"isMain": 1, //是否主负责人
"userId": "1", //员工ID
"userName": "张杰" //员工姓名
}],
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "获取成功" (成功返回信息)
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 要查看的客户ID | 必填 |
客户删除接口地址:http://dingapi.xbongbong.com/api/v1/customer/delete.do
输入参数:data = {"corpid":"dingxxxx","customerId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxxx","customerId":xxx}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
"customerId" : xx (被删除的客户ID)
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 要删除的客户ID | 必填 |
客户关联联系人列表接口地址:http://dingapi.xbongbong.com/api/v1/customer/contact.do
输入参数:data = {"corpid":"dingxxxx","customerId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxxx","customerId":xxx}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
"contactList": [{ (联系人列表)
"id": 72,
"sort1": "",
"sort2": "",
"sort3": "2323",
"关联客户": "cs客户11",
"决策关系": "",
"区/县": "",
"地址": "",
"备注": "",
"姓名": "阿斯蒂芬",
"市": "",
"性别": "男",
"手机": "15854565256",
"省": "",
"级别": "",
"职务": "",
"部门": "",
"重要程度": ""
}],
"customerId": 77,
"totalCount": xx
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 客户ID | 必填 |
客户关联合同列表接口地址:http://dingapi.xbongbong.com/api/v1/customer/contract.do
输入参数:data = {"corpid":"dingxxxx","customerId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxxx","customerId":xxx}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
"contractList": [{
"id": 123,
"到期时间": "",
"合同名称": "导入测试",
"合同状态": "签约",
"合同编号": "cs00018",
"合同金额": "10001.0",
"图片": "",
"客户名称": "导入测试1",
"文件1": "",
"新字段22": "",
"签订人": "张杰",
"签订日期": "2016-06-19 00:00"
}],
"customerId": 82,
"totalCount": 3
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 客户ID | 必填 |
客户添加协同人地址:http://dingapi.xbongbong.com/api/v1/customer/team/add.do
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,"name":"李四"}
成功输出:
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,"name":"李四"}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 客户ID | 必填 |
| (String)name | 协同人姓名 | 必填,必须和公司员工名能对应 |
客户删除协同人地址:http://dingapi.xbongbong.com/api/v1/customer/team/delete.do
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,"name":"李四"}
成功输出:
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,"name":"李四"}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 客户ID | 必填 |
| (String)name | 协同人姓名 | 必填,必须和公司员工名能对应 |
客户移交地址:http://dingapi.xbongbong.com/api/v1/customer/handover.do
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,"fromUserId":"xxx",toUserId:"xxx"}
成功输出:
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,"fromUserId":"xxx",toUserId:"xxx"}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 客户ID | 必填 |
| (String)fromUserId | 客户原负责人userId | 选填,如果原负责人只有一个可以不用填 |
| (String)toUserId | 客户新负责人userId | 必填 |
客户移交地址:http://dingapi.xbongbong.com/api/v1/customer/portion.do
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,toUserId:"xxx"}
成功输出:
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,toUserId:"xxx"}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 客户ID | 必填 |
| (String)toUserId | 客户新负责人userId | 必填 |
联系人列表[详细]接口地址:http://dingapi.xbongbong.com/api/v1/contact/list.do
输入参数:data = {"corpid":"dingxxxx","page":1, "pageSize":15,"updateTimeStart":xxx,"updateTimeEnd":xxx,"addTimeStart":xxx,"addTimeEnd":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxxx","page":1, "pageSize":15,"updateTimeStart":xxx,"updateTimeEnd":xxx,"addTimeStart":xxx,"addTimeEnd":xxx}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
"contactList": [{
"id": 213,
"sort1": "",
"sort2": "",
"sort3": "",
"关联客户": "测试",
"决策关系": "",
"区/县": "东城区",
"地址": "1",
"备注": "",
"姓名": "qwe",
"市": "北京市",
"性别": "男",
"省": "北京市",
"级别": "",
"职务": "",
"联系电话": "[{\"name\":\"手机\",\"telNum\":\"ww\"}]",
"部门": "",
"重要程度": ""
}],
"page": 1,
"pageSize": 15,
"totalCount": 85
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (int)updateTimeStart | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出更新时间大于等于该时间戳的联系人 |
| (int)updateTimeEnd | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出更新时间小于该时间戳的联系人 |
| (int)addTimeStart | 根据添加时间筛选,整型时间戳,精确到秒 | 选填,筛选出添加时间大于等于该时间戳的联系人 |
| (int)addTimeEnd | 根据添加时间筛选,整型时间戳,精确到秒 | 选填,筛选出添加时间小于该时间戳的联系人 |
联系人列表[简要数据]接口地址:http://dingapi.xbongbong.com/api/v1/contact/simpleList.do
输入参数:data = {"corpid":"dingxxxx","page":1, "pageSize":15}
成功输出:
输入参数:data = {"corpid":"dingxxxx","page":1, "pageSize":15}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
"contactList": [{
"addTime": 1473490330,
"id": 213,
"name": "qwe",
"phone": "[{\"name\":\"手机\",\"telNum\":\"ww\"}]"
}],
"page": 1,
"pageSize": 15,
"totalCount": 85
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
新建联系人接口地址:http://dingapi.xbongbong.com/api/v1/contact/add.do
输入参数:data = {"corpid":"1","customerId":xxx,"contact":{"联系电话":"xxxxx","省":"浙江省","市":"杭州市","区/县":"滨江区","详细地址":"市政府","关联客户":"测试65","姓名":"卡卡"}}
成功输出:
输入参数:data = {"corpid":"1","customerId":xxx,"contact":{"联系电话":"xxxxx","省":"浙江省","市":"杭州市","区/县":"滨江区","详细地址":"市政府","关联客户":"测试65","姓名":"卡卡"}}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "删除成功", (成功返回信息)
"contactId", xx
}
失败输出:{"errorCode":"*","msg":"删除失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 关联客户ID | 必填 |
| (JSONObject)contact | 需要新建的联系人实体 | 联系人电话必填,具体字段参见模板,后续补充 |
联系人修改接口地址:http://dingapi.xbongbong.com/api/v1/contact/update.do
输入参数:data = {"corpid":"1","contact":{"contactId":xxx, "联系电话":"xxxxx","省":"浙江省","市":"杭州市","区/县":"滨江区","详细地址":"市政府","关联客户":"测试65","姓名":"卡卡"}}
成功输出:
输入参数:data = {"corpid":"1","contact":{"contactId":xxx, "联系电话":"xxxxx","省":"浙江省","市":"杭州市","区/县":"滨江区","详细地址":"市政府","关联客户":"测试65","姓名":"卡卡"}}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "获取成功", (成功返回信息)
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (JSONObject)contact | 需要新建的客户实体 | 联系人电话必填,具体字段参见模板,后续补充 |
| (int)contactId | 联系人ID | 必填,包含在contact json中 |
获取联系人详情接口地址:http://dingapi.xbongbong.com/api/v1/contact/get.do
输入参数:data = {"corpid":"dingxxxx","contactId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxxx","contactId":xxx}
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "获取成功", (成功返回信息)
"contact": {
"id": 273,
"关联客户": "测试65",
"决策关系": "",
"区/县": "",
"地址": "市政府",
"备注": "",
"姓名": "卡卡西",
"市": "杭州市",
"性别": "未设置",
"省": "浙江省",
"级别": "",
"职务": "",
"联系电话": "[{\"name\":\"手机\",\"telNum\":\"13788992812\"}]",
"部门": "",
"重要程度": ""
},
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)contactId | 联系人ID | 必填 |
联系人删除接口地址:http://dingapi.xbongbong.com/api/v1/contact/delete.do
输入参数:data = {"corpid":"dingxxxx","contactId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxxx","contactId":xxx}
成功输出:
{
"errorCode":0,
"msg":"添加成功",
"contactId" : xx (被删除的客户ID)
}
失败输出:{"errorCode":"*","msg":"添加失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)contactId | 联系人ID | 必填 |
合同列表[全部数据]接口地址:http://dingapi.xbongbong.com/api/v1/contract/list.do
输入参数:data = { "corpid":"dingxxxxxx","templateId":1,"templateName":"默认模板", "page":1, "pageSize":15, "signUserId":"", "signPerson":"","updateTimeStart":xxx,"updateTimeEnd":xxx}
成功输出:
输入参数:data = { "corpid":"dingxxxxxx","templateId":1,"templateName":"默认模板", "page":1, "pageSize":15, "signUserId":"", "signPerson":"","updateTimeStart":xxx,"updateTimeEnd":xxx}
成功输出:
{
"errorCode": 0,
"msg": "操作成功",
"contractList": [{
"id": 213,
"到期时间": "",
"合同名称": "回款测试2",
"合同状态": "完毕",
"合同编号": "0910003",
"合同金额": "10000.0",
"图片": "",
"客户名称": "请我额",
"文件1": "",
"新字段22": "",
"签订人": "白书城2",
"签订日期": "2016-09-08",
"到期日期": "2019-09-08",
"是否归档":"否"
}],
"page": 1,
"pageSize": 15,
"totalCount": 65
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)templateId | 模板id | 没有启用多模板,不需要填写templateId、templateName,优先匹配templateId |
| (String)templateName | 模板名称 | 没有启用多模板,不需要填写templateId、templateName,优先匹配templateId |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (String)signUserId | 签订人ID,对应钉钉中的userId | 与signPerson参数二者选其一,若都填会取交集,两个参数如果不对应,可能会找不到数据 |
| (String)signPerson | 签订人姓名,模糊查询 | 与signUserId参数二者选其一,若都填会取交集,两个参数如果不对应,可能会找不到数据 |
| (int)signTimeStart | 查询条件,签订时间起始值(包括),时间戳 | 选填 |
| (int)signTimeEnd | 查询条件,签订时间结束值(不包括),时间戳 | 选填 |
| (String)contractName | 合同名称,模糊查询 | 选填 |
| (String)contractNo | 合同编号,模糊查询 | 选填 |
| (String)showCustomerUser | 获取合同列表数据时,是否需要显示合同关联客户的创建人和负责人,不填默认为不显示合同关联客户的创建人和负责人,需要显示填1 | 选填 |
| (int)isDel | 是否显示del=1的数据 | 如果是null或者0默认都为显示del=0的数据,为1时显示del=1的数据 |
| (int)updateTimeStart | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出更新时间大于等于该时间戳的合同 |
| (int)updateTimeEnd | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出更新时间小于该时间戳的合同 |
合同列表[简要数据]接口地址:http://dingapi.xbongbong.com/api/v1/contract/simpleList.do
输入参数:data = { "corpid":"dingxxxx", "page":1, "pageSize":15, "signUserId":"", "signPerson":""}
成功输出:
输入参数:data = { "corpid":"dingxxxx", "page":1, "pageSize":15, "signUserId":"", "signPerson":""}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"contractList": [{
"addTime": 1459328420,
"amount": 3000000,
"customerName": "测试",
"id": 39,
"name": "测试合同",
"signTime": 1462032000
}],
"page": 1,
"pageSize": 15,
"totalCount": 65
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (String)signUserId | 签订人ID,对应钉钉中的userId | 与signPerson参数二者选其一,若都填会取交集,两个参数如果不对应,可能会找不到数据 |
| (String)signPerson | 签订人姓名,模糊查询 | 与signUserId参数二者选其一,若都填会取交集,两个参数如果不对应,可能会找不到数据 |
| (int)isDel | 是否显示del=1的数据 | 如果是null或者0默认都为显示del=0的数据,为1时显示del=1的数据 |
新建合同接口地址:http://dingapi.xbongbong.com/api/v1/contract/add.do
输入参数:data = {"corpid":"1","templateId":1,"templateName":"默认模板","customerId":1373,"contract":{"创建人":"xxx","签订人":"xxx","合同编号":"HT20161014001","到期日期":1480525261,"签订日期":1476410400,"合同金额":1000,"合同状态":"执行中","合同名称":"测试合同1014"}}
没有启用多模板,不需要填写templateId、templateName,优先匹配templateId 成功输出:
输入参数:data = {"corpid":"1","templateId":1,"templateName":"默认模板","customerId":1373,"contract":{"创建人":"xxx","签订人":"xxx","合同编号":"HT20161014001","到期日期":1480525261,"签订日期":1476410400,"合同金额":1000,"合同状态":"执行中","合同名称":"测试合同1014"}}
没有启用多模板,不需要填写templateId、templateName,优先匹配templateId 成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"contractId": xx
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)templateId | 模板id | 没有启用多模板,不需要填写templateId、templateName,优先匹配templateId |
| (String)templateName | 模板名称 | 没有启用多模板,不需要填写templateId、templateName,优先匹配templateId |
| (int)customerId | 关联客户ID | 必填 |
| (JSONObject)contract | 需要新建的合同实体 | 具体字段参见模板,后续补充 |
合同修改接口地址:http://dingapi.xbongbong.com/api/v1/contract/update.do
输入参数:data = {"corpid":"1","contract":{"contractId":xxx,"合同编号":"HT20161014002","到期时间":1480525261,"签订日期":1476410400,"合同金额":1000,"合同状态":"执行中","合同名称":"测试合同1014"}}
成功输出:
输入参数:data = {"corpid":"1","contract":{"contractId":xxx,"合同编号":"HT20161014002","到期时间":1480525261,"签订日期":1476410400,"合同金额":1000,"合同状态":"执行中","合同名称":"测试合同1014"}}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (JSONObject)contract | 需要更新的合同实体 | 具体字段参见模板,后续补充 |
| (int)contractId | 合同ID | 必填,包含在contract json中 |
获取合同详情接口地址:http://dingapi.xbongbong.com/api/v1/contract/get.do
输入参数:data = {"corpid":"dingxxx","contractId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","contractId":xxx}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"contract": {
"id": 251,
"到期时间": "2016-12-01",
"合同名称": "测试合同1014",
"合同状态": "执行中",
"合同编号": "HT20161014002",
"合同金额": "1000.0",
"客户名称": "测试65",
"签订人": "xxx",
"签订日期": "2016-10-14",
"到期日期": "2019-10-14",
"是否归档":"否"
},
"contractProductList": [{
"contractId": 213,
"price": 10,
"productId": 190768,
"productName": "12煤炭",
"productNum": 1,
"specification": "{\"规格1\":\"等级:高级\"}"
}],
"contractUserList": [{
"contractId": 213,
"isMain": 1,
"userAvatar": "/images/default.jpg",
"userId": "1493660837583",
"userName": "张全蛋1"
}],
"paymentList":[{
"addTime":1559287989,
"amount":10,
"contractId":213,
"customerId":7047520,
"estimateTime":1559232000,
"id":3383,
"payTime":1559232000,
"paymentNo":"co315.1158.3",
"status":2,
"unAmount":0,
"updateTime":1559288019,
"userId":"1",
"userName":"张杰"
}]
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)contractId | 合同ID | 必填 |
合同删除接口地址:http://dingapi.xbongbong.com/api/v1/contract/delete.do
输入参数:data = {"corpid":"dingxxx","contractId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","contractId":xxx}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"contractId":xx
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)contractId | 合同ID | 必填 |
获取合同关联产品列表接口地址:http://dingapi.xbongbong.com/api/v1/contract/product/list.do
输入参数:data = {"corpid":"dingxxx","contractId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","contractId":xxx}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"contracProductList": [{
"price": 1,
"productId": 9,
"productName": "水蜜桃",
"productNum": 1,
"specification": ""
}],
"contractId": 56,
"totalCount": 3
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)contractId | 合同ID | 必填 |
合同关联产品添加接口地址:http://dingapi.xbongbong.com/api/v1/contract/product/add.do
输入参数:data = {"corpid":"dingxxx","contractId":xxx, "productId":xxx, "productNum":xxx, "price":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","contractId":xxx, "productId":xxx, "productNum":xxx, "price":xxx}
成功输出:
{
"errorCode": 0,
"msg": "操作成功"
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)contractId | 合同ID | 必填 |
| (int)productId | 产品ID | 必填 |
| (int)productNum | 产品数量 | 必填 |
| (double)price | 产品单价 | 选填,不填则产品单价与产品ID对应产品的产品单价相同 |
合同关联产品修改接口地址:http://dingapi.xbongbong.com/api/v1/contract/product/update.do
输入参数:data = {"corpid":"dingxxx","contractId":xxx, "productId":xxx, "productNum":xxx, "price":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","contractId":xxx, "productId":xxx, "productNum":xxx, "price":xxx}
成功输出:
{
"errorCode": 0,
"msg": "操作成功"
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)contractId | 合同ID | 必填 |
| (int)productId | 产品ID | 必填 |
| (int)productNum | 产品数量 | 选填,填写则修改,数量为0代表删除这个产品 |
| (double)price | 产品单价 | 选填,填写则修改 |
删除合同关联产品接口地址:http://dingapi.xbongbong.com/api/v1/contract/product/delete.do
输入参数:data = {"corpid":"dingxxx","contractId":xxx, "productId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","contractId":xxx, "productId":xxx}
成功输出:
{
"errorCode": 0,
"msg": "操作成功"
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)contractId | 合同ID | 必填 |
| (int)productId | 产品ID | 必填 |
获取合同关联回款计划列表接口地址:http://dingapi.xbongbong.com/api/v1/contract/payment/list.do
输入参数:data = { "corpid":"dingxxx", "page":1, "pageSize":15,"updateTimeStart":xxx,"updateTimeEnd":xxx}
成功输出:
输入参数:data = { "corpid":"dingxxx", "page":1, "pageSize":15,"updateTimeStart":xxx,"updateTimeEnd":xxx}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"totalCount": 6,
"paymentList": [{
"accountPeriod": 0,
"addTime": 1476083486,
"amount": 100,
"contractId": 246,
"contractName": "一王企鹅的",
"customerId": 1337,
"estimateTime": 1476115200,
"id": 346,
"payTime": 1476288000,
"paymentNo": "SO.20160929003.1",
"status": 2,
"updateTime": 1476322808,
"userId": "1",
"userName": "张杰"
}],
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (int)contractId | 合同ID | 选填 |
| (int)updateTimeStart | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出大于等于该时间戳的回款计划 |
| (int)updateTimeEnd | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出小于该时间戳的回款计划 |
合同回款计划添加接口地址:http://dingapi.xbongbong.com/api/v1/contract/payment/add.do
输入参数:data = {"corpid":"dingxxx","contractId":xxx, "payment" : {"amount":xx,"status":xx,"estimateTime":xx,"userName":xx,"paymentNo":xx,"payTime":xx,"paymentType":"xx","memo":"xx"}}
成功输出:
输入参数:data = {"corpid":"dingxxx","contractId":xxx, "payment" : {"amount":xx,"status":xx,"estimateTime":xx,"userName":xx,"paymentNo":xx,"payTime":xx,"paymentType":"xx","memo":"xx"}}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"paymentId" : xxx //回款计划ID
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)contractId | 合同ID | 必填 |
| (double)amount | 回款计划金额 | 必填 |
| (int)status | 回款计划状态,通过接口添加的回款计划,状态可以选择 1:未收款,2:已收款 | 必填 |
| (int)estimateTime | 预计回款时间,整型时间戳,精确到秒 | 必填 |
| (String)userName | 回款计划创建人,必须和本公司在职的员工姓名对应 | 必填 |
| (String)paymentNo | 若不填则自动生成 | 选填 |
| (int)payTime | 实际收款时间,整型时间戳,精确到秒,若未填:若回款计划为未收款则默认是0,若为已收款没有填则默认是当天 | 选填 |
| (String)paymentType | 回款类型,根据公司设置数据字段,填写对应的中文值 | 选填 |
| (String)memo | 回款类型备注 | 选填 |
合同回款计划编辑接口地址:http://dingapi.xbongbong.com/api/v1/contract/payment/update.do
输入参数:data = {"corpid":"dingxxx", "payment" : {"paymentId":xx,"amount":xx,"status":xx,"estimateTime":xx,"payTime":xx,"paymentType":"xx","memo":"xx"}}
成功输出:
输入参数:data = {"corpid":"dingxxx", "payment" : {"paymentId":xx,"amount":xx,"status":xx,"estimateTime":xx,"payTime":xx,"paymentType":"xx","memo":"xx"}}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)paymentId | 需要编辑的回款计划实体的ID | 必填 |
| (double)amount | 回款计划金额 | 选填 |
| (int)status | 回款计划状态,通过接口添加的回款计划,状态可以选择 1:未收款,2:已收款,已收款的回款计划不能修改 | 选填 |
| (int)estimateTime | 预计回款时间,整型时间戳,精确到秒 | 选填 |
| (int)payTime | 实际收款时间,整型时间戳,精确到秒 | 选填 |
| (String)paymentType | 回款类型,根据公司设置数据字段,填写对应的中文值 | 选填 |
| (String)memo | 回款类型备注 | 选填 |
合同回款计划删除接口地址:http://dingapi.xbongbong.com/api/v1/contract/payment/delete.do
输入参数:data = {"corpid":"dingxxx", "paymentId":xx}
成功输出:
输入参数:data = {"corpid":"dingxxx", "paymentId":xx}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"paymentId" :xx
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)paymentId | 需要删除的回款计划实体的ID | 必填 |
产品列表[全部数据]接口地址:http://dingapi.xbongbong.com/api/v1/product/list.do
输入参数:data = {"corpid":"dingxxxx","page":1, "pageSize":15,"updateTimeStart":xxx,"updateTimeEnd":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxxx","page":1, "pageSize":15,"updateTimeStart":xxx,"updateTimeEnd":xxx}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"page": 1,
"pageSize": 20,
"productList": [
{
"childProductList": [
{
"childProductId": 88727,
"产品单位": "KG",
"产品名称": "26",
"产品图片": "[]",
"产品简介": "",
"产品编号": "234624362346",
"单价": "0.0",
"库存数量": "0.0",
"成本": "0.0",
"规格": "{\"规格1\":\"哈哈哈哈\"}"
}
],
"id": 89007,
"产品单位": "KG",
"产品名称": "26",
"分类": "水果",
"产品图片": "[]",
"产品简介": "",
"产品编号": "234624362346",
"创建时间": 1518165812,
"单价": "0.0",
"库存数量": "0.0",
"成本": "0.0",
"更新时间": 1522649526,
"规格": "{}"
},
{
"childProductList": [
{
"childProductId": 191096,
"产品单位": "件",
"产品名称": "什么药丸",
"产品图片": "",
"产品简介": "38gghhjjkkllffddssaa",
"产品编号": "HXC201610140011",
"单价": "100.5",
"库存数量": "100.0",
"成本": "120.0",
"规格": "{\"规格1\":\"HXC001\"}"
}
],
"id": 191095,
"产品单位": "件",
"产品名称": "什么药丸",
"产品图片": "",
"产品简介": "38gghhjjkkllffddssaa",
"产品编号": "HXC201610140011",
"创建时间": 1546945485,
"单价": "100.5",
"库存数量": "100.0",
"成本": "120.0",
"更新时间": 1546945485,
"规格": "{}"
}
],
"totalCount": 2
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (int)updateTimeStart | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出更新时间大于等于该时间戳的产品 |
| (int)updateTimeEnd | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出更新时间小于该时间戳的产品 |
产品列表接口地址:http://dingapi.xbongbong.com/api/v1/product/add.do
输入参数:data = {"corpid":"dingxxxx","product":{"产品编号":"HXC20161014001","规格":"HXC001","价格":100.5,"生产厂家":"杭州莫名","单盒利润":38,"产品名称":"什么药丸","零售价":120}}
成功输出:
输入参数:data = {"corpid":"dingxxxx","product":{"产品编号":"HXC20161014001","规格":"HXC001","价格":100.5,"生产厂家":"杭州莫名","单盒利润":38,"产品名称":"什么药丸","零售价":120}}
成功输出:
{
"childProductId": 191098,
"errorCode": 0,
"msg": "操作成功",
"productId": 191097
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (JSONObject)product | 需要新建的产品实体 | 具体字段参见模板,后续补充 |
产品修改接口地址:http://dingapi.xbongbong.com/api/v1/product/update.do
输入参数:data = {"corpid":"dingxxx","product":{"productId":xxx,"产品编号":"HXC20161014001","规格":"HXC001","价格":100.5,"生产厂家":"杭州有名","单盒利润":38,"产品名称":"什么药丸","零售价":120}}
成功输出:
输入参数:data = {"corpid":"dingxxx","product":{"productId":xxx,"产品编号":"HXC20161014001","规格":"HXC001","价格":100.5,"生产厂家":"杭州有名","单盒利润":38,"产品名称":"什么药丸","零售价":120}}
成功输出:
{
"childProductId": 191100,
"errorCode": 0,
"msg": "操作成功",
"productId": 191099
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (JSONObject)product | 需要新建的产品实体 | 具体字段参见模板,后续补充 |
| (int)productId | 产品Id | 必填,包含在 product json中 |
获取产品详情接口地址:http://dingapi.xbongbong.com/api/v1/product/get.do
输入参数:data = {"corpid":"dingxx", "productId":xx}
成功输出:
输入参数:data = {"corpid":"dingxx", "productId":xx}
成功输出:
{
"contact": {
"childProductList": [
{
"childProductId": 191100,
"产品单位": "件",
"产品名称": "什么药丸",
"产品图片": "",
"产品简介": "38gghhjjkkllffddssaa",
"产品编号": "HXCS201710140011",
"单价": "100.5",
"库存数量": "1000.0",
"成本": "120.0",
"规格": "{\"规格1\":\"HXC002\"}"
}
],
"id": 191099,
"产品单位": "件",
"产品名称": "什么药丸",
"分类": "水果",
"产品图片": "",
"产品简介": "38gghhjjkkllffddssaa",
"产品编号": "HXCS201710140011",
"创建时间": 1546946758,
"单价": "100.5",
"库存数量": "1000.0",
"成本": "120.0",
"更新时间": 1546949114,
"规格": "{}"
},
"errorCode": 0,
"msg": "获取成功"
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)productId | 产品Id | 必填 |
产品删除接口地址:http://dingapi.xbongbong.com/api/v1/product/delete.do
输入参数:data = {"corpid":"dingxx", "productId":xx}
成功输出:
输入参数:data = {"corpid":"dingxx", "productId":xx}
成功输出:
{
"errorCode": 0,
"msg": "删除成功",
"productId": xxx
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)productId | 产品Id | 必填 |
产品分类列表[全部数据]接口地址:http://dingapi.xbongbong.com/api/v1/product/category/list.do
输入参数:data = {"corpid":"dingxxxx","page":1, "pageSize":50}
成功输出:
输入参数:data = {"corpid":"dingxxxx","page":1, "pageSize":50}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"page": 1,
"pageSize": 50,
"totalCount": 18,
"productCategoryList": [{
"addTime": 1465787755,
"id": 1,
"name": "水果类",
"parentId": 0
}]
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认50条 | 如果是null或者0默认都为50条--(用于分页) |
产品分类添加接口地址:http://dingapi.xbongbong.com/api/v1/product/category/add.do
输入参数:data = {"corpid":"dingxxxx", "name":"新建分类","parentId":0}
成功输出:
输入参数:data = {"corpid":"dingxxxx", "name":"新建分类","parentId":0}
成功输出:
{
"errorCode": 0,
"msg": "操作成功",
"categoryId":xxx
}
失败输出:{"errorCode":"*","msg":"删除失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (String)name | 分类名称 | 必填 |
| (int)parentId | 父分类Id,填0即新建一级分类 | 不填则默认是0 |
产品分类更新接口地址:http://dingapi.xbongbong.com/api/v1/product/category/update.do
输入参数:data = {"corpid":"dingxxxx","categoryId":xxx, "name":"修改分类"}
成功输出:
输入参数:data = {"corpid":"dingxxxx","categoryId":xxx, "name":"修改分类"}
成功输出:
{
"errorCode": 0,
"msg": "操作成功"
}
失败输出:{"errorCode":"*","msg":"删除失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)categoryId | 产品分类ID | 必填 |
| (String)name | 修改后的产品分类名 | 必填 |
产品分类更新接口地址:http://dingapi.xbongbong.com/api/v1/product/category/delete.do
输入参数:data = {"corpid":"dingxxxx","categoryId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxxx","categoryId":xxx}
成功输出:
{
"errorCode": 0,
"msg": "删除成功",
"categoryId": xxx
}
失败输出:{"errorCode":"*","msg":"删除失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)categoryId | 产品分类ID | 必填 |
跟进记录列表接口地址:http://dingapi.xbongbong.com/api/v1/communicate/list.do
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,"contractId":xxx,"opportunityId":xxx,"page":1, "pageSize":50,"startAddTime":xxx,"endAddTime":xxx,"updateTimeStart":xxx,"updateTimeEnd":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,"contractId":xxx,"opportunityId":xxx,"page":1, "pageSize":50,"startAddTime":xxx,"endAddTime":xxx,"updateTimeStart":xxx,"updateTimeEnd":xxx}
成功输出:
{
"communicateList": [
{
"客户名称": "对方是否",
"id": 5145,
"下拉选项3": "选项2",
"位置": "",
"单行输入1": "658567856856",
"图片": "[\"http://f.xbongbong.cn/xbbDingtalkLocal/1/jpeg/d7359652606c3c0732d366be82f5fbe5.jpeg?1501487479551\"]",
"备注": "ghjhjhgj",
"拜访时间": "1500450660",
"数字输入2": "786789",
"联系人": "[]",
"跟进方式": "意念交流",
"销售机会": "69775",
"音频": ""
}
],
"errorCode": 0,
"msg": "获取成功",
"page": 1,
"pageSize": 1,
"totalCount": 34
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 客户ID,筛选某客户的跟进记录 | 选填 |
| (int)contractId | 合同ID,筛选某合同的跟进记录 | 选填 |
| (int)opportunityId | 销售机会ID,筛选某销售机会的跟进记录 | 选填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认50条 | 如果是null或者0默认都为50条--(用于分页) |
| (int)startAddTime | 根据创建时间筛选,整型时间戳,精确到秒 | 选填,筛选出大于等于该时间戳的跟进记录 |
| (int)endAddTime | 根据创建时间筛选,整型时间戳,精确到秒 | 选填,筛选出小于该时间戳的跟进记录 |
| (int)updateTimeStart | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出更新时间大于等于该时间戳的跟进记录 |
| (int)updateTimeEnd | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出更新时间小于该时间戳的跟进记录 |
新建跟进记录接口地址:http://dingapi.xbongbong.com/api/v1/communicate/add.do
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,"opportunityId":xxx,"contractId":xxx,"communicate":{"创建人":"张三","","跟进方式":"电话拜访","备注":"", "拜访时间":"2017-8-16 10:13"}}//具体字段与模板相关
成功输出:
输入参数:data = {"corpid":"dingxxxx","customerId":xxx,"opportunityId":xxx,"contractId":xxx,"communicate":{"创建人":"张三","","跟进方式":"电话拜访","备注":"", "拜访时间":"2017-8-16 10:13"}}//具体字段与模板相关
成功输出:
{
"errorCode": 0, (错误返回码,0表示返回成功,其他参考错误码编号)
"msg": "操作成功", (成功返回信息)
"customerId": xxx, (新增客户ID)
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 关联客户ID | 必填 |
| (int)contractId | 关联合同ID | 选填 |
| (int)opportunityId | 关联销售机会ID | 选填 |
| (JSONObject)communicate | 需要新建的跟进记录实体 |
跟进记录修改接口地址:http://dingapi.xbongbong.com/api/v1/communicate/update.do
输入参数:data = {"corpid":"1","communicate":{"communicateId":xxx,"跟进方式":"电话拜访","备注":"", "拜访时间":"2017-8-16 10:13"}}
成功输出:
输入参数:data = {"corpid":"1","communicate":{"communicateId":xxx,"跟进方式":"电话拜访","备注":"", "拜访时间":"2017-8-16 10:13"}}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (JSONObject)communicate | 需要更新的跟进记录实体字段 | 具体字段参见模板,后续补充 |
| (int)communicateId | 跟进记录ID | 必填,communicate json中 |
获取跟进记录详情接口地址:http://dingapi.xbongbong.com/api/v1/communicate/get.do
输入参数:data = {"corpid":"dingxxx","communicateId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","communicateId":xxx}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"communicate": {
"id": 145264,
"位置": "浙江杭州滨江",
"图片": "['https://www.not.com/xbb/1089/image/48d5b4ebee706da8f16331df3582c366.jpg']",
"备注": "“张三”给客户“杭州逍邦网络科技有限公司”添加了一个销售机会“逍邦网络的机会”",
"客户名称": "杭州逍邦网络科技有限公司",
"拜访时间": "0",
"联系人": "[]",
"跟进方式": "项目日志",
"销售机会": "3",
"音频": ""
}
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)communicateId | 跟进记录ID | 必填 |
跟进记录删除接口地址:http://dingapi.xbongbong.com/api/v1/communicate/delete.do
输入参数:data = {"corpid":"dingxxx","communicateId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","communicateId":xxx}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"communicateId":xx
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)communicateId | 跟进记录ID | 必填 |
用户列表接口地址:http://dingapi.xbongbong.com/api/v1/user/list.do
输入参数:data = {"corpid":"dingxxxx","page":1, "pageSize":50}
成功输出:
输入参数:data = {"corpid":"dingxxxx","page":1, "pageSize":50}
成功输出:
{
"userList": [
{
"id": 10xxxxxxx,
"userId": "xxxx", //实际使用的用户userId,与钉钉userId对应
"name": "张三", //用户姓名
"active": 1, //钉钉是否激活,1表示激活,0表示未激活
"position": "职位", //钉钉中填写的职位信息,不是角色
"avatar": "http://xxx", //头像地址
"department": [], //所在部门,钉钉中有可能在多个部门,所以是个数组
"isLeaderInDepts": [{1:true},{2:false}], //在所在部门是否是主管
"addTime": 15100001235, //添加时间
"updateTime": 15100001235, //更新时间
}
],
"errorCode": 0,
"msg": "获取成功",
"page": 1,
"pageSize": 1,
"totalCount": 34
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (String)name | 员工姓名 | 非空时生效,且为完全匹配 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条 | 如果是null或者0默认都为15条--页(用于分页) |
获取当前启用的模板详情接口地址:http://dingapi.xbongbong.com/api/v1/template/get.do
输入参数:data = {"corpid":"dingxxxx","templateId":1,"templateName":"默认模板","refType":1}
成功输出:
输入参数:data = {"corpid":"dingxxxx","templateId":1,"templateName":"默认模板","refType":1}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"explains": [{
"attr": "name",
"attrName": "客户名称",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 1
},
{
"attr": "nameShort",
"attrName": "客户简称",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 1
},
{
"attr": "phone",
"attrName": "客户电话",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
},
{
"attr": "genre",
"attrName": "客户类型",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
},
{
"attr": "type",
"attrName": "客户状态",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 1
},
{
"attr": "isIndividual",
"attrName": "客户性质",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
},
{
"attr": "scale",
"attrName": "客户分级",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
},
{
"attr": "industry",
"attrName": "客户行业",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
},
{
"attr": "importantDegree",
"attrName": "重要程度",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
},
{
"attr": "country",
"attrName": "国家",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
},
{
"attr": "address",
"attrName": "客户地址",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
},
{
"attr": "source",
"attrName": "客户来源",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
},
{
"attr": "website",
"attrName": "客户官网",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
},
{
"attr": "instruction",
"attrName": "客户简介",
"enable": 1,
"fieldType": 0,
"initValue": "",
"isRedundant": 0,
"required": 0
}]
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)templateId | 模板id | 没有启用多模板,不需要填写templateId、templateName,优先匹配templateId |
| (String)templateName | 模板名称 | 没有启用多模板,不需要填写templateId、templateName,优先匹配templateId |
| (int)refType | 模板类型 | 1:客户 2:销售机会 3:合同 4:联系人 5:产品 |
获取当前启用的模板列表接口地址:http://dingapi.xbongbong.com/api/v1/template/getList.do
输入参数:data = {"corpid":"dingxxxx","refType":1}
成功输出:
输入参数:data = {"corpid":"dingxxxx","refType":1}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"templateList": [{
"templateId":1,
"templateName":"默认模板",
"type":1,
"typeStr":"客户"
}]
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)refType | 模板类型 | 1:客户 2:销售机会 3:合同 4:联系人 5:产品 |
获取数据字典接口地址:http://dingapi.xbongbong.com/api/v1/dictionary/get.do
输入参数:data = {"corpid":"dingxxxx","templateId":1,"templateName":"默认模板","type":1,"templateId":1}
成功输出:
输入参数:data = {"corpid":"dingxxxx","templateId":1,"templateName":"默认模板","type":1,"templateId":1}
成功输出:
{
"dictionaries": [{
"addTime": 1464600264,
"code": 1,
"enable": 1,
"id": 121,
"name": "潜在客户",
"sort": 6,
"type": 3,
"updateTime": 1504701154
},
{
"addTime": 1464600264,
"code": 2,
"enable": 1,
"id": 122,
"name": "初步接触",
"sort": 5,
"type": 3,
"updateTime": 1504701155
},
{
"addTime": 1464600264,
"code": 4,
"enable": 1,
"id": 124,
"name": "成交客户11",
"sort": 3,
"type": 3,
"updateTime": 1527065248
},
{
"addTime": 1464600264,
"code": 5,
"enable": 1,
"id": 125,
"name": "忠诚客户",
"sort": 2,
"type": 3,
"updateTime": 1504701156
},
{
"addTime": 1464600264,
"code": 6,
"enable": 1,
"id": 126,
"name": "无效客户",
"sort": 1,
"type": 3,
"updateTime": 1504701157
},
{
"addTime": 1514255334,
"code": 7,
"enable": 1,
"id": 1335,
"name": "有效客户",
"sort": 0,
"type": 3,
"updateTime": 1514255334
}],
"errorCode": 0,
"msg": "获取成功"
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)type | 数据字典类型 | 1:合同状态 2:合同类型 3:客户状态 4:客户性质 5:联系人级别 6:客户行业 7:审批项目 8:销售阶段 9:跟进方式 10:决策关系 11:国家 12:客户来源 13:客户类型 14:产品单位 15:支付方式 16:退货原因 17:客户分级 18:输单原因 19:延期原因 |
| (int)templateId | 多模板数据字典所对应多模板id | 选填,4:客户性质 6:客户行业 12:客户来源 13:客户类型 17:客户分级 21 流失原因, 暂时以上数据字典为多模板数据字典 |
销售机会列表[全部数据]接口地址:http://dingapi.xbongbong.com/api/v1/opportunity/list.do
输入参数:data = { "corpid":"dingxxxxxx", "page":1, "pageSize":15, "opportunityNo":"", "opportunityName":"" }
成功输出:
输入参数:data = { "corpid":"dingxxxxxx", "page":1, "pageSize":15, "opportunityNo":"", "opportunityName":"" }
成功输出:
{
"errorcode": 0,
"msg": "获取成功",
"opportunityList": [
{
"id": 69790,
"决策人": "[]",
"图片": "",
"客户名称": "12的联系人",
"客户联系人": "",
"币种": "元",
"机会名称": "1231",
"竞争对手": "[]",
"销售机会编号": "OP.20170809001",
"销售阶段": "输单",
"预计结束": "2017-08-16 00:00",
"预计金额": "1222.0",
"是否归档":"否"
}
],
"page": 1,
"pageSize": 15,
"totalCount": 1
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (String)opportunityName | 销售机会名称,模糊查询 | 选填 |
| (String)opportunityNo | 销售机会编号,模糊查询 | 选填 |
| (int)customerId | 客户ID,查询某个客户的销售机会 | 选填 |
新建销售机会接口地址:http://dingapi.xbongbong.com/api/v1/opportunity/add.do
输入参数:data = {"corpid":"1","customerId":7024012,"oppprtunity":{"创建人":"张杰","销售机会编号":"OPP.20180619001","销售机会名称":"ceshiadd","预计金额":"20","机会成本":"21","机会毛利":"1.2","销售阶段":"赢单","预计结束时间":"1529371757","重要程度":"4"}}
成功输出:
输入参数:data = {"corpid":"1","customerId":7024012,"oppprtunity":{"创建人":"张杰","销售机会编号":"OPP.20180619001","销售机会名称":"ceshiadd","预计金额":"20","机会成本":"21","机会毛利":"1.2","销售阶段":"赢单","预计结束时间":"1529371757","重要程度":"4"}}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"opportunityId": xx
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)customerId | 关联客户ID | 必填 |
| (JSONObject)oppprtunity | 需要新建的销售机会实体 | 具体字段参见模板,后续补充 |
销售机会修改接口地址:http://dingapi.xbongbong.com/api/v1/opportunity/update.do
输入参数:data = {"corpid":"xxx","opportunity":{"opportunityId":"xxx","销售机会编号":"OPP.201xxxxx","销售机会名称":"ceshiadd","预计金额":"20","机会成本":"21","机会毛利率":"1.2","销售阶段":"赢单","预计结束时间":"1529371757","重要程度":"4"}}
成功输出:
输入参数:data = {"corpid":"xxx","opportunity":{"opportunityId":"xxx","销售机会编号":"OPP.201xxxxx","销售机会名称":"ceshiadd","预计金额":"20","机会成本":"21","机会毛利率":"1.2","销售阶段":"赢单","预计结束时间":"1529371757","重要程度":"4"}}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (JSONObject)opportunity | 需要更新的销售机会实体 | 具体字段参见模板,后续补充 |
| (int)opportunityId | 销售机会ID | 必填,包含在opportunity json中 |
获取销售机会详情接口地址:http://dingapi.xbongbong.com/api/v1/opportunity/get.do
输入参数:data = {"corpid":"dingxxx","opportunityId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","opportunityId":xxx}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"opportunity": {
"id": xxx,
"决策人": "[]",
"客户名称": "xxx",
"客户联系人": "",
"币种": "元",
"推介阶段": "",
"机会成本": "21.0",
"竞争对手": "[]",
"重要程度": "",
"销售机会名称": "ces",
"销售阶段": "赢单",
"机会毛利": "1.2",
"机会毛利率": "0.0",
"预计结束时间": "2018-06-19 09:29",
"预计金额": "20.0",
"是否归档":"否"
},
"opportunityProductList": [
]
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)opportunityId | 销售机会ID | 必填 |
销售机会删除接口地址:http://dingapi.xbongbong.com/api/v1/opportunity/delete.do
输入参数:data = {"corpid":"dingxxx","opportunityId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","opportunityId":xxx}
成功输出:
{
"errorCode": 0,
"msg": "删除成功",
"contractId":xx
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)opportunityId | 销售机会ID | 必填 |
获取销售机会关联产品列表接口地址:http://dingapi.xbongbong.com/api/v1/opportunity/product/list.do
输入参数:data = {"corpid":"dingxxx","opportunityId":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","opportunityId":xxx}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"opportunityId": xxx,
"opportunityProductList": [
{
"cost": 69.96,
"discount": 100,
"opportunityId": xxx,
"price": 800,
"productId": xxx,
"productName": "xxxx",
"productNum": 1,
"specification": "{\"规格\":\"xxx\"}"
},
{
"cost": 5670.4,
"discount": 100,
"opportunityId": xxx,
"price": 200,
"productId": xxx,
"productName": "xxx",
"productNum": 1,
"specification": "{\"规格\":\"xxx\"}"
}
],
"totalCount": 2
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)opportunityId | 销售机会ID | 必填 |
销售机会关联产品添加接口地址:http://dingapi.xbongbong.com/api/v1/opportunity/product/add.do
输入参数:data = {"corpid":"1","opportunityId":xxx, "productId":xxx, "productNum":xxx, "price":xxx,"cost": xxx,"discount": xxx}
成功输出:
输入参数:data = {"corpid":"1","opportunityId":xxx, "productId":xxx, "productNum":xxx, "price":xxx,"cost": xxx,"discount": xxx}
成功输出:
{
"errorCode": 0,
"msg": "操作成功"
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)opportunityId | 销售机会ID | 必填 |
| (int)productId | 产品ID | 必填 |
| (int)productNum | 产品数量 | 必填 |
| (double)price | 产品单价 | 选填,不填则产品单价与产品ID对应产品的产品单价相同 |
| (double)cost | 产品成本 | 选填,不填则产品单价与产品ID对应产品的产品成本相同 |
| (double)discount | 产品折扣 | 选填,不填则产品折扣默认为100,即不打折 |
销售机会关联产品修改接口地址:http://dingapi.xbongbong.com/api/v1/opportunity/product/update.do
输入参数:data = {"corpid":"dingxxx","opportunityId":xxx, "productId":xxx, "productNum":xxx, "price":xxx,"discount":xxx,"cost":xxx}
成功输出:
输入参数:data = {"corpid":"dingxxx","opportunityId":xxx, "productId":xxx, "productNum":xxx, "price":xxx,"discount":xxx,"cost":xxx}
成功输出:
{
"errorCode": 0,
"msg": "操作成功"
}
失败输出:{"errorCode":"*","msg":"操作失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)contractId | 合同ID | 必填 |
| (int)productId | 产品ID | 必填 |
| (int)productNum | 产品数量 | 选填,填写则修改 |
| (double)price | 产品单价 | 选填,填写则修改 |
| (double)discount | 产品折扣 | 选填,填写则修改 |
| (double)cost | 产品成本 | 选填,填写则修改 |
退货退款列表[全部数据]接口地址:http://dingapi.xbongbong.com/api/v1/refund/list.do
输入参数:data = { "corpid":"dingxxxxxx", "page":1, "pageSize":15, "refundNo":"","isAllApproveStatusShow":0}
成功输出:
输入参数:data = { "corpid":"dingxxxxxx", "page":1, "pageSize":15, "refundNo":"","isAllApproveStatusShow":0}
成功输出:
{
"errorcode": 0,
"msg": "获取成功",
"refundList": [
{
"id": 437,
"客户id": "7024020",
"合同id": "1000052203",
"红冲合同id": "0",
"退货金额": "100.0",
"退款金额": "0.0",
"退款理由": "产品不好用",
"预计退货时间": "2018-06-19 09:29",
"实际退货时间": "2018-06-19 09:29",
"备注": "不好用",
"创建人id": "1",
"创建时间": "2018-06-19 09:29"
}
],
"page": 1,
"pageSize": 15,
"totalCount": 1
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (String)refundNo | 退货退款单编号模糊查询 | 选填 |
| (int)startAddTime | 根据创建时间筛选,整型时间戳,精确到秒 | 选填,筛选出大于等于该时间戳的退货退款单 |
| (int)endAddTime | 根据创建时间筛选,整型时间戳,精确到秒 | 选填,筛选出小于该时间戳的退货退款单 |
| (int)isAllApproveStatusShow | 是否显示全部审批的数据 | 如果是null或者0默认显示无需审批和通过审批的数据,为1时显示全部的数据 |
退货退款列表[简要数据]接口地址:http://dingapi.xbongbong.com/api/v1/refund/simpleList.do
输入参数:data = { "corpid":"dingxxxxxx", "page":1, "pageSize":15, "refundNo":""}
成功输出:
输入参数:data = { "corpid":"dingxxxxxx", "page":1, "pageSize":15, "refundNo":""}
成功输出:
{
"errorcode": 0,
"msg": "获取成功",
"refundList": [
{
"id": 437,
"客户id": "7024020",
"合同id": "1000052203",
"红冲合同id": "0",
"退货金额": "100.0",
"退款金额": "0.0",
"退款理由": "产品不好用",
"预计退货时间": "2018-06-19 09:29",
"实际退货时间": "2018-06-19 09:29",
"备注": "不好用",
"创建人id": "1",
"创建时间": "2018-06-19 09:29"
}
],
"page": 1,
"pageSize": 15,
"totalCount": 1
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (String)refundNo | 退货退款单编号模糊查询 | 选填 |
| (int)startAddTime | 根据创建时间筛选,整型时间戳,精确到秒 | 选填,筛选出大于等于该时间戳的退货退款单 |
| (int)endAddTime | 根据创建时间筛选,整型时间戳,精确到秒 | 选填,筛选出小于该时间戳的退货退款单 |
工单列表 接口地址:http://dingapi.xbongbong.com/api/v1/workOrder/list.do
输入参数:data = { "corpid":"dingxxxxxx", "page":1, "pageSize":15, "addTimeStart":"","addTimeEnd":"", "updateTimeStart":"","updateTimeEnd":"","templateId":""}
成功输出:
输入参数:data = { "corpid":"dingxxxxxx", "page":1, "pageSize":15, "addTimeStart":"","addTimeEnd":"", "updateTimeStart":"","updateTimeEnd":"","templateId":""}
成功输出:
{
"errorcode": 0,
"msg": "获取成功",
"workOrderList": [
{
"addTime": 1551750172, //创建时间
"contactId": 1697, //联系人id
"contractId": 1000053308, //关联合同id
"customerId": 7023830, //客户id
"customerName": "客户名称", //客户名称
"id": 715, //工单id
"opportunityId": 0, //机会id
"sheetNo": "FOO.1048", //工单编号
"status": "进行中", //工单状态
"templateId": 71, // 工单模板id
"templateName": "工单学习", //工单模板名称
"updateTime": 1551751039 //更新时间
}
],
"page": 1,
"pageSize": 15,
"totalCount": 1
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |
| (int)addTimeStart | 根据创建时间筛选,整型时间戳,精确到秒 | 选填,筛选出大于等于该时间戳的工单 |
| (int)addTimeEnd | 根据创建时间筛选,整型时间戳,精确到秒 | 选填,筛选出小于该时间戳的工单 |
| (int)updateTimeStart | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出大于等于该时间戳的工单 |
| (int)updateTimeEnd | 根据更新时间筛选,整型时间戳,精确到秒 | 选填,筛选出小于该时间戳的工单 |
| (int)templateId | 工单模板筛选 | 选填 |
获取工单详情 接口地址:http://dingapi.xbongbong.com/api/v1/workOrder/get.do
输入参数:data = { "corpid":"dingxxxxxx", "workOrderId":715}
成功输出:
输入参数:data = { "corpid":"dingxxxxxx", "workOrderId":715}
成功输出:
{
"errorcode": 0,
"msg": "获取成功",
"workOrder": {
"id": 715,
"templateId": 71, // 工单模板id
"关联合同": "五脏俱全",
"关联机会": "",
"创建时间": 1551750172,
"合同ID": 1000053308,
"地址": "浙江省杭州市萧山区蜀山街道亚太路北858号",
"实施时间": "2019-04-02 07:11",
"客户": "客户名称",
"客户ID": 7023830,
"工单备注": "这里是备注",
"工单模板": "工单学习",
"工单编号": "FOO.1048",
"更新时间": 1551751039,
"服务价格": "213.31",
"紧急程度": "非常紧急",
"联系人": "振华",
"联系方式": "133548654654"
},
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)workOrderId | 工单ID | 必填 |
获取工单备件 接口地址:http://dingapi.xbongbong.com/api/v1/workOrder/product/list.do
输入参数:data = { "corpid":"dingxxxxxx", "workOrderId":715}
成功输出:
输入参数:data = { "corpid":"dingxxxxxx", "workOrderId":715}
成功输出:
{
"errorcode": 0,
"msg": "获取成功",
"totalCount": 2,
"workOrderId": 715,
"workOrderProductList": [
{
"productId": 191148, // 产品id
"productName": "EF", // 产品名称
"productNum": 3, // 产品数量
"specification": "{\"45\":\"ET\"}" //产品规格
},
{
"productId": 190807,
"productName": "百香果【鸡蛋果】",
"productNum": 2,
"specification": "{\"规格1\":\"等级:特级\"}"
}
]
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)workOrderId | 工单ID | 必填 |
工单模板列表 接口地址:http://dingapi.xbongbong.com/api/v1/workOrder/templateList.do
输入参数:data = { "corpid":"dingxxxxxx", "page":1,"pageSize":15}
成功输出:
输入参数:data = { "corpid":"dingxxxxxx", "page":1,"pageSize":15}
成功输出:
{
"errorCode": 0,
"msg": "获取成功",
"page": 1,
"pageSize": 15,
"totalCount": 43,
"workOrderTemplateList": [
{
"addTime": 1514188344,
"id": 1,
"name": "指定流程",
"updateTime": 1524903175
},
{
"addTime": 1514192834,
"id": 2,
"name": "专用模板",
"updateTime": 1527489234
},
{
"addTime": 1514267210,
"id": 5,
"name": "像梦一样自",
"updateTime": 1521772620
},
{
"addTime": 1514276507,
"id": 6,
"name": "服务人员-内部",
"updateTime": 1534759433
},
{
"addTime": 1514534342,
"id": 8,
"name": "工单模板反复测试",
"updateTime": 1536114668
}
]
}
失败输出:{"errorCode":"*","msg":"获取失败","ret":""}
接口参数解析
| 参数名称 | 参数解析 | 参数值 |
|---|---|---|
| (String)corpid | 公司corpid,与钉钉公司ID一致 | 必填 |
| (int)workOrderId | 工单ID | 必填 |
| (int)page | 第几页 | 如果是null或者0默认都为1页--(用于分页) |
| (int)pageSize | 一页多少条数据,默认15条,最多100条 | 如果是null或者0默认都为15条--(用于分页) |