开发人员指南概述

亚马逊广告 API 概览

按账户类型区分的 DSP 报告

亚马逊 DSP 目前为管理账户和自助式账户提供支持。自助式账户可管理自己的广告活动,而管理账户的广告活动则由亚马逊或第三方代理商管理。管理广告主和自助式广告主都可以使用亚马逊广告 API 来检索报告数据,但流程因账户类型而异。

自助式账户

自助式 DSP 实体所有者管理广告活动,并且可能有多个广告主与其 DSP 实体关联。实体所有者可以为一个或多个广告主管理广告活动,也可以是软件服务商。

要调用 DSP 报告 API,请执行以下操作:

  1. 确保您的 Login with Amazon 应用由 DSP 账户授权,且该账户具有实体级别访问权限。

  2. 使用 GET /v2/profiles 接口检索实体编号。

    a.响应示例:

    [
      {
        "profileId": 1111111111111111,
        "countryCode": "US",
        "currencyCode": "USD",
        "timezone": "America/Los_Angeles",
        "accountInfo": {
          "marketplaceStringId": "ATVPDKIKX0DER",
          "id": "ENTITY2XYZ1234",
          "type": "agency",
          "name": "Demo: US"
        }
      }
    ]
    

    b.在上面的示例中,您的实体编号是 accountInfo.id 中的 ENTITY2XYZ1234。 请注意,DSP 配置文件将始终是 agency 类型。

注意

您也可以在 DSP 平台中通过查看 URL 找到自己的实体编号。URL 遵循以下模式:https://advertising.amazon.com/dsp/{ENTITY_ID}/advertisers

  1. 使用您的实体编号作为 POST /accounts/{accountId}/dsp/reports URI 中的 accountId

    a.调用示例:

    (对于实体编号 ENTITY2XYZ1234

    curl --location --request POST 'https://advertising-api.amazon.com/accounts/ENTITY2XYZ1234/dsp/reports' \
    --header 'Amazon-Advertising-API-ClientId: amzn1.application-oa2-client.xxxxxxxxxxxx' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer Atza|xxxxxxxxxxxxx' \
    --header 'Accept: application/vnd.dspcreatereports.v3+json' \
    --data-raw '{
        "startDate": "2022-12-05",
        "endDate": "2022-12-19"
    }'
    

    b.如果您想对单个广告主的数据生成报告,请在请求体中使用 advertiserIds 数组来指定相关 ID。您可以在 DSP 平台中找到与实体关联的广告主编号。

    调用示例:

    (对于实体编号 ENTITY2XYZ1234 和广告主编号 123456789

    curl --location --request POST 'https://advertising-api.amazon.com/accounts/ENTITY2XYZ1234/dsp/reports' \
        --header 'Amazon-Advertising-API-ClientId: amzn1.application-oa2-client.xxxxxxxxxxx' \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Bearer Atza|xxxxxxxxxxx' \
        --header 'Accept: application/vnd.dspcreatereports.v3+json' \
        --data-raw '{
          "advertiserIds": [
            "123456789"
          ],
          "startDate": "2022-12-05",
          "endDate": "2022-12-19"
        }'
    

    注意

    您一次最多只能请求 100 个广告主编号。如果您的实体有超过 100 个广告主,则可能需要请求多个报告。

管理服务账户

管理服务广告主需要使用管理员账户来调用报告 API。此流程允许实体管理员向管理员账户授予该实体内一个或多个广告主的只读权限。

注意

以下流程的某些步骤只能使用管理员账户 UI 完成;目前没有仅使用 API 的解决方案。进一步了解 API 中的管理员账户。

要调用 DSP 报告 API,请执行以下操作:

  1. 访问管理员账户 UI,然后点击创建管理员账户

  2. 输入名称,然后选择这是代理商还是广告主账户。

  3. 关联账户部分,转到请求访问选项卡。

  4. 添加您希望获得报告数据的 DSP 广告主编号和站点。您需要从有权访问 DSP 实体的人员那里获取广告主编号。

  5. 完成添加广告主编号后,选择创建管理员账户

  6. 在屏幕左下角,选择齿轮图标,然后选择管理员账户访问

  7. 点击关联账户

  8. 复制与您刚才请求的广告主关联的审批链接,然后将此 URL 提供给 DSP 实体的管理员以供批准。

    a.如果亚马逊管理您的 DSP 广告活动,请向您的亚马逊账户管理员提供 URL。

  9. 获得批准后,有权访问管理员账户的用户需要对 Login with Amazon 应用授权

  10. 现在,在调用 API 时,您可以使用 DSP 广告主编号(从步骤 4 获得)作为 POST /accounts/{accountId}/dsp/reports URI 中的 accountId

调用示例:

(对于广告主编号 1234567890

curl --location --request POST 'https://advertising-api.amazon.com/accounts/1234567890/dsp/reports' \
--header 'Amazon-Advertising-API-ClientId: amzn1.application-oa2-client.xxxxxxxxxxxx' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer Atza|xxxxxxxxxxxxx' \
--header 'Accept: application/vnd.dspcreatereports.v3+json' \
--data-raw '{
    "startDate": "2022-12-05",
    "endDate": "2022-12-19"
}'

管理员账户广告主编号

您也可以使用 GET /managerAccounts endpoint 获取您的管理员账户有权访问的广告主编号。

响应示例:

{
  "managerAccounts": [
    {
      "linkedAccounts": [
        {
          "accountId": "ENTITY3G3R4D4E0FEIV",
          "accountName": "ADVERTISER_NAME_456",
          "accountType": "DSP_ADVERTISING_ACCOUNT",
          "dspAdvertiserId": "12345678",
          "marketplaceId": "ATVPDKIKX0DER",
          "profileId": ""
        },
        {
          "accountId": "ENTITY147ELY1DV9VO0",
          "accountName": "ADVERTISER_NAME_123",
          "accountType": "DSP_ADVERTISING_ACCOUNT",
          "dspAdvertiserId": "98765432",
          "marketplaceId": "ATVPDKIKX0DER",
          "profileId": ""
        }
      ],
      "managerAccountId": "amzn1.ads1.ma1.7xxxxxxxxxxx",
      "managerAccountName": "Test Agency"
    }
  ]
}

您可以使用 dspAdvertiserId(上述示例中的值 1234567898765432)作为 POST /accounts/{accountId}/dsp/reports URI 中的 accountId

后续步骤

有关请求报告的更多信息,请参阅: