首页 > 开发指南 > 协同审批接口
协同审批接口
更新时间: 2019-01-01 17:55:34

协同审批接口

企业默认没有开通审批接口,如需使用请联系 开通。


1.获取审批类型列表

查询协同审批中的审批类型列表。

请求说明

请求方式:post+application/json 方式

请求路径:https://open.71360.com/cgi/approvalTypeForms/get 

参数说明
参数 参数类型 必须 备注
corpAccessToken String 企业应用访问公司合法性凭证
corpId String 企业ID


请求包结构体示例:

{
    "corpAccessToken": "CORP_ACCESS_TOKEN",
    "corpId": "CORP_ID"
}
返回说明
参数 必须 说明
errorCode 返回码
errorMessage 对返回码的文本描述内容



a)正确的Json返回结果示例:

{
    "approvalTypeForms": [
        {
            "approveType": 1,
            "name": "普通审批",
            "id": "0076E076-2D2B-4392-8365-7982763840C4"
        },
        {
            "approveType": 9,
            "name": "加班申请",
            "id": "1294EDEA-154F-4F81-8373-ADAA6FBB1DC6"
        },
        {
            "approveType": 4,
            "name": "出差申请",
            "id": "190FB825-927E-49CA-B594-A153BA0FAADA"
        },
        {
            "approveType": 8,
            "name": "差旅报销",
            "id": "1EABBFB4-4106-4056-95AC-BAE60CB3176F"
        },
        {
            "approveType": 100,
            "name": "内嵌部门和附件展示",
            "id": "5012dede1b4547939984f73c74308bb1"
        },
        {
            "approveType": 100,
            "name": "固定审批流",
            "id": "767f6c06dfa8491e84dcc88c3e4c50c1"
        },
        {
            "approveType": 3,
            "name": "普通报销",
            "id": "872D6992-EF49-4B88-9F85-2C322671D3B2"
        },
        {
            "approveType": 2,
            "name": "请假",
            "id": "93EAB3A0-1D5F-49EC-AC4D-743F6C35E2B7"
        },
        {
            "approveType": 100,
            "name": "测试审批附件BUG",
            "id": "f46385a5e15a428fb457e5494898927f"
        }
    ],
    "errorCode": 0,
    "errorMessage": "success"
}

b)错误的Json返回示例:

{
    "errorCode": 20016,
    "errorMessage": "corpAccessToken error"
}

2.获取审批列表

查询起始时间段内审批列表,查询时间间隔不超过180天(默认按审批最后更新时间倒序排序)。

接口说明:

请求方式:post+application/json 方式

请求路径:https://open.71360.com/cgi/approval/query

请求参数说明:

参数名称 参数类型 必须 说明
corpAccessToken string 企业应用访问公司合法性凭证
corpId string 开放平台公司帐号
startTime long 开始时间时间戳
endTime long 结束时间时间戳
pageSize int 每页记录数,默认为20(最大不能超过1000)
pageNumber             int             否             当前页,默认为1            
approvalFormId String 否             审批类型ID


请求参数示例:

{  
   "corpAccessToken":"CORP_ACCESS_TOKEN",  
   "corpId":"CORP_ID",  
   "pageSize": 10,
   "pageNumber": 1,
   "startTime": 1482809339093,
   "endTime": 1482809349093,
   "approvalFormId":"0076E076-2D2B-4392-8365-7982763840C4"
}

返回参数说明:

参数名称 类型 必须 说明
errorCode int 返回状态码
errorMessage String 状态码描述
approvals             array 审批Id列表
approval.id int 审批Id
approval.status int 整个审批流程状态, 1待审批, 2同意, 3不同意, 4已取消, 5错误
totalCount int 总记录数
pageSize int 每页记录数
pageNumber int 当前页


1)正确的Json返回结果示例:

{
    "errorCode": 0,
    "errorMessage":  "0",
    "approvals":  [
        {
            "id": 1,
            "status": 1
        }
    ],
    totalCount: 1000,
    pageSize: 10,
    pageNumber: 1
 }

3.获取审批详情

根据审批id获取审批详情接口

接口说明:

请求方式:post+application/json 方式

请求路径:https://open.71360.com/cgi/approval/get

请求参数说明:

参数名称 参数类型 必须 说明
corpAccessToken string 企业应用访问公司合法性凭证
corpId string 开放平台公司帐号
approvalId int 审批id


请求参数示例:

{  
   "corpAccessToken":"CORP_ACCESS_TOKEN",  
   "corpId":"CORP_ID",  
   "approvalId":1
}

返回参数说明:

参数名称 类型 必须 说明
errorCode int 返回状态码
errorMessage string 状态码描述
approval             object 审批数据
approvalId int 审批Id
feed             object 审批正文内容
feed.feedContent string 审批文本内容
feed.createTime date 审批创建时间,时间格式为yyyy-MM-dd HH:mm:ss
feed.lastUpdateTime string 最后有审批动作的更新时间,包括有审批批复,取消,更换审批人操作,时间格式为yyyy-MM-dd HH:mm:ss
feed.crmObjects             array CRM关联对象列表,如客户、订单、产品、自定义等所有对象
feed.crmObject.id String 对象id
feed.crmObject.type int 对象类型(详情见下表格)
feed.tables array[string]

表格(表格列表),每一个表格存储的是表格的html文本

feed.attachments             array 附件列表
feed.attachment.id string 附件id,对应素材下载接口的素材id
feed.attachment.type int 附件类型,1录音,2图片,3文件
feed.attachment.name string 附件名称
visibleDepartmentIds             array[int] 可见部门Id列表(部门Id为0代表全公司)
visibleEmployeeIds             array[string] 可见员工openUserId列表
approvalTasks             array 审批详情
approvalTask.taskId string 审批节点Id
approvalTask.comments             array[object] 审批节点回复列表(会签时会存在多个评论的情况)
approvalTask.comment.senderId string 评论人openUserId
approvalTask.comment.content string 评论内容
approvalTask.comment.attachments             array[object] 评论附件列表,同上
approvalTask.type string 审批类型(all_pass:会签,one_pass:多人审批,single:个人审批)
approvalTask.state string 当前节点状态
agree:同意 
reject:不同意 
cancel:已取消 
go_back:驳回上一级 
schedule:待审批(发起节点[第一个节点]的状态) 
error:异常 
in_progress:待审批(审批后续节点的状态) 
           
approvalTask.taskMembers             array 当前节点审批人列表
approvalTask.taskMember.employeeId string 审批成员openUserId
approvalTask.taskMember.state string 员工审批状态,
agree:同意 
reject:不同意 
cancel:已取消 
go_back:驳回上一级 
schedule:待审批(发起节点[第一个节点]的状态) 
error:异常 
in_progress:待审批(审批后续节点的状态) 
           
approvalTask.sequenceNumber string 当前节点序号
approvalTask.errorMessage string 审批错误描述信息,例如审批人出现离职,停用,该节点就是异常状态
formRecord             object 审批表单(具体值根据审批类型返回)
senderId string 发送审批员工openUserId
status int 整个审批流程状态:1待审批,2同意,3不同意,4已取消,5错误
approveType int 审批类型:
1.普通审批
2.请假单
3.报销单
4.出差申请单
5.借款申请单
6.付款申请单
7.折扣申请单
8.差旅报销单
9.加班 
100.固定审批流程
approveFormName string

审批名称,不同的固定审批流程对应不同审批名称

approvalFormId string 审批表单Id,通过Id确定表单
flowType int 审批流程类型:1自由审批流程,2 固定审批流程
currentTaskId string 当前审批节点Id


其中approveType不为100的为系统预设表单,formRecord字段定义如下:

1. 普通报销审批
参数名称 类型 说明
title string 标题
amount double 报销金额,精确到小数点后两位
customerId string 客户Id
remark string 备注
attachments array[object] 附件

2. 差旅报销审批
参数名称 类型 说明
travelType int 类型(1飞机,2汽车,3火车,4住宿,5打车,6餐饮,7其他)
travelAmount double 报销金额,精确到小数点后两位
remark string 备注
startAddress string 出发地点
endAddress string 目的地点
startTime string 出发时间,时间格式为yyyy-MM-dd HH:mm
endTime string 到达时间,时间格式为yyyy-MM-dd HH:mm
attachments array[object] 附件


参数名称 类型 说明
id string 附件id(可以通过此Id调用素材接口下载文件)
type int 附件类型(1录音,2图片,3文件)
name string 附件名称

