admin 管理员组文章数量: 887021
格子广告+php,GitHub
Synopsis
概述
easy-amazon-advertising 是一个开源的非官方的亚马逊广告业务sdk。
环境需求
easy-amazon-advertising 的安装非常简单,因为它是一个标准的 Composer 包,这意味着任何满足下列安装条件的 PHP 项目支持 Composer 都可以使用它。
php: >=7.2.0
guzzlehttp/guzzle: 6.4.*
pimple/pimple: ~3.0
安装
使用composer安装
composer require mystudytime/easy-amazon-advertising
说明
亚马逊广告业务目前的划分为三种:
Sponsored Display 推广展示广告
Sponsored Products 商品推广广告
Sponsored Brands 品牌推广广告
亚马逊广告的api文档也大体是如此,针对此种情况本sdk也将模块做了类似的划分。
下面是sdk广告业务模块的划分:
SponsoredProducts
SponsoredDisplay
SponsoredBrands
BaseService
特殊的 BaseService 模块包含了亚马逊广告api中未做划分的部分,包括AccessToken、Portfolios、Profiles等。
BaseService
入门
use easyAmazonAdv\Factory;
$config = [
'clientId' => 'amzn1.application-oa2-client.xxx',
'clientSecret' => '3b758af8d13ee02355764e4e864fxxxx',
'refreshToken' => 'Atzr|IwEBIL5GyUh_H2fdRJnFOk7mmpluKnm7WWUW0kf0tBxAXFMG5VHyiZuIhrspq6hZRHzPM03RMX7v64KrhXaO9xCtylMUQPcN0LolQhH8PNff76Ve5pS6PO9jtNG9kW1K9YtV1WcJDN3KnGpHjk0dUBtbbrn5uh8EGDDVUR_gpqaHXqqdvZ7vuUXTNzstH-tybiAzspzIPxPf7Ans-uyqPNyNTIIM61vA66fvPkH3-c33iLCzrgRtg_jhzWrZuH4K6INBfR8CjKHcK5oNun4DRTiOnCinvUdbHQPwAeI9m581FzUk2Hp4g5KaXO60A6-4me5EMuGSagWfUvTs1MkB1DgPAs_Do3v0TKKN1L6Vab4YgDu6k-bb5pgor_H_LQ24kbfc2Jdyq9BJkSVAAIP5Hh4y3i1qAh18g94Qq_yLWQOxu8ySawTUSDWOkM3_AH5qFS_Yaegfpc96nZE6_eDnycnnheFnXj14-ghaNsROG4LO2RE4n4xnpj9vx9o5aOFVGhf148Cz_VZjiZCg2t_V0Mru7uYRkwz1OUOxxxxxxxxxxx',
'region' => 'NA',
];
$app = Factory::BaseService($config);
$app 在所有相关BaseService的文档都是指 Factory::BaseService 得到的实例,就不在每个页面单独写了。
RefreshToken
您可以使用RefreshToken方法在访问令牌到期时刷新访问令牌。新的访问令牌将在请求的响应中。
use easyAmazonAdv\Factory;
$config = [
'clientId' => 'amzn1.application-oa2-client.xxx',
'clientSecret' => '3b758af8d13ee02355764e4e864fxxxx',
'refreshToken' => 'Atzr|IwEBIL5GyUh_H2fdRJnFOk7mmpluKnm7WWUW0kf0tBxAXFMG5VHyiZuIhrspq6hZRHzPM03RMX7v64KrhXaO9xCtylMUQPcN0LolQhH8PNff76Ve5pS6PO9jtNG9kW1K9YtV1WcJDN3KnGpHjk0dUBtbbrn5uh8EGDDVUR_gpqaHXqqdvZ7vuUXTNzstH-tybiAzspzIPxPf7Ans-uyqPNyNTIIM61vA66fvPkH3-c33iLCzrgRtg_jhzWrZuH4K6INBfR8CjKHcK5oNun4DRTiOnCinvUdbHQPwAeI9m581FzUk2Hp4g5KaXO60A6-4me5EMuGSagWfUvTs1MkB1DgPAs_Do3v0TKKN1L6Vab4YgDu6k-bb5pgor_H_LQ24kbfc2Jdyq9BJkSVAAIP5Hh4y3i1qAh18g94Qq_yLWQOxu8ySawTUSDWOkM3_AH5qFS_Yaegfpc96nZE6_eDnycnnheFnXj14-ghaNsROG4LO2RE4n4xnpj9vx9o5aOFVGhf148Cz_VZjiZCg2t_V0Mru7uYRkwz1OUOxxxxxxxxxxx',
'region' => 'NA',
];
$app = Factory::BaseService($config);
$result = $app->access_token->RefreshToken();
Profiles
Marketplaces 市场通过位置为各个商户分配了特定的配置属性信息。包含countryCode, currencyCode, timezone等。profileID在调用api接口时在header(Amazon-Advertising-API-Scope)中传入。
listProfiles
$app->profiles->listProfiles();
[[
"profileId":1234567890,
"countryCode":"US",
"currencyCode":"USD",
"dailyBudget":10.00,
"timezone":"America/Los_Angeles",
"accountInfo":{
"marketplaceStringId":"ABC123",
"sellerStringId":"DEF456"
]]
设置profileId
$app->client->profileId = 1234567890;
Portfolios 广告组合
listPortfolios 广告组合列表
$app->portfolios->listPortfolios(['portfolioId'=>12,'portfolioState'=>'enable']);
[
[
"portfolioId": 1234567890,
"name": "My Portfolio One",
"budget": [
"amount": 100.0,
"currencyCode": "USD",
"policy": "dateRange"
"startDate": "20181001",
"endDate": "20181229"
],
"inBudget": true,
"state": "enabled",
],
[
"portfolioId": 0123456789,
"name": "My Portfolio Two",
"budget": [
"amount": 50.0,
"currencyCode": "USD",
"policy": "dateRange",
"startDate": "20181001",
"endDate": "20181229"
],
"inBudget": true,
"state": "enabled",
]
]
listPortfoliosEx 广告组合列表扩展字段
$app->portfolios->listPortfoliosEx(['portfolioId'=>12,'portfolioState'=>'enable']);
[
[
"portfolioId": 1234567890,
"name": "My Portfolio One",
"budget": [
"amount": 100.0,
"currencyCode": "USD",
"policy": "dateRange"
"startDate": "20181001",
"endDate": "20181229"
],
"inBudget": true,
"state": "enabled",
"creationDate": 1526510030,
"lastUpdatedDate": 1526510030,
"servingStatus": "PENDING_START_DATE"
],
[
"portfolioId": 0123456789,
"name": "My Portfolio Two",
"budget": [
"amount": 50.0,
"currencyCode": "USD",
"policy": "dateRange",
"startDate": "20181001",
"endDate": "20181229"
],
"inBudget": true,
"state": "enabled",
"creationDate": 1526510030,
"lastUpdatedDate": 1526510030,
"servingStatus": "PENDING_START_DATE"
]
]
getPortfolio 广告组合详情
$app->portfolios->getPortfolio(1234567890);
{
"portfolioId": 1234567890,
"name": "My Portfolio One",
"budget": [
"amount": 100.0,
"currencyCode": "USD",
"policy": "dateRange"
"startDate": "20181231"
"endDate": "null"
],
"inBudget": true,
"state": "enabled"
]
getPortfolioEx 广告组合扩展字段
$app->portfolios->getPortfolioEx(1234567890);
[
"portfolioId": 1234567890,
"name": "My Portfolio One",
"budget": [
"amount": 100.0,
"policy": "dateRange"
"startDate": "20190131"
"endDate": "20190331"
],
"inBudget": true,
"state": "enabled",
"creationDate": 1526510030,
"lastUpdatedDate": 1526510030,
"servingStatus": "PENDING_START_DATE"
]
createPortfolios 创建广告组合(批量)
$params = [
[
'name' => 'My Portfolios name',
],
[
'name' => 'My Portfolios two',
'budget'=>[
'amount' => 1.0,
'policy' => 'dateRange',
'startDate' => '20191220',
'endDate' => '20191221',
],
'state'=>'enable'
],
[
'name' => 'My Portfolios three',
'budget'=>[
'amount' => 1.0,
'policy' => 'monthlyRecurring',
'endDate' => '20191221',
],
'state'=>'enable'
],
];
$result = $app->portfolios->createPortfolios($params);
[
[
"code": "SUCCESS",
"portfolioId": 1234567890
],
[
"code": "SUCCESS",
"portfolioId": 0123456789
],
[
"code": "SUCCESS",
"portfolioId": 1234567891
]
]
updatePortfolios 更新广告组合(批量)
$params = [
[
'portfolioId'=>1234567890,
'name' => 'My Portfolios name',
],
[
'portfolioId'=>0123456789,
'name' => 'My Portfolios two',
'budget'=>[
'amount' => 1.0,
'policy' => 'dateRange',
'startDate' => '20191220',
'endDate' => '20191221',
],
'state'=>'enable'
],
[
'portfolioId'=>1234567891,
'name' => 'My Portfolios three',
'budget'=>[
'amount' => 1.0,
'policy' => 'monthlyRecurring',
'endDate' => '20191221',
],
'state'=>'enable'
],
];
$result = $app->portfolios->updatePortfolios($params);
[
[
"code": "SUCCESS",
"portfolioId": 1234567890
],
[
"code": "SUCCESS",
"portfolioId": 0123456789
],
[
"code": "SUCCESS",
"portfolioId": 1234567891
]
]
SponsoredDisplay
入门
use easyAmazonAdv\Factory;
$config = [
'clientId' => 'amzn1.application-oa2-client.xxx',
'clientSecret' => '3b758af8d13ee02355764e4e864fxxxx',
'refreshToken' => 'Atzr|IwEBIL5GyUh_H2fdRJnFOk7mmpluKnm7WWUW0kf0tBxAXFMG5VHyiZuIhrspq6hZRHzPM03RMX7v64KrhXaO9xCtylMUQPcN0LolQhH8PNff76Ve5pS6PO9jtNG9kW1K9YtV1WcJDN3KnGpHjk0dUBtbbrn5uh8EGDDVUR_gpqaHXqqdvZ7vuUXTNzstH-tybiAzspzIPxPf7Ans-uyqPNyNTIIM61vA66fvPkH3-c33iLCzrgRtg_jhzWrZuH4K6INBfR8CjKHcK5oNun4DRTiOnCinvUdbHQPwAeI9m581FzUk2Hp4g5KaXO60A6-4me5EMuGSagWfUvTs1MkB1DgPAs_Do3v0TKKN1L6Vab4YgDu6k-bb5pgor_H_LQ24kbfc2Jdyq9BJkSVAAIP5Hh4y3i1qAh18g94Qq_yLWQOxu8ySawTUSDWOkM3_AH5qFS_Yaegfpc96nZE6_eDnycnnheFnXj14-ghaNsROG4LO2RE4n4xnpj9vx9o5aOFVGhf148Cz_VZjiZCg2t_V0Mru7uYRkwz1OUOxxxxxxxxxxx',
'region' => 'NA',
];
$app = Factory::SponsoredDisplay($config);
设置profileId
$app->client->profileId = 1234567890;
Campaigns 广告活动
getCampaign 广告活动详情
$result = $app->campaigns->listCampaigns(1234567890);
[
"campaignId": 1234567890,
"name": "CampaignOne",
"tactic": "remarketing",
"budgetType": "daily",
"budget": "3.00",
"startDate": "20190101",
"endDate": null,
"state": "enabled"
]
getCampaignEx 广告活动详情(支持扩展字段展示)
$result = $app->campaigns->listCampaigns(1234567890);
[
"campaignId": 1234567890,
"name": "CampaignOne",
"tactic": "remarketing",
"budgetType": "daily",
"budget": 0,
"startDate": "20190101",
"endDate": "20190102",
"state": "enabled",
"servingStatus": "ADVERTISER_STATUS_ENABLED",
"creationDate": 0,
"lastUpdatedDate": 0
]
createCampaigns 创建广告活动
$params = [
[
"name" => "My Campaign One",
"tactic" => "remarketing",
"budgetType": "daily",
"budget": 3.00,
"startDate": "20190101",
"endDate": null,
"state": "enabled"
]
];
$result = $app->campaigns->createCampaigns(params);
[
[
"code": "SUCCESS",
"campaignId": 173284463890123
]
]
updateCampaigns
$params = [
[
"campaignId" => 173284463890123,
"name" => "Update Campaign One",
"state" => "enabled",
"budget" => 10.99
]
];
$result = $app->campaigns->updateCampaigns(params);
[
[
"code": "SUCCESS",
"campaignId": 173284463890123
]
]
archiveCampaign 归档广告活动
$result = $app->campaigns->archiveCampaign(173284463890123);
[
"code": "SUCCESS",
"campaignId": 1234567890
]
listCampaigns
$result = = $app->campaigns->listCampaigns(["stateFilter" => "enabled"]);
[
[
"campaignId": 1234567890,
"name": "Campaign one",
"tactic": "remarketing",
"budgetType": "daily",
"budget": "3.00",
"startDate": "20190101",
"endDate": null,
"state": "enabled"
]
]
listCampaignsEx
$result = = $app->campaigns->listCampaignsEx(["stateFilter" => "enabled"]);
[
[
"campaignId": 1234567890,
"name": "Campaign one",
"tactic": "remarketing",
"budgetType": "daily",
"budget": 0,
"startDate": "20190101",
"endDate": "20190102",
"state": "enabled",
"servingStatus": "ADVERTISER_STATUS_ENABLED",
"creationDate": 0,
"lastUpdatedDate": 0
]
]
report
requestReport
getReport
downloadReportData
SponsoredDisplay 赞助展示业务
campaigns
getCampaign
getCampaignEx
createCampaigns
updateCampaigns
archiveCampaign
listCampaigns
listCampaignsEx
groups
getAdGroup
getAdGroupEx
createAdGroups
updateAdGroups
archiveAdGroup
listAdGroups
listAdGroupsEx
product_ads
getProductAd
getProductAdEx
createProductAds
updateProductAds
archiveProductAd
listProductAds
listProductAdsEx
report
requestReport
getReport
downloadReportData
SponsoredProducts 赞助商品业务
bidding
getAdGroupBidRecommendations
getKeywordBidRecommendations
createKeywordBidRecommendations
getBidRecommendations
campaigns
getCampaign
getCampaignEx
createCampaigns
updateCampaigns
archiveCampaign
listCampaigns
listCampaignsEx
groups
getAdGroup
getAdGroupEx
createAdGroups
updateAdGroups
archiveAdGroup
listAdGroups
listAdGroupsEx
keywords
product_ads
getProductAd
getProductAdEx
createProductAds
updateProductAds
archiveProductAd
listProductAds
listProductAdsEx
product_ads
getProductAd
getProductAdEx
createProductAds
updateProductAds
archiveProductAd
listProductAds
listProductAdsEx
product_targeting
getTargetingClause
listTargetingClauses
getTargetingClauseEx
listTargetingClausesEx
createTargetingClauses
updateTargetingClauses
createTargetRecommendations
getTargetingCategories
getRefinementsForCategory
getBrandRecommendations
report
requestReport
getReport
downloadReportData
版权声明:本文标题:格子广告+php,GitHub 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1688136894h183661.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论