当前位置:   article > 正文

浙政钉DING消息对接文档_opf-b001-05-16-0002

opf-b001-05-16-0002

浙政钉DING消息对接文档

专有钉钉平台:https://openplatform-portal.dg-work.cn/backendManage/#/docs?apiType=serverapi&docKey=2674834

1.开发浙政钉应用步骤

​ 开发单位申请专有钉钉账户,前后端工程运行在自建服务器。 登录专有钉钉管理后台,创建一条应用app, 将登录连接配置到改配置列表中。 App Key App Secret
在这里插入图片描述

1.1 这一点很重要 需先订阅开通ding消息服务的访问权限,不会会报错

OPF-B001-05-16-0002----------------》需先订阅开通服务的访问权限
在这里插入图片描述

1.2 将测试的人员加入浙政钉
在这里插入图片描述

1.3 查看用户详情有uid就是浙政钉accoundId
在这里插入图片描述

2.DING API开放接口V2

接口说明

DING API开放接口V2版本。

接口限制规则:

  • 同一个应用相同消息的内容同一个用户一天只能接收一次。
  • 同一个应用给同一个用户发送消息,ISV应用开发方式一天不得超过100次。

通知类型为电话语音钉的限制规则

电话DING使用的阿里云的语音服务,ISV发DING也收到阿里云语音服务的流控管控,阿里云语音服务的流控规则&效果如下:

  • 流控规则:针对同一个被叫号码。流控规则:1次/分钟、5次/小时、20次/天(24小时)。
  • 流控效果:命中流控规则时,再对该被叫号码发送电话DING(无论通过DING接口还是通过客户端发送),实际不播出电话,只能收到应用内DING。

调试

API Explorer中调试该接口。

基本信息

**中文名:**DING API开放接口V2

接口名:/ding/isv/send.json

**所在目录:**DING

**调用方式:**POST(HTTPS)

**发布版本:**V2.7.0

请求参数

名称子对象类型是否必填示例值描述
tenantIdString695716租户ID
creatorObj“creator”:{“accountId”:8844491,dingId"accountOrgId":“”, “accountOrgName”:“”}发送者
accountIdLong账号ID
accountNameString账号名称
accountOrgIdString组织ID
accountOrgNameString组织名称
receiversList[{ “accountId”:143918250, “accountName”:“冯世明”, “accountOrgId”:“pre.saas.zwdingding”}]接收者集合,最多1000个。
accountIdLong账号ID
accountNameString账号名称
accountOrgIdString组织ID
accountOrgNameString组织名称
sourceObj无需发送到im会话:“source”:{“extJson”:“{“msgId”:”“}”, “sourceId”:“143906377”,“sourceName”:“周丽英”}需要发送到im会话:“source”:{“extJson”:“{“msgId”:”“}”, “sourceId”:“207693:789507”,“sourceName”:“xxx办公室”}来源信息。具体见各字段描述。
sourceId“sourceId”:“143906377"或者"sourceId”:“207693:789507”创建DING的源。sourceId分情况: 无需发送IM会话时:sourceId与creator的accountId保持一致。需要发送IM会话时:sourceId需要按照发送方接收方两个uid,小:大的顺序填写。 (小uid:大uid,英文冒号拼接,大小由uid数值大小判断,小的在前大的在后)如:“sourceId”:"207693:789507"注意:发送到IM只支持发送单人,不能群发。
sourceNamexxx办公室源的名称,如会话名
extJson“extJson”:“{“msgId”:”“}”扩展字段,msgId默认为空,无需填写
bodyString“body”:“{“text”:”(当前版本过低,升级版本后可查看DING详情)“}”内容json字符串,必须带text这个key
bodyTypeStringtext内容类型,目前发钉接口只支持文本类型text:文本
textTypeStringplaintext内容加密类型plaintext:明文
dingBodyString“dingBody”:“{“text”:“通知一下,晚上加班”}”消息体json字符串
dingBodyContentTypeStringattachment消息体内容类型,文本默认填写:attachment
dingBodyTextTypeStringplaintext消息体加密类型plaintext:明文;ciphertext:密文(暂不对ISV开放)
notifyTypeStringapp通知类型 app:应用内;sms:短信;vms:语音(电话语音钉限制规则见接口说明)
sendToImBooleanfalse是否发送到IM会话,默认false为true时scene填写固定值:session注意:发送到IM只支持发送单人,不能群发。
sceneStringsessionsendToIm为true,scene填写固定值:session

返回参数