3. 出差申请
参数名称 类型 说明
items             array 出差明细列表
item.startPoint string 出发地
item.startTime string 出发时间,时间格式为yyyy-MM-dd HH:mm
item.endPoint string 目的地
item.endTime string 到达时间,时间格式为yyyy-MM-dd HH:mm
item.vehicle int 交通工具(1火车,2飞机,3汽车,4其他)
item.daysNumber int 住宿天数
memberIds array[string] 出差人openUserId列表
approveReason string 事由
approveBudget double 预算,精确到小数点后两位
approvePrepayments double 预支,精确到小数点后两位

4. 折扣申请
参数名称 类型 说明
amount double 金额,精确到小数点后两位
discountPercent double 折扣率,精确到小数点后两位
endTime string 结束时间,时间格式为yyyy-MM-dd
companyName string 公司名称
remark string 说明

5. 借款申请
参数名称 类型 说明
borrowerId string 借款人openUserId
reason string 事由
amount double 借款金额,精确到小数点后两位

6. 付款申请
参数名称 类型 说明
paymentAmount double 金额,精确到小数点后两位
paymentTime string 付款时间,时间格式为yyyy-MM-dd HH:mm
paymentType string 付款方式
invoiced boolean 是否开票
receiverName string 收款人姓名
receiverAccount string 收款人账号
openBank string 开户行
companyName string 企业名称
remark string 备注

7. 加班申请
参数名称 类型 说明
leaveType int 加班固定为8
startTime string 开始时间,时间格式为yyyy-MM-dd HH:mm
endTime string 结束时间,时间格式为yyyy-MM-dd HH:mm
hours double 加班小时数,精确到小数点后一位

8. 请假申请
参数名称 类型 说明
leaveType int 1事假,2病假,3调休,4年休假,5婚假,6生育假,7丧假,9外勤,10出差,11其他
startTime string 开始时间,时间格式为yyyy-MM-dd HH:mm
endTime string 结束时间,时间格式为yyyy-MM-dd HH:mm
hours double 请假小时数,精确到小数点后一位

9.当approveType为100时为自定义表单

其格式为

{
    "key1": {
         "label": "", // 字段中文描述
         "value": "" ,// 字段值
         "type":"text"
    },
    "key2": {
        "label": "",
        "value": ["", ""], // 多选框的情况
        "type":"select_many"
   }
}


其中type有如下定义: text:普通文本,select_one:单选框,显示时可以当做普通文本处理
select_many:多选框,其value对应数组,file_attachment:附件,其value对象附件的Id(素材Id)
image:图片,其value对象附件的Id(素材Id)

备注: 附件对象说明

参数名称 类型 说明
id string 附件Id(开放平台mediaId)
type int 附件类型(1录音,2图片,3文件)
name string 附件名称
10. 审批对象类型列表
参数名称 类型 说明
OldCustomer 2 旧客户对象
OldContact 3 旧联系人对象
EventTag 100 销售记录
SalesClue 101 线索
Customer 102
客户
Contact 103
联系人
Product 104 产品
Payment 105 回款
Refund 106 退款
SaleAction 107 销售流程
Opportunity 108 商机
Bill 109 开票
Trade 110 成交
CustomerOrder 111 订单
ReturnOrder 112 退货单
Visit 113 拜访
VisitActistudyon 114 拜访动作
InventoryAction 115 盘点动作
Contract 116 合同
SalesCluePool 117 线索池
HighSeas 118 公海
Competitor 119 竞争对手
MarketingEvent 120 市场活动
Inventory 121 盘点
Metadata 200
自定义


a)正确的Json返回结果示例:

