rams007/amazon-advertising-api-php-sdk

Amazon Advertising API 客户端库

2.2 2020-09-04 10:53 UTC

This package is auto-updated.

Last update: 2024-09-21 02:08:27 UTC


README

No Maintenance Intended

摘要

官方 Amazon Advertising API PHP 客户端库。

此存储库已被弃用,将不再接收更新。

要求

PHP >= 5.3.0
cURL >= 7.18

文档

API 参考
访问请求
入门指南

教程

注册沙盒配置文件 - 本教程将向您展示如何使用 CURL 在沙盒中注册配置文件。
使用 CURL 生成和下载报告 - 在进行此教程之前,您需要完成在沙盒中注册配置文件。

沙盒自助服务

如果您想测试沙盒中的 API,您需要为想要测试的区域注册一个配置文件。可以通过 registerProfile API 调用来完成此操作。在调用此之前,请确保在 sandbox 模式下实例化客户端,否则它将失败。

以下国家/地区代码可用于测试。

US, CA, UK, DE, FR, ES, IT, IN, CN, JP

$client->registerProfile(array("countryCode" => "IT"));
{
  "registerProfileId": "5cf1aca5-4ab8-4489-8c33-013d1f85c586JP",
  "status": "IN_PROGRESS",
  "statusDetails": "Registration workflow has been started"
}

快速入门

实例化客户端

如果您没有刷新令牌,可以传递 accessToken

<?php
namespace AmazonAdvertisingApi;

require_once "AmazonAdvertisingApi/Client.php";

$config = array(
    "clientId" => "CLIENT_ID",
    "clientSecret" => "CLIENT_SECRET",
    "refreshToken" => "REFRESH_TOKEN",
    "region" => "na",
    "sandbox" => false,
  );

$client = new Client($config);

刷新访问令牌

您可以通过以下方法在令牌过期时刷新访问令牌。新的访问令牌将在请求响应中。此方法将为您设置它,所以它主要供您参考,如果需要的话。

$request = $client->doRefreshToken();

获取配置文件列表

