基础 qianmi.qmcs.messages.consume(消费多条消息)

消费多条消息
 用户授权类型
不需要授权
 公共参数
请求地址:
环境 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分钟
 业务参数
名称 类型 是否必须 示例值 默认值 描述
group_nameString 可选 vipdefault 用户分组名称,不传表示消费默认分组
quantityString 可选 50100 每次批量消费消息的条数,默认值100,最多100
 请求示例
OpenClient client = new DefaultOpenClient(url, appKey, appSecret);
QmcsMessagesConsumeRequest req = new QmcsMessagesConsumeRequest();
req.setGroupName("group_name");
req.setQuantity(10);
QmcsMessagesConsumeResponse response = client.execute(req, accessToken);
$client = new OpenClient;
$client->appKey = appKey;
$client->appSecret = appSecret;
$req = new QmcsMessagesConsumeRequest;
$req->setGroupName("group_name");
$req->setQuantity(10);
$res = $client->execute($req, $accessToken);
IOpenClient client = new DefaultOpenClient(url, appKey, appSecret);
QmcsMessagesConsumeRequest req = new QmcsMessagesConsumeRequest();
req.GroupName = "group_name";
req.Quantity = "10";
QmcsMessagesConsumeResponse response = client.Execute(req, accessToken);
 响应参数
名称 类型 示例值 描述
qmcs_messages QmcsMessage[] 消息列表
 响应示例

JSON数据格式:

 异常示例

JSON数据格式:

 {
    "errorToken": "@@$-ERROR_TOKEN$-@@",
    "code": "33",
    "message": "非法的参数",
    "solution": "请查看根据服务接口对参数格式的要求",
    "subErrors": {
      "subError": [{
          "code": "isv.invalid-paramete:XXXX",
          "message": "参数XXXX无效,格式不对、非法值、越界等"
        }]
  }
 错误码
 FAQ
Q:为什么我隔一段时间会消费到相同的消息,明明已经处理过了?
A:确认消费以后,需要调用qianmi.qmcs.messages.confirm(确认消费消息的状态)接口,将消息状态置为已消费,不然开放平台消息服务中心会每隔10分钟重置一次消息状态,直到你确认消费为止。
Q:为什么E生活部分应用的用户获取不到消息?
A:目前普遍E生活应用 有很多用户存在共用一个appkey的情况,针对这种情况,在消费消息的时候存在一个用户的消息被其他用户获取的情况,建议添加用户分组,用户分组名称建议用自身直销商A编号作为分组名称。