# 查询用户可用平台券

#### 功能介绍

商户通过自定义使用券的匹配条件（如订单金额、AppID等），查询用户满足使用条件的平台券信息。

#### 接口原型

#### 接口原型

*   **承载协议：** HTTPS POST
    
*   **接口方向：** 开发者服务器 -> 华为支付服务器
    
*   **接口URL：** 
    
*   **数据格式：**
    
    请求消息：Content-Type: application/json
    
    响应消息：Content-Type: application/json
    

#### 请求参数

**Request Header**

| 参数 | 是否必选 | 参数类型 | 描述 |
| --- | --- | --- | --- |
| Content-Type | 是 | String | 取值为：application/json; charset=UTF-8 |
| PayMercAuth | 是 | String | 取值为：PayMercAuth的JSON字符串 |

**Request Body**

| 参数 | 是否必选 | 类型 | 说明 |
| --- | --- | --- | --- |
| appId | 是 | String | 当前调用接口商户号有绑定关系的AppID。 |
| openId | 是 | String | 用户的OpenId。 |
| sceneInfos | 是 | List<RequestSceneInfo> | 匹配券的场景条件列表，要求列表内的sceneId唯一。如果场景信息匹配上券，对应的sceneId会在响应参数matchedCoupon返回。 |

#### 请求示例

以下请求示例中，匹配券的场景有2个，场景id（sceneId）分别为uuid1和uuid2。对于响应，如果场景id对应传递的sceneParams参数能匹配上券，券号信息（matchedCoupon）则会返回对应券号，否则不返回。

```
POST /api/merchantgrow/v1/ecocoupon/coupon/query/usable HTTP/1.1
PayMercAuth: {"callerId":"10132120***","traceId":"202305151026422776499","time":1684117602555,"authId":"120291744647139***","headerSign":"u+H1Oe3fXV9mGCES89XA7tSjp8+TELYgG4bKyECwrVGwwExHtdWTnKc4WvEpfjLzpzKE2/+K*********************/z0UcN9QrxXSeR8r6X46b7491N1jKg/lOG7eAFfwjEWJu5JyvY5KunSeE6DiKs=","bodySign":"yWDtXOBqDoItPgHmF57L6U5G7F/LhsILChu8YSpVV0HwRQCzdGAz53wDkCRLiAEVGDDu6E6KxPAHE0TIkTxH*********************iUIFeaszpiRT2aQDaqLGaxvta6J5UxIUmAp+wGdV/juGEvQ="}
Content-Type: application/json
{
    "appId": "App00001",
    "openId": "Open00001232",
    "sceneInfos": [
        {
            "sceneId": "uuid1",
            "sceneParams": {
                "bundleName": "com.atomicservice.abcd",
                "bundleType": "ATOMIC_SERVICE",
                "deviceType": "phone",
                "osType": "HMOS",
                "productModel": "ALN-AL00",
                "tradeOrderAmount": 200
            }
        },
        {
            "sceneId": "uuid2",
            "sceneParams": {
                "bundleName": "com.atomicservice.abcd",
                "bundleType": "ATOMIC_SERVICE",
                "deviceType": "phone",
                "osType": "HMOS",
                "productModel": "ALN-AL00",
                "tradeOrderAmount": 300
            }
        }
    ]
}
```

#### 响应参数

**Response Header**

| 参数 | 是否必选 | 参数类型 | 描述 |
| --- | --- | --- | --- |
| Content-Type | 是 | String | 取值为：application/json; charset=UTF-8 |

**Response Body**

| 参数 | 是否必选 | 参数类型 | 描述 |
| --- | --- | --- | --- |
| resultCode | 是 | String | 返回码，"000000"表示成功，其他表示异常，请参见错误码。 |
| resultDesc | 是 | String | 结果描述。 |
| subCode | 否 | String | 业务错误码。 |
| subDesc | 否 | String | 业务错误描述信息。 |
| sign | 是 | String | 签名信息，除“sign”字段以外的其他字段参与签名。 |
| signType | 否 | String | 签名类型。华为支付生成签名字符串使用的算法，当前为SM2算法。 |
| certNo | 否 | String | 签名所使用的证书编号。 |
| coupons | 否 | List<ServCouponInfo> | 场景条件匹配上的平台券信息列表。 |
| matchedCoupon | 否 | List<SceneMatchedCouponNos> | 各场景条件匹配到的券号信息。 |

#### 响应示例

以下响应示例中，只有场景id（sceneId）为uuid1对应传递的sceneParams参数能匹配上券，sceneId为uuid2的场景没有匹配上任何券，所以券号信息（matchedCoupon）只返回sceneId为uuid1所匹配的券号。

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
  "resultCode": "000000",
  "resultDesc": "Success.",
  "sign":"MEQCIEIWzdpziRyTi8vhwWHFuDdxf********************CHljer0YAMabeCgTDG77e+2XJItvq/ZkIcCN5/B20pQ==",
  "coupons": [
    {
      "couponCode": "couponCode001",
      "batchNo": "batchNo001",
      "couponType": "NORMAL",
      "effectiveTime": 1753173740350,
      "expireTime": 1753260140350,
      "amount": 500,
      "displayInfo": {
        "couponDesc": "优惠券满20减5元",
        "logoUrl": ""
      }
    }
  ],
  "matchedCoupon":[
    {
      "sceneId": "uuid1",
      "couponNos":[
        "couponCode001"
      ]
    }
  ]
}
```

#### 错误码

**resultCode**非400000的错误码请看公共错误码说明

| 返回码 | 错误码 | 错误描述 | 解决方案 |
| --- | --- | --- | --- |
| 400000 | UNKNOW_ERROR | 服务暂不可用, 请稍后重试 | 稍后重试。 |
| 400000 | INVALID_ARGUMENTS | 参数不合法 | 检查请求参数。 |
| 400000 | INVALID_MERC_NO | 无效商户号 | 检查入参商户号是否正确。 |
| 400000 | CHECK_MERC_STATUS | 商户状态校验失败 | 请检查商户状态是否正常。 |
| 400000 | INVALID_APPID | AppId未和商户绑定 | 检查appId是否正确且已经绑定商户号。 |
| 400000 | INSUFFICIENT_PERMISSION | 商户权限受限 | 在商户平台检查并配置该产品权限。 |
| 400000 | CUST_NOT_EXIST | 用户不存在或已销户 | 请确认操作的华为账号状态是否正常或已销户。 |