# alipay.trade.promotion.coupon.query(订阅营销优惠查询) 支持第三方代理调用:本接口支持第三方开发者代用户发起调用 ## 通用场景 订阅营销优惠查询 ### 公共请求参数 |参数英文名|类型|是否必选|长度/取值|描述|示例值| |---|---|---|---|---|---| |app_id|String|必选|32|支付宝分配给开发者的应用ID|2014072300007148| |method|String|必选|128|接口名称|alipay.trade.promotion.coupon.query| |format|String|可选|40|仅支持JSON|JSON| |charset|String|必选|10|请求使用的编码格式,如utf-8,gbk,gb2312等|utf-8| |sign_type|String|必选|10|商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2|RSA2| |sign|String|必选|344|商户请求参数的签名串,详见[签名](https://opendocs.alipay.com/common/02khjm)|详见示例| |timestamp|String|必选|19|发送请求的时间,格式"yyyy-MM-dd HH:mm:ss"|2014-07-24 03:07:50| |version|String|必选|3|调用的接口版本,固定为:1.0|1.0| |app_auth_token|String|可选|40|详见[应用授权概述](https://opendocs.alipay.com/isv/10467/xldcyq)|| |biz_content|String|必选||请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档|| ### 业务请求参数 |参数英文名|类型|是否必选|长度/取值|描述|示例值| |---|---|---|---|---|---| |coupon_id|String|可选|40|优惠编码|29XGG87G| ### 请求示例 #### 默认示例 ##### java ``` package com.java.sdk.demo; import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.AlipayConfig; import com.alipay.api.request.AlipayTradePromotionCouponQueryRequest; import com.alipay.api.domain.AlipayTradePromotionCouponQueryModel; import com.alipay.api.response.AlipayTradePromotionCouponQueryResponse; import com.alipay.api.FileItem; import java.util.Base64; import java.util.ArrayList; import java.util.List; public class AlipayTradePromotionCouponQuery { public static void main(String[] args) throws AlipayApiException { // 初始化SDK AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig()); // 构造请求参数以调用接口 AlipayTradePromotionCouponQueryRequest request = new AlipayTradePromotionCouponQueryRequest(); AlipayTradePromotionCouponQueryModel model = new AlipayTradePromotionCouponQueryModel(); // 设置优惠编码 model.setCouponId("29XGG87G"); request.setBizModel(model); // 第三方代调用模式下请设置app_auth_token // request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->"); AlipayTradePromotionCouponQueryResponse response = alipayClient.execute(request); System.out.println(response.getBody()); if (response.isSuccess()) { System.out.println("调用成功"); } else { System.out.println("调用失败"); // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接 // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response); // System.out.println(diagnosisUrl); } } private static AlipayConfig getAlipayConfig() { String privateKey = "<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->"; String alipayPublicKey = "<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->"; AlipayConfig alipayConfig = new AlipayConfig(); alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do"); alipayConfig.setAppId("<-- 请填写您的AppId,例如:2019091767145019 -->"); alipayConfig.setPrivateKey(privateKey); alipayConfig.setFormat("json"); alipayConfig.setAlipayPublicKey(alipayPublicKey); alipayConfig.setCharset("UTF-8"); alipayConfig.setSignType("RSA2"); return alipayConfig; } } ``` ##### php ``` setBizContent(json_encode($model,JSON_UNESCAPED_UNICODE)); // 如果是第三方代调用模式,请设置app_auth_token(应用授权令牌) $responseResult = $alipayClient->execute($request, null, "<-- 请填写应用授权令牌 -->", null); $responseApiName = str_replace(".","_",$request->getApiMethodName())."_response"; $response = $responseResult->$responseApiName; if(!empty($response->code)&&$response->code==10000){ echo("调用成功"); } else{ echo("调用失败"); } function getAlipayConfig() { $privateKey = '<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->'; $alipayPublicKey = '<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->'; $alipayConfig = new AlipayConfig(); $alipayConfig->setServerUrl('https://openapi.alipay.com/gateway.do'); $alipayConfig->setAppId('<-- 请填写您的AppId,例如:2019091767145019 -->'); $alipayConfig->setPrivateKey($privateKey); $alipayConfig->setFormat('json'); $alipayConfig->setAlipayPublicKey($alipayPublicKey); $alipayConfig->setCharset('UTF-8'); $alipayConfig->setSignType('RSA2'); return $alipayConfig; } ``` ##### csharp ``` using System; using System.Collections.Generic; using Aop.Api; using Aop.Api.Request; using Aop.Api.Response; using Aop.Api.Domain; using Aop.Api.Util; namespace SdkDemoTest { public class AlipayTradePromotionCouponQuery { public static void Main(string[] args) { // 初始化SDK IAopClient alipayClient = new DefaultAopClient(GetAlipayConfig()); // 构造请求参数以调用接口 AlipayTradePromotionCouponQueryRequest request = new AlipayTradePromotionCouponQueryRequest(); AlipayTradePromotionCouponQueryModel model = new AlipayTradePromotionCouponQueryModel(); // 设置优惠编码 model.CouponId = "29XGG87G"; request.SetBizModel(model); // 第三方代调用模式下请设置app_auth_token // request.PutOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->"); AlipayTradePromotionCouponQueryResponse response = alipayClient.Execute(request); if(!response.IsError) { Console.WriteLine("调用成功"); } else { Console.WriteLine("调用失败"); } } private static AlipayConfig GetAlipayConfig() { string privateKey = "<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->"; string alipayPublicKey = "<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->"; AlipayConfig alipayConfig = new AlipayConfig(); alipayConfig.ServerUrl = "https://openapi.alipay.com/gateway.do"; alipayConfig.AppId = "<-- 请填写您的AppId,例如:2019091767145019 -->"; alipayConfig.PrivateKey = privateKey; alipayConfig.Format = "json"; alipayConfig.AlipayPublicKey = alipayPublicKey; alipayConfig.Charset = "UTF-8"; alipayConfig.SignType = "RSA2"; return alipayConfig; } } } ``` ##### http ``` curl 'https://openapi.alipay.com/gateway.do?charset=UTF-8&method=alipay.trade.promotion.coupon.query&format=json&sign=${sign}&app_id=${appid}&version=1.0&sign_type=RSA2×tamp=${now}' \ -F 'app_auth_token=${app_auth_token}' \ -F 'biz_content={ "coupon_id":"29XGG87G" }' ``` ### 公共响应参数 |参数英文名|类型|是否必选|长度/取值|描述|示例值| |---|---|---|---|---|---| |code|String|必须|~|网关返回码,[详见文档](https://docs.open.alipay.com/common/105806)|40004| |msg|String|必须|~|网关返回码描述,[详见文档](https://docs.open.alipay.com/common/105806)|Business Failed| |sub_code|String|可选|~|业务返回码,参见具体的API接口文档|| |sub_msg|String|可选|~|业务返回码描述,参见具体的API接口文档|| |sign|String|必须|64|签名,[详见文档](https://docs.open.alipay.com/291/106074)|DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo=| ### 业务响应参数 |参数英文名|类型|是否必选|长度/取值|描述|示例值| |---|---|---|---|---|---| |coupon_list|PromotionCoupon|必须||优惠列表|| |coupon_list.coupon_id|String|必须|40|优惠编码|5JXR5XXW| |coupon_list.name|String|必须|12|优惠名称|新用户10元立减| |coupon_list.amount_off|Number|可选|32|折扣10元金额 单位分|1000| |coupon_list.percent_off|Number|可选|32|折扣比例,百分比,10%含义为9折|10| |coupon_list.duration|String|必须|20|周期性重复类型 支持 forever(永久)、once(一次性)、repeating(重复)模式|repeating| |coupon_list.duration_in_iterations|String|可选|10|在接下来的3个计费周期可重复使用该优惠|3| |coupon_list.redeem_by|String|必须|32|优惠到期时间|2026-02-20 14:10:00| ### 响应示例 #### 正常响应示例 ``` { "alipay_trade_promotion_coupon_query_response":{ "code":"10000", "msg":"Success", "coupon_list":[ { "coupon_id":"5JXR5XXW", "name":"新用户10元立减", "amount_off":1000, "percent_off":10, "duration":"repeating", "duration_in_iterations":"3", "redeem_by":"2026-02-20 14:10:00" } ] }, "sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" } ``` #### 异常响应示例 ``` {"alipay_trade_promotion_coupon_query_response":{"code":"20000","msg":"Service Currently Unavailable","sub_code":"isp.unknow-error","sub_msg":"系统繁忙"},"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"} ``` ### 业务错误码 |错误码|错误描述|解决方案| |---|---|---| |SYSTEM_ERROR|系统繁忙|服务器异常 可能发生了网络或者系统异常,导致服务调用失败,商户可以用同样的请求发起重试| |INVALID_PARAMETER|参数有误|请根据接口返回的参数非法的具体错误信息,修改参数后进行重试|