基础 qianmi.qmcs.user.permit(为已授权的用户开通消息服务)

为已授权的用户开通消息服务
 用户授权类型
 公共参数
请求地址:
环境 HTTP请求地址 HTTPS请求地址
正式环境 http://gw.api.qianmi.com/api https://api.qianmi.com/api
系统级请求参数:
名称 类型 是否必须 描述
methodString 必须 API接口名称
access_tokenString 可选 用户登录授权以后,QMOP颁发给应用的授权信息,详细介绍请点击这里,当前API的用户授权类型标明:"需要授权",则此参数必传,"不需要授权",则此参数不需要传。
formatString 必须 指定响应格式,目前支持格式为json
appKeyString 必须 分配给应用的AppKey
vString 必须 API协议版本,当前可选值:1.1
signString 必须 API输入参数签名结果
timestampString 必须 请求时间戳,时区为GMT+8(北京时间),格式:"yyyy-MM-dd HH:mm:ss",例如"2012-12-20 10:20:35",开放平台允许客户端请求的最大时间误差为10分钟
 业务参数
名称 类型 是否必须 示例值 默认值 描述
topicsString 可选 qianmi_item_itemInfoChange, qianmi_item_itemDownShelf 消息主题列表,用半角逗号分隔。当用户订阅的topic是应用订阅的子集时才需要设置,不设置表示继承应用所订阅的所有topic,一般情况下建议不要设置
 请求示例
OpenClient client = new DefaultOpenClient(url, appKey, appSecret);
QmcsUserPermitRequest req = new QmcsUserPermitRequest();
req.setTopics("topic");
QmcsUserPermitResponse response = client.execute(req, accessToken);
$client = new OpenClient;
$client->appKey = appKey;
$client->appSecret = appSecret;
$req = new QmcsUserPermitRequest;
$req->setTopics("topic");
$res = $client->execute($req, $accessToken);
IOpenClient client = new DefaultOpenClient(url, appKey, appSecret);
QmcsUserPermitRequest req = new QmcsUserPermitRequest();
req.Topics = "topic";
QmcsUserPermitResponse response = client.Execute(req, accessToken);
 响应参数
名称 类型 示例值 描述
is_success Boolean true 是否成功
 响应示例

JSON数据格式:

 异常示例

JSON数据格式:

 {
    "errorToken": "@@$-ERROR_TOKEN$-@@",
    "code": "33",
    "message": "非法的参数",
    "solution": "请查看根据服务接口对参数格式的要求",
    "subErrors": {
      "subError": [{
          "code": "isv.invalid-paramete:XXXX",
          "message": "参数XXXX无效,格式不对、非法值、越界等"
        }]
  }
 错误码
错误码 错误描述 解决方案
isv.qianmi-qmcs-user-permit-service-error:01074002应用尚未订阅消息请先给应用订阅消息
isv.qianmi-qmcs-user-permit-service-error:01074003无效的消息主题请检查topics参数
 FAQ
Q:为什么我开通了消息服务,还是没有获取到话费订单的消息?
A:已经充值成功的订单是不会产生消息的,消息的产生是从开通消息功能的时候起,一旦新的订单发生充值状态变更才会产生消息。
Q:开通消息服务接口,需要每次获取消息的时候都要开通一遍吗?
A:不需要,只需要为用户开通一次,即可开通消息服务功能。以后只需要定时轮训消费消息和确认消息消费状态。