Amazon Advertising API
最终目标效果
1. 授权 (加入亚马逊开发者白名单)
官方文档 https://advertising.amazon.com/API/docs/en-us/setting-up/account-setup
相对来说 授权还是比较麻烦的, 由于公司业务原因,我们注册的是第三方管理账户。 也就是说一个开发者账号管理多个店铺(防关联)。
建议开发这种大平台接口功能在前期阶段先多研究研究文档,一步一步来,这样在后面的功能开发阶段还是比较有用的。
由于我们注册的是第三方管理,在于亚马逊邮件往来阶段对方要我们提供一个公司介绍…
但我们这是自己的后台ERP没啥官网,只能去网上找个模板花两个小时做了一个单页面官网给他们发过去(有自己公司官网的直接发官网链接就好)…
正常的往来邮件最后会得到API所需的 client_id, client_secret
2. 获取店铺授权token (Create API authorization and refresh tokens)
https://advertising.amazon.com/API/docs/en-us/setting-up/generate-api-tokens
这个就是给你一个链接, 把你实际的参数替换进去, 最后会跳转到登录界面(网页有登录记录的可能会跳过) 然后让你授权。
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
参数说明
- 链接的前半部分自己判断区域选择对应地址
- YOUR_LWA_CLIENT_ID: client_id
- YOUR_RETURN_URL: 这个当时我也蒙蔽了半天… 下图红色圈内的回调地址就是这个了…
登陆之后会给你也授权页面 点击 允许 就行
接下来就会跳转到你的回调地址(YOUR_RETURN_URL),并将authorization code 以GET 的形式传回来
array(2) { [“code”]=> string(20) “ANesDVfOevJXAuKXZVut” [“scope”]=> string(35) “cpc_advertising:campaign_management” }
自己处理逻辑 保存这个 code 有了这个code 下面的 获取token和刷新token直接按文档curl请求就好
public function getToken()
{
switch ( $this->region ) {
case 'NA':
$region = 'https://api.amazon.com/auth/o2/token';
break;
case 'EU':
$region = 'https://api.amazon.co.uk/auth/o2/token';
break;
case 'FE':
$region = 'https://api.amazon.co.jp/auth/o2/token';
break;
default:
$region = 'https://api.amazon.com/auth/o2/token';
break;
}
$header = array (
'Content-Type:application/x-www-form-urlencoded;charset=UTF-8'
);
$code = "ANesDVfOevJXAuKXZVut";
$redirect_uri = "https