$request = $client->listProfiles();
[{
  "profileId":1234567890,
  "countryCode":"US",
  "currencyCode":"USD",
  "dailyBudget":10.00,
  "timezone":"America/Los_Angeles",
  "accountInfo":{
  "marketplaceStringId":"ABC123",
  "sellerStringId":"DEF456"
}]

设置配置文件 ID

$client->profileId = "1234567890";

一旦设置了配置文件 ID,您就可以开始进行 API 调用了。

示例 API 调用

getProfile

通过ID检索单个配置文件。

$client->getProfile("1234567890");
{
  "profileId": 1234567890,
  "countryCode": "US",
  "currencyCode": "USD",
  "dailyBudget": 3.99,
  "timezone": "America/Los_Angeles",
  "accountInfo": {
    "marketplaceStringId": "ABC123",
    "sellerStringId": "DEF456"
  }
}

updateProfiles

更新一个或多个配置文件。广告商使用其 profileIds 进行标识。

$client->updateProfiles(
   array(
       array(
           "profileId" => $client->profileId,
           "dailyBudget" => 3.99),
       array(
           "profileId" => 11223344,
           "dailyBudget" => 6.00)));
[
  {
    "code": "SUCCESS",
    "profileId": 1234567890
  },
  {
    "code": "NOT_FOUND",
    "description": "Profile with id 11223344 was not found for this advertiser.",
    "profileId": 0
  }
]

listCampaigns

检索满足可选条件的活动列表。

$client->listCampaigns(array("stateFilter" => "enabled"));
[
  {
    "campaignId": 59836775211065,
    "name": "CampaignOne",
    "campaignType": "sponsoredProducts",
    "targetingType": "manual",
    "dailyBudget": 15.0,
    "startDate": "20160330",
    "state": "enabled"
  },
  {
    "campaignId": 254238342004647,
    "name": "CampaignTwo",
    "campaignType": "sponsoredProducts",
    "targetingType": "manual",
    "dailyBudget": 5.0,
    "startDate": "20160510",
    "state": "enabled"
  }
]

getCampaign

通过ID检索活动。请注意,此调用返回最小的活动字段集,但比 getCampaignEx 更高效。

$client->getCampaign(1234567890);
{
  "campaignId": 1234567890,
  "name": "CampaignOne",
  "campaignType": "sponsoredProducts",
  "targetingType": "manual",
  "dailyBudget": 15.0,
  "startDate": "20160330",
  "state": "enabled"
}

createCampaigns

创建一个或多个活动。成功创建的活动将被分配唯一的 campaignId

$client->createCampaigns(
    array(
        array("name" => "My Campaign One",
              "campaignType" => "sponsoredProducts",
              "targetingType" => "manual",
              "state" => "enabled",
              "dailyBudget" => 5.00,
              "startDate" => date("Ymd")),
        array("name" => "My Campaign Two",
              "campaignType" => "sponsoredProducts",
              "targetingType" => "manual",
              "state" => "enabled",
              "dailyBudget" => 15.00,
              "startDate" => date("Ymd"))));
[
  {
    "code": "SUCCESS",
    "campaignId": 173284463890123
  },
  {
    "code": "SUCCESS",
    "campaignId": 27074907785456
  }
]

updateCampaigns

更新一个或多个活动。活动通过其 campaignId 进行标识。

$client->updateCampaigns(
    array(
        array("campaignId" => 173284463890123,
              "name" => "Update Campaign One",
              "state" => "enabled",
              "dailyBudget" => 10.99),
        array("campaignId" => 27074907785456,
              "name" => "Update Campaign Two",
              "state" => "enabled",
              "dailyBudget" => 99.99)));
[
  {
    "code": "SUCCESS",
    "campaignId": 173284463890123
  },
  {
    "code": "SUCCESS",
    "campaignId": 27074907785456
  }
]

archiveCampaign

将活动状态设置为存档。此操作可以通过更新执行,但包括在此处以确保完整性。

$client->archiveCampaign(1234567890);
{
  "code": "SUCCESS",
  "campaignId": 1234567890
}

listCampaignsBrand

检索满足可选条件的活动列表。用于赞助品牌。

$client->listCampaignsBrand(array("stateFilter" => "enabled"));
[
  {
    "campaignId": 59836775211065,
    "name": "CampaignOne",
    "campaignType": "sponsoredProducts",
    "targetingType": "manual",
    "dailyBudget": 15.0,
    "startDate": "20160330",
    "state": "enabled"
  },
  {
    "campaignId": 254238342004647,
    "name": "CampaignTwo",
    "campaignType": "sponsoredProducts",
    "targetingType": "manual",
    "dailyBudget": 5.0,
    "startDate": "20160510",
    "state": "enabled"
  }
]

getCampaignBrand

通过ID检索活动。用于赞助品牌。

$client->getCampaignBrand(1234567890);
{
  "campaignId": 1234567890,
  "name": "CampaignOne",
  "campaignType": "sponsoredProducts",
  "targetingType": "manual",
  "dailyBudget": 15.0,
  "startDate": "20160330",
  "state": "enabled"
}

updateCampaignsBrand

更新一个或多个活动。活动通过其 campaignId 进行标识。用于赞助品牌。

$client->updateCampaignsBrand(
    array(
        array("campaignId" => 173284463890123,
              "name" => "Update Campaign One",
              "state" => "enabled",
              "dailyBudget" => 10.99),
        array("campaignId" => 27074907785456,
              "name" => "Update Campaign Two",
              "state" => "enabled",
              "dailyBudget" => 99.99)));
[
  {
    "code": "SUCCESS",
    "campaignId": 173284463890123
  },
  {
    "code": "SUCCESS",
    "campaignId": 27074907785456
  }
]

archiveCampaignBrand

将活动状态设置为存档。此操作可以通过更新执行,但包括在此处以确保完整性。用于赞助品牌。

$client->archiveCampaignBrand(1234567890);
{
  "code": "SUCCESS",
  "campaignId": 1234567890
}

listAdGroups

检索满足可选条件的广告组列表。

$client->listAdGroups(array("stateFilter" => "enabled"));
[
  {
    "adGroupId": 262960563101486,
    "name": "AdGroup One",
    "campaignId": 181483024866689,
    "defaultBid": 1.0,
    "state": "enabled"
  },
  {
    "adGroupId": 52169162825843,
    "name": "AdGroup Two",
    "campaignId": 250040549047739,
    "defaultBid": 2.0,
    "state": "enabled"
  }
]

getAdGroup

通过ID检索广告组。请注意,此调用返回最小的广告组字段集,但比 getAdGroupEx 更高效。

$client->getAdGroup(262960563101486);
{
  "adGroupId": 262960563101486,
  "name": "AdGroup One",
  "campaignId": 181483024866689,
  "defaultBid": 1.0,
  "state": "enabled"
}

createAdGroups

创建一个或多个广告组。成功创建的广告组将被分配唯一的 adGroupId

$client->createAdGroups(
    array(
        array(
            "campaignId" => 250040549047739,
            "name" => "New AdGroup One",
            "state" => "enabled",
            "defaultBid" => 2.0),
        array(
            "campaignId" => 59836775211065,
            "name" => "New AdGroup Two",
            "state" => "enabled",
            "defaultBid" => 5.0)));
[
  {
    "code": "SUCCESS",
    "adGroupId": 117483076163518
  },
  {
    "code": "SUCCESS",
    "adGroupId": 123431426718271
  }
]

updateAdGroups

更新一个或多个广告组。广告组通过其 adGroupId 进行标识。

$client->updateAdGroups(
    array(
        array(
            "adGroupId" => 117483076163518,
            "state" => "enabled",
            "defaultBid" => 20.0),
        array(
            "adGroupId" => 123431426718271,
            "state" => "enabled",
            "defaultBid" => 15.0)));
[
  {
    "code": "SUCCESS",
    "adGroupId": 117483076163518
  },
  {
    "code": "SUCCESS",
    "adGroupId": 123431426718271
  }
]

archiveAdGroup

将广告组状态设置为存档。此操作可以通过更新执行,但包括在此处以确保完整性。

$client->archiveAdGroup(117483076163518);
{
  "code": "SUCCESS",
  "adGroupId": 117483076163518
}

listBiddableKeywords

检索满足可选条件的关键词列表。

$client->listBiddableKeywords(array("stateFilter" => "enabled"));
[
  {
    "keywordId": 174140697976855,
    "adGroupId": 52169162825843,
    "campaignId": 250040549047739,
    "keywordText": "KeywordOne",
    "matchType": "exact",
    "state": "enabled"
  },
  {
    "keywordId": 118195812188994,
    "adGroupId": 52169162825843,
    "campaignId": 250040549047739,
    "keywordText": "KeywordTwo",
    "matchType": "exact",
    "state": "enabled"
  }
]

getBiddableKeyword

通过ID检索关键词。请注意,此调用返回最小的关键词字段集,但比 getBiddableKeywordEx 更高效。

$client->getBiddableKeyword(174140697976855);
{
  "keywordId": 174140697976855,
  "adGroupId": 52169162825843,
  "campaignId": 250040549047739,
  "keywordText": "KeywordOne",
  "matchType": "exact",
  "state": "enabled"
}

createBiddableKeywords

创建一个或多个关键词。成功创建的关键词将被分配唯一的 keywordId

$client->createBiddableKeywords(
    array(
        array(
            "campaignId" => 250040549047739,
            "adGroupId" => 52169162825843,
            "keywordText" => "AnotherKeyword",
            "matchType" => "exact",
            "state" => "enabled"),
        array(
            "campaignId" => 250040549047739,
            "adGroupId" => 52169162825843,
            "keywordText" => "YetAnotherKeyword",
            "matchType" => "exact",
            "state" => "enabled")));
[
  {
    "code": "SUCCESS",
    "keywordId": 112210768353976
  },
  {
    "code": "SUCCESS",
    "keywordId": 249490346605943
  }
]

updateBiddableKeywords

更新一个或多个关键词。关键词通过其 keywordId 进行标识。

$client->updateBiddableKeywords(
       array(
           array(
               "keywordId" => 112210768353976,
               "bid" => 100.0,
               "state" => "archived"),
           array(
               "keywordId" => 249490346605943,
               "bid" => 50.0,
               "state" => "archived")));
[
  {
    "code": "SUCCESS",
    "keywordId": 112210768353976
  },
  {
    "code": "SUCCESS",
    "keywordId": 249490346605943
  }
]

archiveBiddableKeyword

将关键词状态设置为存档。此操作可以通过更新执行,但包括在此处以确保完整性。

$client->archiveBiddableKeyword(112210768353976);
{
  "code": "200",
  "requestId": "0TR95PJD6Z16FFCZDXD0"
}

getBiddableKeywordBrand

通过ID检索关键词。请注意,此调用返回最小的关键词字段集,但比 getBiddableKeywordEx 更高效。用于赞助品牌。

$client->getBiddableKeywordBrand(174140697976855);
{
  "keywordId": 174140697976855,
  "adGroupId": 52169162825843,
  "campaignId": 250040549047739,
  "keywordText": "KeywordOne",
  "matchType": "exact",
  "state": "enabled"
}

createBiddableKeywordsBrand

创建一个或多个关键词。成功创建的关键词将被分配唯一的 keywordId。用于赞助品牌。

$client->createBiddableKeywordsBrand(
    array(
        array(
            "campaignId" => 250040549047739,
            "adGroupId" => 52169162825843,
            "keywordText" => "AnotherKeyword",
            "matchType" => "exact",
            "state" => "enabled"),
        array(
            "campaignId" => 250040549047739,
            "adGroupId" => 52169162825843,
            "keywordText" => "YetAnotherKeyword",
            "matchType" => "exact",
            "state" => "enabled")));
[
  {
    "code": "SUCCESS",
    "keywordId": 112210768353976
  },
  {
    "code": "SUCCESS",
    "keywordId": 249490346605943
  }
]

updateBiddableKeywordsBrand

更新一个或多个关键词。关键词通过其 keywordId 进行标识。用于赞助品牌。

$client->updateBiddableKeywordsBrand(
       array(
           array(
               "keywordId" => 112210768353976,
               "bid" => 100.0,
               "state" => "archived"),
           array(
               "keywordId" => 249490346605943,
               "bid" => 50.0,
               "state" => "archived")));
[
  {
    "code": "SUCCESS",
    "keywordId": 112210768353976
  },
  {
    "code": "SUCCESS",
    "keywordId": 249490346605943
  }
]

archiveBiddableKeywordBrand

将关键词状态设置为存档。此操作可以通过更新执行,但包括在此处以确保完整性。用于赞助品牌。

$client->archiveBiddableKeywordBrand(112210768353976);
{
  "code": "200",
  "requestId": "0TR95PJD6Z16FFCZDXD0"
}

listNegativeKeywords

检索满足可选条件的否定关键词列表。

$client->listNegativeKeywords(array("stateFilter" => "enabled"));
[
  {
    "keywordId": 281218602770639,
    "adGroupId": 52169162825843,
    "campaignId": 250040549047739,
    "keywordText": "KeywordOne",
    "matchType": "negativeExact",
    "state": "enabled"
  },
  {
    "keywordId": 280875877064090,
    "adGroupId": 262960563101486,
    "campaignId": 181483024866689,
    "keywordText": "KeywordTwo",
    "matchType": "negativeExact",
    "state": "enabled"
  }
]

getNegativeKeyword

通过ID检索否定关键词。请注意,此调用返回最小的关键词字段集,但比 getNegativeKeywordEx 更高效。

$client->getNegativeKeyword(281218602770639);
{
  "keywordId": 281218602770639,
  "adGroupId": 52169162825843,
  "campaignId": 250040549047739,
  "keywordText": "KeywordOne",
  "matchType": "negativeExact",
  "state": "enabled"
}

createNegativeKeywords

创建一个或多个否定关键词。成功创建的关键词将被分配唯一的 keywordIds。

$client->createNegativeKeywords(
    array(
        array(
            "campaignId" => 250040549047739,
            "adGroupId" => 52169162825843,
            "keywordText" => "AnotherKeyword",
            "matchType" => "negativeExact",
            "state" => "enabled"),
        array(
            "campaignId" => 181483024866689,
            "adGroupId" => 262960563101486,
            "keywordText" => "YetAnotherKeyword",
            "matchType" => "negativeExact",
            "state" => "enabled")));
[
  {
    "code": "SUCCESS",
    "keywordId": 61857817062026
  },
  {
    "code": "SUCCESS",
    "keywordId": 147623067066967
  }
]

updateNegativeKeywords

更新一个或多个否定关键词。关键词通过其 keywordId 进行标识。

$client->updateNegativeKeywords(
       array(
           array(
               "keywordId" => 61857817062026,
               "state" => "enabled",
               "bid" => 15.0),
           array(
               "keywordId" => 61857817062026,
               "state" => "enabled",
               "bid" => 20.0)));
[
  {
    "code": "SUCCESS",
    "keywordId": 61857817062026
  },
  {
    "code": "INVALID_ARGUMENT",
    "description": "Entity with id 61857817062026 already specified in this update operation."
  }
]

archiveNegativeKeyword

将否定关键词状态设置为存档。此操作可以通过更新状态执行,但包括在此处以确保完整性。

$client->archiveNegativeKeyword(61857817062026);
{
  "code": "SUCCESS",
  "keywordId": 61857817062026
}

listCampaignNegativeKeywords

检索满足可选条件的否定活动关键词列表。

$client->listCampaignNegativeKeywords(array("matchTypeFilter" => "negativeExact"));
[
  {
    "keywordId": 131747786239884,
    "adGroupId": null,
    "campaignId": 181483024866689,
    "keywordText": "Negative Keyword",
    "matchType": "negativeExact",
    "state": "enabled"
  },
  {
    "keywordId": 197201372210821,
    "adGroupId": null,
    "campaignId": 181483024866689,
    "keywordText": "My Negative Keyword",
    "matchType": "negativeExact",
    "state": "enabled"
  }
]

getCampaignNegativeKeyword

通过ID检索活动否定关键词。请注意,此调用返回最小的关键词字段集,但比 getCampaignNegativeKeywordEx 更高效。

$client->getCampaignNegativeKeyword(197201372210821);
{
  "keywordId": 197201372210821,
  "adGroupId": null,
  "campaignId": 181483024866689,
  "keywordText": "My Negative Keyword",
  "matchType": "negativeExact",
  "state": "enabled"
}

createCampaignNegativeKeywords

创建一个或多个否定关键词。成功创建的关键词将被分配唯一的keywordId

$client->createCampaignNegativeKeywords(
       array(
           array(
               "campaignId" => 181483024866689,
               "keywordText" => "Negative Keyword One",
               "matchType" => "negativeExact",
               "state" => "enabled"),
           array(
               "campaignId" => 181483024866689,
               "keywordText" => "Negative Keyword Two",
               "matchType" => "negativeExact",
               "state" => "enabled")));
[
  {
    "code": "SUCCESS",
    "keywordId": 196797670902082
  },
  {
    "code": "SUCCESS",
    "keywordId": 186203479904657
  }
]

updateCampaignNegativeKeywords

更新一个或多个否定关键词。使用它们的keywordId来识别关键词。

当前只能删除否定关键词。

removeCampaignNegativeKeyword

将否定关键词的状态设置为已删除。此操作可以通过状态更新执行,但包括在此处以确保完整性。

$client->removeCampaignNegativeKeyword(186203479904657);
{
  "code": "SUCCESS",
  "keywordId": 186203479904657
}

listProductAds

检索满足可选条件的广告产品列表。

$client->listProductAds(array("stateFilter" => "enabled"));
[
  {
    "adId": 247309761200483,
    "adGroupId": 262960563101486,
    "campaignId": 181483024866689,
    "sku": "TEST001",
    "state": "enabled"
  }
]

getProductAd

通过ID检索产品广告。请注意,此调用返回产品广告字段的最小集合,但比getProductAdEx更高效。

$client->getProductAd(247309761200483);
{
  "adId": 247309761200483,
  "adGroupId": 262960563101486,
  "campaignId": 181483024866689,
  "sku": "TEST001",
  "state": "enabled"
}

createProductAds

创建一个或多个产品广告。成功创建的产品广告将被分配唯一的adId

$client->createProductAds(
    array(
        array(
            "campaignId" => 181483024866689,
            "adGroupId" => 262960563101486,
            "sku" => "TEST002",
            "state" => "enabled"),
        array(
            "campaignId" => 181483024866689,
            "adGroupId" => 262960563101486,
            "sku" => "TEST003",
            "state" => "enabled")));
[
  {
    "code": "SUCCESS",
    "adId": 239870616623537
  },
  {
    "code": "SUCCESS",
    "adId": 191456410590622
  }
]

updateProductAds

更新一个或多个产品广告。使用它们的adId来识别产品广告。

$client->updateProductAds(
    array(
        array(
            "adId" => 239870616623537,
            "state" => "archived"),
        array(
            "adId" => 191456410590622,
            "state" => "archived")));
[
  {
    "code": "SUCCESS",
    "adId": 239870616623537
  },
  {
    "code": "SUCCESS",
    "adId": 191456410590622
  }
]

archiveProductAd

将产品广告的状态设置为存档。此操作可以通过更新执行,但包括在此处以确保完整性。

$client->archiveProductAd(239870616623537);
{
  "code": "SUCCESS",
  "adId": 239870616623537
}

requestSnapshot

请求单个类型的所有实体的快照报告。

$client->requestSnapshot(
    "campaigns",
    array("stateFilter" => "enabled,paused,archived",
          "campaignType" => "sponsoredProducts"));
{
  "snapshotId": "amzn1.clicksAPI.v1.p1.573A0477.ec41773a-1659-4013-8eb9-fa18c87ef5df",
  "recordType": "campaign",
  "status": "IN_PROGRESS"
}

requestSnapshotBrand

请求单个类型的所有实体的快照报告。用于Sponsored Brands。

$client->requestSnapshotBrand(
    "campaigns",
    array("stateFilter" => "enabled,paused,archived",
          "campaignType" => "sponsoredProducts"));
{
  "snapshotId": "amzn1.clicksAPI.v1.p1.573A0477.ec41773a-1659-4013-8eb9-fa18c87ef5df",
  "recordType": "campaign",
  "status": "IN_PROGRESS"
}

getSnapshot

检索先前请求的报告。

$client->getSnapshot("amzn1.clicksAPI.v1.p1.573A0477.ec41773a-1659-4013-8eb9-fa18c87ef5df");
[
  {
    "campaignId": 181483024866689,
    "name": "Campaign One",
    "campaignType": "sponsoredProducts",
    "targetingType": "manual",
    "dailyBudget": 5.0,
    "startDate": "20160330",
    "state": "archived"
  },
  {
    "campaignId": 59836775211065,
    "name": "Campaign Two",
    "campaignType": "sponsoredProducts",
    "targetingType": "manual",
    "dailyBudget": 10.99,
    "startDate": "20160330",
    "state": "archived"
  },
  {
    "campaignId": 254238342004647,
    "name": "Campaign Three",
    "campaignType": "sponsoredProducts",
    "targetingType": "manual",
    "dailyBudget": 99.99,
    "startDate": "20160510",
    "state": "enabled"
  }
]

requestReport

请求具有性能数据的单个类型所有实体的自定义性能报告。

$client->requestReport(
    "campaigns",
    array("reportDate" => "20160515",
          "campaignType" => "sponsoredProducts",
          "metrics" => "impressions,clicks,cost"));
{
  "reportId": "amzn1.clicksAPI.v1.m1.573A0808.32908def-66a1-4ce2-8f12-780dc4ae1d43",
  "recordType": "campaign",
  "status": "IN_PROGRESS",
  "statusDetails": "Report is submitted"
}

requestReportBrand

请求具有性能数据的单个类型所有实体的自定义性能报告。

$client->requestReportBrand(
    "campaigns",
    array("reportDate" => "20160515",
          "campaignType" => "sponsoredProducts",
          "metrics" => "impressions,clicks,cost"));
{
  "reportId": "amzn1.clicksAPI.v1.m1.573A0808.32908def-66a1-4ce2-8f12-780dc4ae1d43",
  "recordType": "campaign",
  "status": "IN_PROGRESS",
  "statusDetails": "Report is submitted"
}

requestReportSearchTerm

11/14/2018之前生成的自动定位活动的搜索词报告可以通过端点访问:/v2/sp/keywords/report。11/14/2018之后生成的自动定位活动的搜索词报告可以通过端点访问:/v2/sp/targets/report。使用查询分段检索搜索词报告。

$client->requestReportSearchTerm(
    array("reportDate" => "20160515",
          "campaignType" => "sponsoredProducts",
          "segment" => "query",
          "metrics" => "impressions,clicks,cost"));
{
  "reportId": "amzn1.clicksAPI.v1.m1.573A0808.32908def-66a1-4ce2-8f12-780dc4ae1d43",
  "recordType": "keywords",
  "status": "IN_PROGRESS",
  "statusDetails": "Report is submitted"
}

getReport

检索先前请求的报告。

$client->getReport("amzn1.clicksAPI.v1.m1.573A0808.32908def-66a1-4ce2-8f12-780dc4ae1d43");

沙盒将返回模拟数据。

[
  {
    "cost": 647.75,
    "campaignId": 230751293360275,
    "clicks": 2591,
    "impressions": 58288
  },
  {
    "cost": 619.5,
    "campaignId": 52110033002744,
    "clicks": 2478,
    "impressions": 68408
  },
  {
    "cost": 151.91,
    "campaignId": 140739567440917,
    "clicks": 633,
    "impressions": 17343
  },
  {
    "cost": 143.46,
    "campaignId": 79132327246328,
    "clicks": 797,
    "impressions": 48903
  }
]

getAdGroupBidRecommendations

请求指定广告组的出价建议。

$client->getAdGroupBidRecommendations(1234509876);
{
  "adGroupId": 1234509876,
  "suggestedBid": {
    "rangeEnd": 2.16,
    "rangeStart": 0.67,
    "suggested": 1.67
  }
}

getKeywordBidRecommendations

请求指定关键词的出价建议。

$client->getKeywordBidRecommendations(85243141758914);
{
  "keywordId": 85243141758914,
  "adGroupId": 252673310548066,
  "suggestedBid": {
    "rangeEnd": 3.18,
    "rangeStart": 0.35,
    "suggested": 2.97
  }
}

bulkGetKeywordBidRecommendations

请求最多100个关键词的出价建议。

$client->bulkGetKeywordBidRecommendations(
    242783265349805,
    array(
        array("keyword" => "testKeywordOne",
              "matchType" => "exact"),
        array("keyword" => "testKeywordTwo",
              "matchType" => "exact")
    ));
{
  "adGroupId": 242783265349805,
  "recommendations": [
    {
      "code": "SUCCESS",
      "keyword": "testKeywordOne",
      "matchType": "exact",
      "suggestedBid": {
        "rangeEnd": 2.67,
        "rangeStart": 0.38,
        "suggested": 2.07
      }
    },
    {
      "code": "SUCCESS",
      "keyword": "testKeywordTwo",
      "matchType": "exact",
      "suggestedBid": {
        "rangeEnd": 3.19,
        "rangeStart": 0.79,
        "suggested": 3.03
      }
    }
  ]
}

getAdGroupKeywordSuggestions

请求指定广告组的关键词建议。

$client->getAdGroupKeywordSuggestions(
    array("adGroupId" => 1234567890,
          "maxNumSuggestions" => 2,
          "adStateFilter" => "enabled"));
{
  "adGroupId": 1234567890,
  "suggestedKeywords": [
    {
      "keywordText": "keyword PRODUCT_AD_A 1",
      "matchType": "broad"
    },
    {
      "keywordText": "keyword PRODUCT_AD_B 1",
      "matchType": "broad"
    }
  ]
}

getAdGroupKeywordSuggestionsEx

请求指定广告组的、扩展版本的关键词建议。增加了返回关键词的出价建议的能力。

$client->getAdGroupKeywordSuggestionsEx(
    array("adGroupId" => 1234567890,
          "maxNumSuggestions" => 2,
          "suggestBids" => "yes",
          "adStateFilter" => "enabled"));
[
  {
    "adGroupId": 1234567890,
    "campaignId": 0987654321,
    "keywordText": "keyword TESTASINXX 1",
    "matchType": "broad",
    "state": "enabled",
    "bid": 1.84
  },
  {
    "adGroupId": 1234567890,
    "campaignId": 0987654321,
    "keywordText": "keyword TESTASINXX 2",
    "matchType": "broad",
    "state": "enabled",
    "bid": 1.07
  }
]

getAsinKeywordSuggestions

请求指定ASIN的关键词建议。

$client->getAsinKeywordSuggestions(
    array("asin" => "B00IJSNPM0",
          "maxNumSuggestions" => 2));
[
  {
    "keywordText": "keyword B00IJSNPM0 1",
    "matchType": "broad"
  },
  {
    "keywordText": "keyword B00IJSNPM0 2",
    "matchType": "broad"
  }
]

bulkGetAsinKeywordSuggestions

请求ASIN列表的关键词建议。

$client->bulkGetAsinKeywordSuggestions(
    array("asins" => array(
              "B00IJSNPM0",
              "B00IJSO1NM"),
          "maxNumSuggestions" => 2));
[
  {
    "keywordText": "keyword B00IJSNPM0 1",
    "matchType": "broad"
  },
  {
    "keywordText": "keyword B00IJSO1NM 1",
    "matchType": "broad"
  }
]

getTargetingClause

检索具有特定目标ID的定位子句。

$client->getTargetingClause(123456789);

listTargetingClauses

检索定位子句列表。

$client->listTargetingClauses(array('stateFilter'=>'enabled'));

getTargetingClauseEx

使用特定目标ID检索具有附加属性的定位子句。

$client->getTargetingClauseEx(123456789);

listTargetingClausesEx

检索具有扩展属性的定位子句列表。

$client->listTargetingClausesEx(array('stateFilter'=>'enabled'));

createTargetingClauses

创建一个或多个定位表达式。

$client->createTargetingClauses(array(array(
"campaignId"=> 127985268700344,
    "adGroupId"=> 456789012345,
    "expressionType"=> "manual",
    "expression"=> array(
        "type"=> "asinCategorySameAs",
        "value"=> "12345567"
    ),
    "bid"=> 10,
    "state"=> "enabled"
)));

updateTargetingClauses

更新一个或多个定位子句。

$client->updateTargetingClauses(array(array(
"campaignId"=> 127985268700344,
    "adGroupId"=> 456789012345,
    "targetId"=> 123452234567,
    "expressionType"=> "manual",
    "expression"=> array(
        "type"=> "asinCategorySameAs",
        "value"=> "12345567"
    ),
    "bid"=> 10,
    "state"=> "enabled"
)));

存档目标条款

将定位子句的状态设置为存档。此操作也可以通过更新(PUT方法)执行,但包括在此处以确保完整性。存档的实体不能再次激活。

$client->archiveTargetingClause(123456789);

获取目标分类

获取定位类别列表。

$client->getTargetingCategories(array('asins'=>'ASDF,EFGH,DSFDSK'));

获取品牌推荐

获取Sponsored Products的推荐品牌。每个请求仅允许一个参数(关键词或categoryId)。

$client->getBrandRecommendations(array('categoryId'=>123456789));

获取否定目标条款

通过targetId获取特定的否定定位子句。

$client->getNegativeTargetingClause(123456789);

获取否定目标条款扩展

使用特定目标ID检索具有附加属性的否定定位子句。

$client->getNegativeTargetingClauseEx(123456789);

创建否定目标条款

在活动级别创建否定定位子句。

$client->createNegativeTargetingClauses(array(array(
    "campaignId"=> 127985268700344,
        "adGroupId"=> 456789012345,
        "targetId"=> 123452234567,
        "expressionType"=> "manual",
        "expression"=> array(
            "type"=> "asinCategorySameAs",
            "value"=> "12345567"
        ),
        "bid"=> 10,
        "state"=> "enabled"
    )));

列出否定目标条款

检索否定定位子句列表。

$client->listNegativeTargetingClauses(array('stateFilter'=>'enabled'));

列出否定目标条款扩展

检索具有扩展属性的定位子句列表。

$client->listNegativeTargetingClausesEx(array('stateFilter'=>'enabled'));

存档否定目标条款

存档否定定位子句。

$client->archiveNegativeTargetingClause(123456789);

更新否定目标条款

更新否定定位子句。

$client->updateNegativeTargetingClauses(array(array(
   "campaignId"=> 127985268700344,
       "adGroupId"=> 456789012345,
       "targetId"=> 123452234567,
       "expressionType"=> "manual",
       "expression"=> array(
           "type"=> "asinCategorySameAs",
           "value"=> "12345567"
       ),
       "bid"=> 10,
       "state"=> "enabled"
   )));

获取历史数据

获取历史数据。

$fromdate = (time() - 60*60*24*14) *1000;
$todate = time()*1000;
$response = $client->getHistoryData(['fromDate'=> $fromdate, 
									'toDate'=>$todate,
									'eventTypes'=>[
										'CAMPAIGN'=>[
											'eventTypeIds'=> ['123456789'
													]
												  ]
									]);