开发指南

服务市场消息订阅


1 服务商接入流程:


1.1 服务商进入微盟服务商中心后台,点击服务商配置:



1.2 填写消息推送地址,之后需要订阅服务商所需要的消息API。



1.3 操作成功后,即正常接入了微盟的消息推送服务。


2 消息推送数据


2.1 微盟开放平台推送至至服务商的消息结构体定义如下:

属性

类型

备注

providerId

long

商户id

providerClientId

String

服务商的client_id

event

String

消息事件类型

id

String

微盟业务系统消息id,如服务商 购买成功的 订单编号

msgBody

String

业务消息体,编码格式UTF-8

sign

String

防篡改签名:md5(provider_client_id+msg_body+provider_client_secret)

topic

String

业务消息主题

version

long

消息的版本号,以最高版本为最新消息,可以覆盖低版本消息  

2.2 消息通过 POST ,参数编码为application/json 的方式向服务商(微盟商户)填写的消息接收url推送消息。

2.3 当推送没有成功返回 (超时时间为5秒),会进入重发,最多重发九次, 分别间隔 15S、15S、30S、180S、1800S、1800S、1800S、1800S、3600S。九次重发后如果还是失败 ,该消息丢弃不再发送。

2.4 第三方接受到消息后,需发送ack,格式:

{
    "code": {
      "errcode": 0,
      "errmsg": "success"
    }

备注:因为需要通知开放平台接收消息成功,而微盟开放平台设置推送超时时间5s,因此第三方最好异步的处理消息逻辑,及时返回ack。
2.5 第三方(服务商)正确的解析消息逻辑:
2.5.1 判断消息是否伪造 —> 解析sign
2.5.2 判断消息版本  —> 解析version,以最高版本的消息为准
2.5.3 判断消息的业务主题,消息推送事件 —> 解析topic ,event     
2.5.4 处理消息体 —> 解码msg  ,反序列化消息结构体(注意:若消息体为密文模式,则需要先行进行解密处理)
2.5.5 返回成功标识


消息订阅相关问题


(1)服务商后台API消息订阅服务,保存不了订阅地址? 

排查办法:首先需要第三方收到消息后,对开放平台做响应 :
第三方接受到消息后,需发送ack,格式:

{

    "code": {
      "errcode": 0,
      "errmsg": "success"
    }


返回格式:json 
Content-Type→application/json;charset=utf-8

(2)如果保存成功,且能收到测试消息,但是仍然没有收到API消息? 
排查办法:确认第三方是否授权,授权成功后才能收到消息。  
(3)第三方收到重复消息
排查办法:开放平台对消息推送有重试机制,如第一次推送消息,对方没有3s内做及时响应,则该条消息会进入重试机制。因此会造成第三方收到消息后,但没及时响应,导致会再次收到同一条消息。 
建议解决办法:
(1)第三方加快消息处理和响应速度。
(2)第三方做好对消息进行过滤,避免重复消息影响其业务。

售前咨询热线

10105188

在线QQ咨询

关注微盟

扫描关注官方微信

总部咨询热线:10105188 QQ:4006305400 邮箱:feedback@weimob.com 举报电话:02180356016

地址:上海市宝山区长江路258号微盟大厦

Copyright © 2011-2018 yun.weimob.com. All Rights Reserved 上海微盟企业发展有限公司版权所有 沪ICP备14044897号-9