待办消息对接-2.0

一、业务场景

该接口用于主动查询每刻单据流程变更所发送的消息。

注:

  • 仅支持旗舰版。
  • 暂不支持分期单、还款单
  • 在开发之前,请联系每刻集成做企业配置(创建企业库)。
  • 查询待办列表接口返回的数据正序(时间从早到晚)
  • 需在每刻报销-设置-系统集成-回调管理下新增回调接口,选择“单据流程变更通知2.0”回调类型,开启该版本待办消息的配置。
  • 基础业务流程,请见下图: 输入图片说明
  • 待办转已办数据说明
    • 收到的数据为
      • 1、taskId=taskId001,taskAssignee=张三,taskActionType=PROCESSING(创建待办);
      • 2、taskId=taskId001,taskAssignee=李四,taskActionType=PROCESSING(创建待办);
      • 3、taskId=taskId001,taskAssignee=张三,taskActionType=COMPLETED(创建已办);
      • 4、taskId=taskId001,taskAssignee=李四,taskActionType=REMOVED(消除待办);
    • 查询到的taskId、taskAssignee一致,但taskActionType不一致的任务(如1、3;2、4),其中taskActionType=COMPLETED(3)为张三的待办转已办任务(代表此节点为该用户操作审批,用于三方系统的已办处理),taskActionType=REMOVED(4)为李四的待办转消除任务(代表或签节点等场景该用户不再需要处理任务,用于三方系统的消除任务处理)。
  • 拉取数据时,应在列表接口增加入参status=0查询到所有未被处理的任务。在数据分发/入库处理成功后,应调用状态更新接口更新状态为1(发送成功),防止查询到重复数据。

二、环境地址

生产环境地址:https://todo.maycur.com
测试环境地址:http://8.136.253.237:9088

完整请求地址:${对应环境地址}/${对应业务请求地址}
例:调用测试环境鉴权接口:http://8.136.253.237:9088/api/openapi/auth/login

三、鉴权

接口地址

/api/openapi/auth/login

请求类型

POST

请求参数

请求参数说明:

字段名 类型 必填性 说明
appCode String 必填 鉴权code(集成注册待办企业库后提供)
timestamp String 必填 当前系统时间戳,13位毫秒时间戳
secret String 必填 加密鉴权信息

secret加密算法:

secret=DigestUtils.sha256Hex(appSecret(集成注册待办企业库后提供) + ":" + appCode(集成注册待办企业库后提供) + ":" + timestamp(13位毫秒时间戳));

请求参数示例:

{
  "appCode": "AP3OL****9JPC",
  "secret": "3b2d2dee55f114850ee0*******5b4ca181bbe3666e2b457e",
  "timestamp": "1684490229417"
}

响应数据

响应数据示例:

{
    "code": "200",
    "message": "success",
    "data": {
        "entCode": "EC2012****VN3XQY",
        "appCode": "AP3OL****9JPC",
        "tokenId": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJPUEVOX0FQSSIsImVudENvZGUiOiJFQzIwMTIxMTFPVk4zWFFZIiwiY2x1c3RlckNvZGUiOiJERVgiLCJleHAiOjE2ODI0MjAzNDgsImp0aSI6Im1heWN1cl9qd3RfaWQifQ.Cy3mGXIK4FNaXEGf_l8mTUTzEw3_W8HBYv3yiaz1638"
    }
}

响应参数说明:

字段名 类型 说明
entCode String 企业编码
appCode String 鉴权code
tokenId String 令牌,需要放在其他接口的header(有效期为30分钟,请勿频繁请求)

后续操作必须将tokenId放入请求header中。

//header
tokenId:tokenId

四、查询待办列表

接口地址

/api/openapi/callback?pageIndex=1&pageSize=100&uuid={uuid}&status={status}&eventTimeStartAt={eventTimeStartAt}&eventTimeEndAt={eventTimeEndAt}&formCode={formCode}}&taskId={taskId}&taskAssignee={taskAssignee}

请求类型

GET

请求参数

请求参数说明:

字段名 类型 必填性 说明
pageIndex int 必填 分页角标,1为第一页,默认值:1
pageSize int 必填 分页数量,最大值为200,默认值:100
uuid String 非必填 待办唯一ID
status String 非必填 代办状态码,默认查询全部状态 (0.未被推送,1.发送成功,2.发送失败)
eventTimeStartAt Long 非必填 根据代办生成时间,返回(包括)之后的数据(若不传,则查全量,正序)
eventTimeEndAt Long 非必填 根据代办生成时间,返回(包括)之前的数据(若不传,则查全量,正序)
formCode String 非必填 单据号
taskId String 非必填 代办任务ID(每刻流程节点ID,可重复)
taskAssignee String 非必填 代办任务处理人工号

响应数据

响应数据示例:

