腾讯云IM回调接口-单聊发言后回调

单聊发言后回调接口详解(其他回调类似)

        背景:因为腾讯云im存储聊天记录有有限时间,过期会找不到聊天记录,如需长期存储,要么加钱,要么自己存储。腾讯云im提供了许多回调接口,供开发者应用。下面介绍通过发言后回调接口获取到聊天消息,然后存储到自己的服务器数据库。

发言后回调接口地址:即时通信 IM 发单聊消息之后回调 - 服务端 API - 文档中心 - 腾讯云

一、前期准备

1、登录腾讯云进入控制台。

2、到自己创建的应用。

3、回调配置、编辑第三方回调配置、进行回调URL配置。

二、回调方法

public JSON imEventCallback(@RequestBody JSONObject jsonObject, HttpServletRequest request) {
    JSONObject returnJson = new JSONObject();
    Map map = new HashMap();
    Enumeration paramNames = request.getParameterNames();
    while (paramNames.hasMoreElements()) {
        String paramName = (String) paramNames.nextElement();
        String[] paramValues = request.getParameterValues(paramName);
        if (paramValues.length == 1) {
            String paramValue = paramValues[0];
            if (paramValue.length() != 0) {
                map.put(paramName, paramValue);
            }
        }
    }
    String callbackCommand = map.get("CallbackCommand").toString(); // 回调命令
    String sdkAppid = map.get("SdkAppid").toString(); // SdkAppid(校验一下是否是自己的账户的消息)
    if (String.valueOf(sdkAppId).equals(sdkAppid) && jsonObject != null && jsonObject.size() > 0) { // 如果不是自己账户的消息就丢弃
        // 单聊消息回调
        if ("C2C.CallbackAfterSendMsg".equals(callbackCommand)) {
            // 这里写保存单聊消息到自己数据库代码
        }
    }
    // 接收完回调消息后,返回接收成功应答包给IM(无论成功或者失败,都要响应应答包给IM)  
    // 因为为了不影响发言,回调失败也响应回调成功,如果业务要求严格,需要做失败处理,具体参考腾讯云IM接口文档。
    eturnJson.put("ActionStatus","OK"); 
    returnJson.put("ErrorInfo","");     
    returnJson.put("ErrorCode",0); 
    return returnJson;
}

注意:开发阶段可以使用内网穿透方式,获取到外网地址,回传回调消息到自己的本地idea进行调试。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值