名称类型描述
successBoolean请求是否成功。true:请求成功;false:请求失败
contentObject
└ dataString发钉ID,可根据此信息,来查询/ding/query/userDetail以获取已未读/发送成功失败的接收者信息
└ successBoolean业务处理是否成功

用法DEMO

调用示例

 /**
     *@Description: ding消息
     *@Parameter: [creator  发送浙, receivers 接收者, dingBody  发送消息]
     *@Return: java.lang.String
     *@Author: jxj
     *@Date: 2022/7/22
     **/
    public  String sendNotice(String creator ,String receivers, String dingBody){
      ExecutableClient executableClient = ExecutableClient.getInstance();
        executableClient.setAccessKey("xxxxxxxxxxxxxxxxxxx");
        executableClient.setSecretKey("xxxxxxxxxxxxxxxxxxx");
        executableClient.setDomainName("openplatform.dg-work.cn");
        executableClient.setProtocal("https");
        //executableClient要单例,并且使用前要初始化,只需要初始化一次
        executableClient.init();
        //浙政钉发送ding消息接口
        String api = "/ding/isv/send.json";
        PostClient postClient = executableClient.newPostClient(api);
        postClient.addParameter("bodyType", "text");
        postClient.addParameter("creator", creator);
        postClient.addParameter("dingBodyTextType", "plaintext");
        postClient.addParameter("dingBody", dingBody);
        postClient.addParameter("textType", "plaintext");
        postClient.addParameter("source", "{\"extJson\":{\"msgId\":\"\"}, 	\"sourceId\":\"834828 \",\"sourceName\":\"张硕\"}");
        postClient.addParameter("body", "{'text':'当前版本过低,升级版本后可查看DING详情'}");
        postClient.addParameter("scene", "");
        postClient.addParameter("notifyType", "app");
        postClient.addParameter("receivers", receivers);
        postClient.addParameter("tenantId", "53236");
        postClient.addParameter("dingBodyContentType", "text");
        postClient.addParameter("sendToIm", "");
        postClient.addParameter("accountId", "");
        postClient.addParameter("accountName", "");
        postClient.addParameter("accountOrgName", "");
        postClient.addParameter("accountOrgId", "");
        postClient.addParameter("sourceId", "");
        postClient.addParameter("extJson", "");
        postClient.addParameter("sourceName", "");
        postClient.addParameter("accountId", "");
        postClient.addParameter("accountName", "");
        postClient.addParameter("accountOrgName", "");
        postClient.addParameter("accountOrgId", "");
        String apiResult = postClient.post();
        System.out.println(apiResult);
        executableClient.destroy();
        return "ok";
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

请求包结构体

{
    "body":"{\"text\":\"(当前版本过低,升级版本后可查看DING详情)\"}",
    "bodyType":"text",
    "creator":{
        "accountId":143906377,
        "accountName":"周丽英",
        "accountOrgId":"GE_64e388fd7d954175916e8d885e895d5e",
        "accountOrgName":"杭州市公安局-AAA哈哈哈"
    },
    "dingBody":"{\"text\":\"通知一下,晚上加班\"}",
    "dingBodyContentType":"text",
    "dingBodyTextType":"plaintext",
    "notifyType":"app",
    "receivers":[
        {
            "accountId":143918250,
            "accountName":"冯世明",
            "accountOrgId":"pre.saas.zwdingding"
        }
    ],
    "sendToIm":false,
    "source":{
        "extJson":"{\"msgId\":\"\"}",
        "sourceId":"143906377",
        "sourceName":"周丽英"
    },
    "tenantId":"695716",
    "textType":"plaintext",
    "urge":false
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

返回结果

成功返回示例

{"success":true,"content":{"data":"138728294124720032","success":true}}
  • 1

失败返回示例

失败返回案例
  • 1

补充说明

错误码错误描述说明
0OK成功
GDG-B001-05-15-0001ILLEGAL_ARGUMENT参数错误
GDG-S001-05-99-0001SYSTEM_ERROR未知系统异常
GDG-B001-05-16-0003MOZI_ACL_CHECK_ERROR接收人可见性过滤异常

总结:

1.测试账号必须在通讯录

2.必须给应用加ding消息权限

1-05-15-0001 | ILLEGAL_ARGUMENT | 参数错误 |
| GDG-S001-05-99-0001 | SYSTEM_ERROR | 未知系统异常 |
| GDG-B001-05-16-0003 | MOZI_ACL_CHECK_ERROR | 接收人可见性过滤异常 |

总结:

1.测试账号必须在通讯录里

2.必须给应用加ding消息权限

3.传参务必转jsonString 字符串

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/617219
推荐阅读
相关标签
  

闽ICP备14008679号