文档中心 > 开放平台

该文档主要面向需要入驻蚂蚁金服开放平台的产品、架构、开发等相关人员, 需要有基本的程序开发背景。通过该文档能够快速集成(会员分层)功能,接入前需要入驻开放平台并创建了应用,应用已申请该接口权限并配置RSA密钥。

第一步:创建应用

要在您的应用中使用支付宝开放产品的接口能力,您需要先去蚂蚁金服开放平台(open.alipay.com),在管理中心中创建登记您的应用,并提交审核,审核通过后会为您生成应用唯一标识(APPID),并且可以申请开通开放产品使用权限,通过APPID您的应用才能调用开放产品的接口能力。需要详细了解开放平台创建应用步骤请参考《开放平台应用创建指南》。

第二步:配置密钥

开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台管理中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详情请参考《配置应用环境》。

第三步:搭建和配置开发环境

1. 下载服务端SDK

为了帮助开发者调用开放接口,我们提供了开放平台服务端SDK,包含JAVA、PHP和.NET三个语言版本,封装了签名&验签、HTTP接口请求等基础功能。请先下载对应语言版本的SDK并引入您的开发工程。

各语言版本服务端SDK详细使用说明,请参考《服务端SDK说明》。

2. 接口调用配置

在SDK调用前需要进行初始化,以Java代码为示例如下:

AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY,FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);

关键参数说明:

配置参数 示例值解释 获取方式/示例值
URL 支付宝网关(固定) https://openapi.alipay.com/gateway.do
APPID APPID 即创建应用后生成 获取见上面创建应用并获取APPID
APP_PRIVATE_KEY 开发者私钥,由开发者自己生成 获取详见上面配置密钥
FORMAT 参数返回格式,只支持json json(固定)
CHARSET 编码集,支持GBK/UTF-8 开发者根据实际工程编码配置
ALIPAY_PUBLIC_KEY 支付宝公钥,由支付宝生成 获取详见上面配置密钥
SIGN_TYPE 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 RSA2

第四步:接口调用

会员分层包含如下7个接口:

其中获取会员标签集:

接口中文名 接口英文名 接口描述

商户会员标签列表查询接口

koubei.marketing.campaign.tags.query 查询可使用的会员标签信息

根据标签规则计算人数:

接口中文名 接口英文名 接口描述

营销活动人群组人数统计接口

koubei.marketing.campaign.crowd.count 根据会员标签选择统计满足规则的会员人数

保存人群组规则:

接口中文名 接口英文名 接口描述

营销活动人群组规则创建接口

koubei.marketing.campaign.crowd.create 创建人群分组

营销活动人群组规则修改接口

koubei.marketing.campaign.crowd.modify 修改人群分组

营销活动人群组规则删除接口

koubei.marketing.campaign.crowd.delete 删除人群分组

创建会员营销活动

接口中文名 接口英文名 接口描述

营销活动人群组规则列表分页查询接口

koubei.marketing.campaign.crowd.batchquery 分页查询人群分组列表

营销活动人群组规则详情查询接口

koubei.marketing.campaign.crowd.detail.query 查询人群分组规则详情

接口调用示例大致分为3步:

  1. 拼装业务参数
  2. 将参数发送给开放平台服务端
  3. 获取开放平台服务端返回值,并进行具体业务处理

1.商户会员标签列表查询

//接口代码调用示例:
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
System.out.println("***********人群标签查询***************");
KoubeiMarketingCampaignTagsQueryRequest request = new KoubeiMarketingCampaignTagsQueryRequest();
KoubeiMarketingCampaignTagsQueryResponse response = alipayClient.execute(request);
System.out.println(response.getBody()); 

2.营销活动人群组人数统计

//接口代码调用示例:
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
System.out.println("***********人群统计信息***************");
KoubeiMarketingCampaignCrowdCountRequest request = new KoubeiMarketingCampaignCrowdCountRequest();
request.setBizContent("{" +
"    \"crowd_group_id\":\"20160511000000000005901000158694\"," +
"    \"conditions\":\"[{\\\"op\\\":\\\"IN\\\",\\\"tagCode\\\":\\\"pam_gender\\\",\\\"value\\\":\\\"1\\\"}]\"," +
"    \"dimensions\":\"[\\\"pam_gender\\\",\\\"pam_age\\\"]\"" +
"  }");
KoubeiMarketingCampaignCrowdCountResponse response = alipayClient.execute(request);
System.out.println(response.getBody());   //结果返回参数
TIPS:此处crowd_group_id可通过下面的营销活动人群组规则创建接口获取,且crowd_group_id和conditions不能同时为空 如果crowd_group_id不为空则根据crowd_group_id查询人群分组的信息进行统计,否则以conditions的内容为过滤条件进行统计,如果crowd_group_id和conditions都不为空则优先使用conditions的条件。

3.营销活动人群组规则创建

