消息相关接口 - lvxunDev/yunhetong-DotNet-sdk GitHub Wiki

0x00 接收消息对接说明

sdk在合同创建签署的过程中会通过接入方应用注册时填写的接口(http接口)发送消息,以便让接入方平台及时了解合同状态。

消息的内容是一串用接入方平台公钥加密过的json字符串,对应的参数名为notice,拿到该数据后需用接入方平台的私钥解密得到明文,如下是加密原文及解密后的json字符串内容。

云合同平台发送的消息格式如下

{
  "content": "测试合同测试合同,测试用户A未签署!测试用户B已签署!", 
  "map": {
    "appUserIdA": 0, 
    "contractTitle": "测试合同", 
    "contractId": 1701061816485026, 
    "appUserIdB": 1
  }, 
  "noticeType": 1
}
  1. content:本次通知的主体内容。
  2. noticeType:为1时表示普通合同签署;为2时表示合同签署完成,此时signDigest会有值`。
  3. signDigest:当noticeType为2时才有值,该内容是合同内容和签名内容通过加密算法计算所得。接入方获得该内容后,需要接入方平台用云合同的公钥加密后返回,表示接入方平台已确认该合同签署完毕。
  4. map:用户传递一些回调消息,比如当前合同的标题、id、合同中各个参与方的状态、用户自定义的一些回调参数等。

0x01 发送消息对接说明

接入方平台接收到消息处理完毕后,需要返回处理结果,返回结果需是用云合同公钥加密后的json数据。

示例代码如下

string s = sdk_manager.signData(json);

其中 json 的格式为

{
        "response":true,
        "msg":"消息处理成功!",
        "signDigest":"157dc5a59ffa875e18b919b5b0fcb1f915be1782db6a8f119770579319c7ecc60a4846924d8d5bd18e97002b968f2642ff680a49292bb6eb63f872f0d8b3a206"
    }

该json字段的说明如下

  1. response:消息处理结果,true表示处理成功,false表示处理失败。
  2. msg:消息处理返回的信息。
  3. signDigest:合同签署完毕后,云合同会先发送该参数给接入方平台,接入方平台获得该数据后需先用云合同公钥加密,然后返回给云合同。