亚马逊广告授权流程说明

亚马逊广告授权流程说明

 

原创

1 年前 TOOL8 分钟 读完 (大约 1139 个字)  总访问量  586次 AMAZON

广告授权进入第三方网站流程

授权流程说明

一、用户进入第三方网站,如www.ABC.com

二、第三方网站引导用户进入登录授权页

第三方网站在自己网站放置亚马逊广告授权的入口,引导用户进入亚马逊登录授权页。

亚马逊登录授权页域名在不同亚马逊站点区域是不同的:

RegionURL prefix
North America (NA)https://www.amazon.com/ap/oa
Europe (EU)https://eu.account.amazon.com/ap/oa
Far East (FE)https://apac.account.amazon.com/ap/oa

API调用具有以下参数:

参数说明
client_id开发者client_id
scope
response_type响应类型,始终为code
redirect_uri授权登录之后跳转的跳转网址
state用于第三方自行校验session,防止跨域攻击

scope针对不同的业务类型有不同值,下面是官方文档中的说明。

  • For the Sponsored Brands, Sponsored Display, and Sponsored Products APIs, set scope to cpc_advertising:campaign_management.
  • For the Data Provider API, set scope to advertising::audiences.
  • For the DSP API, set scope to advertising::campaign_management。

针对常用api等,只需要知道sb、sd、sp广告类型设置为cpc_advertising:campaign_management即可。

例如,要在北美(NA)区域生成授权码,请用您的值替换以下URL中的值:

1
https://www.amazon.com/ap/oa?client_id=YOUR_LWA_CLIENT_ID&scope=cpc_advertising:campaign_management&response_type=code&redirect_uri=YOUR_RETURN_URL&state=YOUR_STATE

接下来,第三方站点根据生成的url链接地址,浏览器中进行重定向,即可引导用户登录授权亚马逊广告。

三、用户登录、确认并同意授权

用户进入亚马逊广告授权引导页后,即需要用户登录,登录后,亚马逊将会把用户重定向到同意书页面。
20200610173658.pnguploading.4e448015.gif转存失败重新上传取消

要授予应用程序访问Amazon Advertising的权限,请选择允许。要拒绝应用程序访问Amazon Advertising,请选择取消。

4.授权后回调URI,得到授权码code

用户允许应用程序访问Amazon Advertising api的权限,即同意授权后,将跳转到步骤一中使用的URL相同区域的Amazon网站。同时此步骤中将会获得刷新令牌使用的code码。
最后将会重定向到步骤一中设置的redirect_uri链接,即第三方回调地址,注意此时会携带生成的code码。

5.调用授权URL以请求授权和刷新令牌

请求授权和刷新令牌接口域名在不同亚马逊站点区域是不同的。URL为:

RegionAuthorization URL
North America (NA)https://api.amazon.com/auth/o2/token
Europe (EU)https://api.amazon.co.uk/auth/o2/token
Far East (FE)https://api.amazon.co.jp/auth/o2/token

特殊说明:地区为Far East (FE)的Authorization URL,在中国大陆被墙了,可以使用 North America (NA)的代替。

接下来,构造API调用以检索授权和刷新令牌。该调用具有以下查询参数:

参数说明
grant_type必须是authorization_code
code
redirect_uri和步骤一种的redirect_uri一样
client_id开发者client_id
client_secret开发者client_secret

API调用使用POST,需要以下header头:

1
2
Content-Type:application/x-www-form-urlencoded
charset=UTF-8

此请求的响应是以JSON形式返回,返回的参数有:

字段说明
access_tokenThe authorization token
refresh_tokenThe refresh token
token_type总是bearer
expires_in过期时间秒,默认3600

For example:

1
2
3
4
5
6
{
    "access_token": "",
    "refresh_token": "",
    "token_type": "bearer",
    "expires_in": 3600
}

6.第三方根据返回的refresh_token,变更授权状态

7.授权成功

8.授权令牌后,您就可以使用API进行调用了

代码实现

基于亚马逊广告sdk easy-amazon-advertising

授权引导页生成

1
2
3
4
5
6
7
8
9
10
11
12
13
$redirect_uri = www.ABC.com . '/api/advertising/authorize';
$config = [    
    'clientId'     => config('adv.clientId'),    
    'clientSecret' => config('adv.clientSecret'),    
    'region'       => api_region_control($seller->region),    
    'grant_type'   => 'authorization_page',    
    'redirect_uri' => $redirect_uri,    
    'state'     => encrypt_openssl(['id' => userid123])
 ];
$app = Factory::make('BaseService', $config);
$result = $app->oauth->authorizationURL();
return !empty($result['code']) && $result['code'] == 200 ? 
$result['response'] : '';

特殊说明:encrypt_openssl方法为可解加密方法。

调用授权URL以请求授权和刷新令牌,变更授权状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$info = decrypt_openssl(urldecode($params['state']));
$user = User::query()->where(['id' => $info['id']])->first();


$config = [    
    'clientId'     => config('adv.clientId'),    
    'clientSecret' => config('adv.clientSecret'),    
    'region'       => api_region_control($region),   
    'grant_type'   => 'authorization_code',   
    'redirect_uri' => $redirect_uri,    
    'code'         => $code,
 ];

$app = Factory::make('BaseService', $config);
$result = $app->oauth->token();

return !empty($result['code']) && $result['code'] == 200 ? 
$result['response'] : [];
1、亚马逊授权直接进后台操作授权即可【不同账号请在账号对应的电脑和网络上进行账号授权操作】 2323.jpg 2、点击左边About Amazon MWS,然后sign up for mws 002亚马逊点击授权.png 3、登陆amazon帐号 未命名.jpg 4、将亚马逊授权给开发者(ECPP) 未命名1.jpg Developer's Name(开发者名称)可自定义;account number(开发者帐号)根据相应站点填写: US:9324-7604-8104 UK:2187-1416-6381 FR:2187-1416-6381 DE:2187-1416-6381 IT:2187-1416-6381 ES:2187-1416-6381 CA:9324-7604-8104 CN:0984-0933-7104 JP: 9105-5609-8614 MX:9324-7604-8104 AU: 9105-5609-8614 IN:4899-1932-3920 BR:(联系客服) 5、同意授权 未命名2.jpg 6、授权成功 20150331015738.jpg 7、将相关信息填入ECPP系统 亚马逊授权.png 系统-销售账号-Amazon-创建,选择对应的站点、Amazon Account可以自定义、停用选NO、MCID为SellerID、MKID为Marketplace ID(与下方提供的数据确认一下)、Auth Token为Authorisation Token、最后两项可以不填(如果AM上选授权给自己使用,这两项使用自己的开发者账号授权和对接,不填的话默认使用ECPP的开发者账号去对接)。【如果没有Auth Token,请在销售账户-亚马逊账户界面,右键-此框架-重新载入,更新页面即可】 备注:MKID填写下列提供的数据 US:ATVPDKIKX0DER CA:A2EUQ1WTGCTBG2 UK:A1F83G8C2ARO7P DE:A1PA6795UKMFR9 FR:A13V1IB3VIYZZH IT:APJ6JRA9NG5V4 ES:A1RKKUPIHCS9HS JP:A1VC38T7YXB528 CN:AAHKV2X7AFYLW MX:A1AM78C64UM0Y8 AU:A39IBJ37TRP1C6 IN:A21TJRUUN4KGV BR:A2Q3Y263D00KWC 8、用户管理编辑权限勾选帐号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张燊Jason

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值