{
  "approval": {
    "approvalId": 71676,
    "feed": {
      "feedContent": "加班",
      "createTime": "2017-01-05 22:22:46",
      "lastUpdateTime": "2017-01-05 22:22:46"
    },
    "visibleDepartmentIds": [
      1195
    ],
    "visibleEmployeeIds": [
      "FSUID_442A9447ADD9EB86760B4AF319D187AC",
      "FSUID_F7E1595DBD7CE7D0232EBE075CD8E54B"
    ],
    "approvalTasks": [
      {
        "taskId": "245d484112044ef5b6b4bafdf8a646ac",
        "type": "single",
        "state": "in_progress",
        "taskMembers": [
          {
            "state": "in_progress",
            "employeeId": "FSUID_442A9447ADD9EB86760B4AF319D187AC"
          }
        ],
        "sequenceNumber": "1"
      },
      {
        "taskId": "67333e3d8a974abf8427d44c5ac20cb5",
        "type": "single",
        "state": "schedule",
        "taskMembers": [
          {
            "state": "schedule",
            "employeeId": "FSUID_F7E1595DBD7CE7D0232EBE075CD8E54B"
          }
        ],
        "sequenceNumber": "2"
      }
    ],
    "formRecord": {
      "invoiced": true,
      "receiverName": "雷龙",
      "companyName": "永辉",
      "paymentTime": "2017-01-04 22:25",
      "paymentAmount": 12,
      "receiverAccount": "ll",
      "paymentType": "支付宝"
    },
    "senderId": "FSUID_68D40E4FE7F461644E37E70B9BD64522",
    "status": 1,
    "approveType": 6,
    "flowType": 1,
    "currentTaskId": "245d484112044ef5b6b4bafdf8a646ac",
    "approvalFormName": "付款申请",
    "approvalFormId": "9A8AF67A-4793-4D8C-AE3D-AA03FB9F80CF"
  },
  "errorCode": 0,
  "errorMessage": "success"
}

b)错误的Json返回结果示例:

{
    "errorCode": 15002,
    "errorMessage":  "illegal parameter"
 }

其中预设表单示例返回

1> 差旅报销

"formRecord": {
      "details": [
        {
          "travelType": 4,
          "remark": "上搜索",
          "startTime": "2000-01-01 00:00",
          "endTime": "2000-01-01 00:00",
          "travelAmount": 123
        },
        {
          "travelType": 4,
          "attachments": [
            {
              "id": "55cb5a8a-1012-4d51-ab5a-b6100fb37122",
              "type": 2,
              "name": "我的二维码.jpg"
            }
          ],
          "remark": "搜索",
          "startTime": "2000-01-01 00:00",
          "endTime": "2000-01-01 00:00",
          "travelAmount": 3234
        }
      ]
    },

2> 借款审批

"formRecord": {
      "borrowerId": "FSUID_68D40E4FE7F461644E37E70B9BD64522",
      "reason": "111",
      "amount": 111.11
    }

3> 付款审批

"formRecord": {
      "invoiced": true,
      "receiverName": "雷布斯",
      "companyName": "小米",
      "paymentTime": "2017-01-04 22:25",
      "paymentAmount": 12,
      "receiverAccount": "ll",
      "paymentType": "支付宝"
    }

4> 请假审批

"formRecord": {
      "details": [
        {
          "hours": 8.4,
          "leaveType": 1,
          "startTime": "2017-01-04 22:15",
          "endTime": "2017-01-06 22:15"
        },
        {
          "hours": 12.5,
          "leaveType": 2,
          "startTime": "2017-01-07 22:15",
          "endTime": "2017-01-09 22:15"
        }
      ]
    }

5> 普通报销

"formRecord": {
      "details": [
        {
          "amount": 200,
          "attachments": [
            {
              "id": "55cb5a8a-1012-4d51-ab5a-b6100fb37122",
              "type": 2,
              "name": "我的二维码.jpg"
            }
          ],
          "remark": "100只笔,50个本",
          "title": "办公用品"
        }
      ]
    }

6> 出差审批

"formRecord": {
      "approveReason": "出差",
      "details": [
        {
          "endPoint": "武汉",
          "daysNumber": 1,
          "startPoint": "上海",
          "startTime": "2017-01-03 16:45",
          "endTime": "2017-01-09 16:45",
          "vehicle": 2
        }
      ],
      "approvePrepayments": 222,
      "memberIds": [
        "FSUID_55E332B8B9637C744CFD5FC89F7FCA57"
      ],
      "approveBudget": 111
    }

7> 折扣审批

"formRecord": {
      "amount": 11,
      "discountPercent": 11,
      "companyName": "百度",
      "remark": "备注",
      "endTime": "2017-01-03"
    }

8> 加班申请

"formRecord": {
      "details": [
        {
          "hours": 12,
          "leaveType": 8,
          "startTime": "2017-01-04 16:50",
          "endTime": "2017-01-09 16:50"
        }
      ]
    }




免费申请试用