{
  "code": "200",
  "message": "请求错误提示信息",
  "data": {
    "total":2,
    "items":[
      {
        "uuid": "1467735365297360896",
        "status": "0",
        "taskId": "a4006583-5659-11ec-9245-d6a1901c2c80",
        "entCode": "EC21051411IKTDZ5",
        "abnormal": false,
        "formCode": "MK21120006",
        "formName": "aa",
        "formType": "PRECONSUME",
        "taskName": "部门负责人",
        "completed": false,
        "coverUser": "15765111190",
        "eventTime": 1638770354697,
        "procInsId": "a37dc7dc-5659-11ec-9245-d6a1901c2c80",
        "submitter": "15765111190",
        "createTime": 1638770354953,
        "formDataCode": "PC2112061BDG7VNK",
        "taskAssignee": "0001",
        "coverUserName": "帅博",
        "eventScenario": "APPROVAL",
        "submitterName": "帅博",
        "taskActionType": "PROCESSING",
        "formSubTypeName": "出差申请单",
        "formSubTypeBizCode": "FT210517XN6L5DS"
      },
      {
        ...
      }
    ]
  }
}

响应参数

响应参数说明:

字段名 类型 说明
uuid String 待办唯一ID
taskId String 每刻流程的任务ID(对应sso接口procTaskId)
entCode String 公司编码
createTime long 从消息队列写入数据库的时间
status String 消息状态(0.未被推送,1.发送成功,2.发送失败)
serviceType String 回调类型(PROCESS_CHANGE_NOTIFY_V2)
procInsId String 每刻流程的实例ID
submitter String 提交人员工号
reason String 审批意见、驳回理由、撤回理由
formType String 单据类型:
REIMBURSE(报销单)
PRECONSUME(申请单)
LOAN(借款单)
CONTRACT(合同)
PAYMENT(付款单)
REPAYMENT(还款单)
formSubTypeName String 单据小类名称,企业自定义
formSubTypeBizCode String 单据小类编码内码,企业自定义
coverUser String 报销人员工号、申请人员工号、借款人工号
formCode String 单据号外码
formDataCode String 单据号内码
coverUserName String 报销人员姓名、申请人员姓名、借款人姓名
taskActionType String 任务类:
PROCESSING 创建待办(流程新到达节点后会给处理人发送一条此类型任务)
COMPLETED 创建已办(某一任务处理人处理成功后,会发送一条此类型任务)
REMOVED 消除待办(或签/管理员审批等场景,其他任务处理人处理成功后,会给其余不再需要处理审批任务人员发送一条此类型任务)

通知类(不支持消除):
URGE 催办 需要跳转的可以通过associatedTaskId拼接
COMMENT 评论(无taskId)
AT @某人(无taskId)
BACK_TO_SUBMITTER 驳回至提单人(无taskId)
CC 抄送(无taskId)
completed boolean 单据是否已完成 (只有最后一个已办/消除代办/抄送时,此参数才为true)
abnormal boolean 是否异常流程
eventScenario String 节点类型:
APPROVAL--审批
CASHIER_SETTLE--结算
FINANCE_AUDIT--审核
CC--抄送
SIGN--签收
SHARE_PLATFORM--共享审核节点
SUBMITTER--提单人待处理任务
formName String 表单名称(事由)
eventTime String 事件发生时间(推送时间)
taskAssignee String 该节点任务的单一处理人员工工号
taskName String 流程节点名称
submitterName String 提交人姓名
legalEntityName. String 单据上所选的公司抬头名称
legalEntityBizCode String 单据上所选的公司抬头业务编码
departmentName String 单据上所选的承担部门名称
departmentBizCode String 单据上所选的承担部门业务编码
associatedTaskId String 用于通知类型需要实现待办功能(有审批按钮)的单据链接,目前适用于催办

五、更新待办状态

接口地址

/api/openapi/callback

请求类型

PUT

请求参数:

注意:数组长度最大值为200个,超出时整批失败。

请求参数示例:

{
  "items": [
    {
      "uuid": "1463898256236810240",
      "status": "1"
    }
  ]
}

请求参数说明:

字段名 类型 必填性 说明
uuid String 必填 待办唯一ID
status String 必填 消息状态(0.未被推送,1.发送成功,2.发送失败)

响应参数

响应参数示例:

{
  "code": "200",
  "message": "",
  "data": {
    "items":[  //错误数据集合
      {
        "uuid":"1463898256236810240",
        "message":"请求错误提示信息"
      }
    ]
  }

}

data.items响应参数说明:

字段名 类型 说明
uuid String 修改失败的待办唯一ID
message String 错误提示
Copyright © 杭州每刻科技有限公司 www.maycur.com all right reserved,powered by Gitbook该文件修订时间: 2024-11-20 10:52:00

results matching ""

    No results matching ""

    results matching ""

      No results matching ""