//接口代码调用示例:
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
KoubeiMarketingCampaignCrowdCreateRequest request = new KoubeiMarketingCampaignCrowdCreateRequest();
System.out.println("***********人群创建***************");
request.setBizContent("{" +
" \"out_biz_no\":\"1331313113313\"," +
" \"name\":\"30岁以下白领\"," +
"\"conditions\":\"[ { \\\"op\\\": \\\"IN\\\", \\\"tagCode\\\": \\\"pam_gender\\\",  \\\"value\\\": \\\"1\\\"}]\"," +
" \"operator_id\":\"2088102146931393\"," +
" \"operator_type\":\"PROVIDER\"" +
" }");
KoubeiMarketingCampaignCrowdCreateResponse response = alipayClient.execute(request);
System.out.println(response.getBody());
TIPS:此处返回的CrowdGroupId在营销活动能力中会使用到,详情请查看 营销活动

4.营销活动人群组规则修改

//接口代码调用示例:
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
KoubeiMarketingCampaignCrowdModifyRequest request = new KoubeiMarketingCampaignCrowdModifyRequest();
System.out.println("***********人群更新***************");
request.setBizContent("{" +
"    \"out_biz_no\":\"11221a233de23\"," +
"    \"crowd_group_id\":\"131313\"," +
"    \"conditions\":\"[ {\\\"op\\\": \\\"IN\\\",   \\\"tagCode\\\": \\\"pam_gender\\\", \\\"value\\\": \\\"1\\\" } ]\"," +
"    \"operator_id\":\"2088102146931393\"," +
"    \"operator_type\":\"PROVIDER\"" +
"  }");
KoubeiMarketingCampaignCrowdModifyResponse response = alipayClient.execute(request);
System.out.println(response.getBody());   //参考返回参数

5.营销活动人群组规则删除

//接口代码调用示例:
System.out.println("***********人群删除***************");
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
KoubeiMarketingCampaignCrowdDeleteRequest request = new KoubeiMarketingCampaignCrowdDeleteRequest();
request.setBizContent("{" +
"    \"crowd_group_id\":\"1212211\"" +
"  }");
KoubeiMarketingCampaignCrowdDeleteResponse response = alipayClient.execute(request);
System.out.println(response.getBody());  //结果返回参数

6.营销活动人群组规则列表分页查询

//接口代码调用示例:
System.out.println("***********人群分页查询***************");
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
KoubeiMarketingCampaignCrowdBatchqueryRequest request = new KoubeiMarketingCampaignCrowdBatchqueryRequest();
request.setBizContent("{\"name\":\"小屁孩\",\"page_number\":\"1\", \"page_size\":\"2\"}");
KoubeiMarketingCampaignCrowdBatchqueryResponse response = alipayClient.execute(request);
System.out.println(response.getBody());  //结果返回参数

7.营销活动人群组规则详情查询

//接口代码调用示例:
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
KoubeiMarketingCampaignCrowdDetailQueryRequest request = new KoubeiMarketingCampaignCrowdDetailQueryRequest();
request.setBizContent("{\"crowd_group_id\":\"20160504000000000002402000158699\"}");
KoubeiMarketingCampaignCrowdDetailQueryResponse response = alipayClient.execute(request);
System.out.println(response.getBody());  //结果返回参数

人群标签查询接口出参说明

业务出参:

参数 具体类型 是否必填 最大长度 示例值 描述

tags

String

65535

[ { "code": "gender" , "name": "性别" , "valueRange": [{"value":"0", "label":"男"},{"value":"1", "label":"女"}]

查询成功时返回人群标签信息查询失败时为空

对应conditions分为tagCode圈人某个标签code,op代表操作,有IN(值包含),BETWEEN(值之间),EQ(等于),LTEQ(小于等于),value代表对应的数值,所支持的tagCode列表,请下载附件查看

举例,若要取性别为男性的,则取{"op":"IN","tagCode":"pam_gender", "value": "1"}

营销活动人群组人数统计接口出参说明

业务出参:

参数 具体类型 是否必填 最大长度 示例值 描述

summary_values

String

65535

{total:100 }

人群组的汇总统计值,total是人数

dimension_values

String

65535

[{"label":"pam_gender","value":{"男":100,“女":1000}},{"label":"pam_age","value":{"1":100, "2":1000}}]

各个细分维度的值

dimension_values 目前支持的标签列表:["pam_age","pam_gender","pam_constellation","pam_hometown_code","pam_city_code","pam_occupation","pam_consume_level","pam_have_baby"]

 

接口调用结果码说明

同步返回结果码 含义 说明

10000

业务处理成功  
40001~40006 业务处理失败

具体失败原因请参考公共错误码。其它请参考API文档。

20000 业务出现未知错误或者系统异常

业务出现未知错误或者系统异常(请一定要在确定本次调用结果后,再发起重试),可调用查询接口发起查询确定结果。

关于沙箱

如何接入沙箱

      沙箱是开放平台提供给开发者用户调试接口的环境,具体操作步骤见 沙箱接入指南

会员分层沙箱接入注意点

  1. 会员分层支持沙箱接入;在沙箱调通接口后,必须在线上进行测试与验收,所有返回码及业务逻辑以线上为准;
  2. 会员分层所有接口,当前沙箱返回的均为固定的模拟数据,仅供接口联通调试使用。

FAQ

关于此文档暂时还没有FAQ
返回
顶部