クリエイティブAPI開発者ガイド
スポンサーディスプレイ広告では、広告主様が、広告配信時に使用するキャンペーン用の動画、カスタム見出し、ロゴ、カスタム画像をアップロードできます。広告主様は、見出し、ロゴ、カスタム画像を使用してブランドイメージを強化し、広告対象商品の体験をアピールすることができます。
今回のリリースでは、見出し、ロゴ、類似のカスタム画像をアップロードし、そのクリエイティブをさまざまな広告グループに関連付けることができるクリエイティブAPIが提供されています。このAPIを使用する前に、クリエイティブアセット内にロゴまたはカスタム画像を用意しておく必要があります。すでに画像をアップロード済みで、アセットIDがわかっている場合は、「クリエイティブAPI」のセクションに進んでください。
このクリエイティブ開発者ガイドの手順に従うには、スポンサーディスプレイ広告のクリエイティブPostmanコレクションをダウンロードして参照してください。
エンティティ情報を取得する
有効なOAuthトークンを用意します。クリエイティブPostmanコレクションを使用して、oauthフォルダーを展開し、新しいアクセストークンを取得するリクエストを実行します。たとえば、OAuth Refresh Tokenリクエストを使用して新しいアクセストークンを取得します。
oauthフォルダーを展開し、Gets profile informationリクエストを実行します。環境内で設定されたアクセストークンを使用します。
レスポンスは以下を返します。
[
{
"profileId": 1234567890,
"countryCode": "US",
"currencyCode": "USD",
"dailyBudget": 9.99999999E8,
"timezone": "America/Los_Angeles",
"accountInfo": {
"marketplaceStringId": "ATVPDKIKX0DER",
"id": "A123567900",
"type": "seller",
"name": "Ad Expresso"
}
}
]
エンティティIDは、「accountInfo」の「id」フィールドに基づくものになります。これを以下の手順3で使用します。
クリエイティブアセットAPI
このセクションでは、クリエイティブアセットAPIを使用して、キャンペーンのクリエイティブを作成する際に使用できる新しいロゴ(画像)をアップロードします。
クリエイティブアセットAPIを使用するには以下の手順が必要です。
- 新しいアセットのアップロード場所を作成する→この手順により、画像のアップロードに使用するURLが返されます。
- 手順1で取得したURLを使用して画像をアップロードする。
- アカウントにアセットを登録して、新しくアップロードしたアセットにアクセスできるようにする。
assetsフォルダーを展開して、クリエイティブアセットのリクエストを確認してください。アセットを作成するには、次の3つの手順がすべて必要です。
- アセットをアップロードするためのアップロード場所を作成する。(POSTリクエスト)
- 画像をアップロードする。(PUTリクエスト)
- アップロードしたアセットを、オプションのコンテキスト情報とタグ情報を指定してクリエイティブアセットに登録する。(POSTリクエスト)
手順1
リクエスト本文で、アップロードするファイルの名前を指定します。実際のファイル名と一致している必要があります。ファイル名のサフィックス(例:png)が必要です。サポートされている画像タイプは「JPEG」、「JPG」、「PNG」のみです(大文字、小文字は区別されません)
POST /assets/upload
{
"fileName": "test_creative.png"
}
このリクエストのレスポンスは、以下を返します。
{
"url": "https://al-na-9d5791cf-3faf.s3.amazonaws.com/511ca929-566a-4082-89b8-4128eca97cb6.png?x-amz-meta-fileName=test_creative.png&X-Amz-Security-Token=1234567890&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20210415T161206Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz-Credential=ASIA3NCY4QOMVRSXBSPM%2F20210415%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=1234567890"
}
手順2では、このURLを使用します。このURLは、upload_url変数によって、PostmanリクエストのURLフィールドに自動的に取り込まれます。URLの有効期間は通常15分であるため、有効期限が切れた場合は新しいURLを取得する必要があります。
手順2
「binary」オプションを選択し、ペイロードとしてファイルを選択して、ロゴとして使用する画像をPostmanからアップロードします。ファイル名は、前の手順で指定したファイル名と完全に一致している必要があります。*アセット画像の高さは100px以上、幅は600px以上にする必要があり、画像サイズは1MBを超えないようにします。*png、jpg、jpeg形式の画像を使用可能です。
PUT {{upload_url}}
{
"Select File "
}
手順3
リクエスト本文では、以下を指定できます。
- 変数
entity_id
は手順0で取得したもので、ファイル名とupload_url
は手順1で使用したものです。 - assetTypeは「IMAGE」でなければならず、assetSubTypeListには
LOGO/PRODUCT_IMAGE/AUTHOR_IMAGE/LIFESTYLE_IMAGE/OTHER_IMAGE
のいずれかの値を指定する必要があります。 - アセットを検索できるように任意のタグを追加することができます。
- 「account」フィールドには、アセットを使用する1つ以上のエンティティIDを指定できます。後から他のエンティティIDで画像を使用しなければならなくなった場合には、もう一度ロゴ画像をアップロードし、そのアセットを新しいエンティティIDに登録してください。すでに前に使用したエンティティIDは含めないでください。Postmanコレクションからのリクエストでは、プロフィール情報を取得した手順0のエンティティを使用します。
POST /assets/register
{
"name": "{{fileName}}",
"url": "{{upload_url}}",
"assetType": "IMAGE",
"assetSubTypeList": [
"LOGO"
],
"tags": [
"SD"
]
}
このリクエストのレスポンスは、以下を返します。
{
"assetId": "amzn1.assetlibrary.asset1.becf0adee0b0dc4e8ab96f3db46bxxxx",
"versionId": "version_v1"
}
オプションで、次のいずれかを使用してアセットを検索できます。
- メタデータとともにアセットを取得する:assetIdに基づいてアセットの詳細を返します。
- アセットを検索する:検索条件に基づいて1つ以上のアセットを返します
クリエイティブAPI
クリエイティブAPIでは、見出し、ロゴ、またはカスタム画像を使用してクリエイティブを作成できます。ロゴとカスタム画像は、前のセクションで作成したassetIdを使用して参照します。
クリエイティブAPIを呼び出す前に、キャンペーン、広告グループ、プロダクト広告、ターゲットを作成しておいてください。プロダクト広告を作成するときは、使用するASIN/SKUが有効で入手可能であることを確認してください。以下の手順を実行してクリエイティブを広告グループに追加するために、新しいadGroupIdを用意しておく必要があります。
*「sd」→「creatives」*フォルダーを展開してリクエストを確認してください。
手順1
クリエイティブアセットAPIの手順3で取得したassetIdとversionIdを使用します。Postmanスクリプトでは、前のセクションのリクエストの実行に基づいて、これらのIDが変数として渡されます。アセット画像の高さは100px以上、幅は600px以上でなければなりません。
Amazon Ads APIで、ブランドロゴ
を作成する例
POST /sd/creatives
[
{
"adGroupId": 1234567890,
"properties": {
"headline": "Test Headline (input custom headline)",
"brandLogo": {
"assetId": "{{assetId}}",
"assetVersion": "{{versionId}}",
"croppingCoordinates": {
"top": 0,
"left": 0,
"width": 600,
"height": 100
}
}
}
}
]
このリクエストのレスポンスは、以下を返します。
[
{
"code": "SUCCESS",
"creativeId": 1234567890111213,
}
]
Amazon Ads APIで、カスタム画像
を作成する例
POST /sd/creatives
[
{
"adGroupId": 1234567890,
"properties": {
"contentType": "CUSTOM_IMAGE",
"rectCustomImage": {
"assetId": "{{assetId}}",
"assetVersion": "{{versionId}}",
"croppingCoordinates": {
"top": 0,
"left": 0,
"width": 1200,
"height": 628
}
},
"squareCustomImage": {
"assetId": "{{assetId}}",
"assetVersion": "{{versionId}}",
"croppingCoordinates": {
"top": 0,
"left": 0,
"width": 628,
"height": 628
}
}
}
}
]
このリクエストのレスポンスは、以下を返します。
[
{
"code": "SUCCESS",
"creativeId": 1234567890111213,
}
]
手順2
PUT呼び出しを使用して、指定したadGroupIdのクリエイティブに関連するassetId、headline、croppingCoordinatesなどのクリエイティブ変数を編集できます。
PENDING_REVIEW
ステータスのクリエイティブは更新できません。クリエイティブが承認または却下されるまで待つ必要があります。クリエイティブが承認または却下されたら、クリエイティブを更新できます。更新時に、headlineとbrandLogoセクションを何も変更しなかった場合、クリエイティブ更新APIは直接「200 OK」を返し、クリエイティブの審査の状況は以前と同じままになります。見出しとロゴに変更を加えてクリエイティブを更新した場合にのみ、審査の状況がPENDING_REVIEW
にリセットされ、変更したクリエイティブの審査プロセスが開始されます。
PUT /sd/creatives
[
{
"properties": {
"headline": "Test_Headline",
"brandLogo": {
"assetId": "{{assetId}}",
"assetVersion": "{{versionId}}",
"croppingCoordinates": {
"top": 0,
"left": 0,
"width": 600,
"height": 100
}
}
},
"creativeId": 1234567890111213
}
]
このリクエストのレスポンスは、以下を返します。
[
{
"code": "SUCCESS",
"creativeId": 1234567890111213
}
]
手順3
この呼び出しを使用して、新しく追加したロゴやヘッドラインなど、新しいカスタムクリエイティブの画像を生成するために使用するHTMLをプレビューできます。
POST /sd/creatives/preview
{
"creative": {
"properties": {
"headline": "Test Headline (input custom headline)",
"brandLogo": {
"assetId": "{{assetId}}",
"assetVersion": "{{versionId}}",
"croppingCoordinates": {
"top": 0,
"left": 0,
"width": 600,
"height": 100
}
}
}
},
"previewConfiguration": {
"size": {
"width": 300,
"height": 250
},
"products": [
{
"asin": "B08KWGHYQH"
}
],
"isMobile": false,
"isOnAmazon": true
}
}
このリクエストのレスポンスは、以下を返します。
{
"previewHtml": "html string that you need to unescape"
}
カスタマイズせずにクリエイティブをプレビューする場合は、以下のペイロードを使用できます。"properties"も省略可能です。"creative": {}と指定することもできます。
POST /sd/creatives/preview
{
"creative": {
"properties": {}
},
"previewConfiguration": {
"size": {
"width": 300,
"height": 250
},
"products": [
{
"asin": "B08KWGHYQH"
}
],
"isMobile": false,
"isOnAmazon": true
}
}
カスタマイズせずにクリエイティブをプレビューする場合は、以下のペイロードを使用できます。
このリクエストのレスポンスは、以下を返します。
{
"previewHtml": "html string that you need to unescape without customization"
}
プレビュー設定でsize、isMobile、isOnAmazonを指定する場合は、クリエイティブのプレビューで次の値を使用できることに留意してください。 (「IsMobile」と「IsOnAmazon」の列の値はすべて小文字でなければなりません)。
サイズ(幅x高さ) | isMobile | isOnAmazon |
---|---|---|
245x250 | FALSE | TRUE |
650x130 | FALSE | TRUE |
414x125 | TRUE | TRUE |
320x50 | FALSE | TRUE |
160x600 | FALSE | TRUE |
300x250 | FALSE | TRUE |
728x90 | FALSE | TRUE |
970x250 | FALSE | TRUE |
300x600 | FALSE | TRUE |
980x55 | FALSE | TRUE |
300x600 | FALSE | TRUE |
270x150 | 未定 | 未定 |
プレビューのクリエイティブAPIのレスポンスでは、エスケープされたHTMLが返されます。HTMLのエスケープを取り除き、ファイル(例:PreviewCreative.html)に保存する必要があります。iframeを使用してクリエイティブと同じサイズの別のHTMLファイルを作成する必要があります。その後、ブラウザーでiframe HTMLを開くと、クリエイティブが表示されます。
サイズが414x125のiframeファイルコードの例:
<html>
<body>
<iframe src="./PreviewCreative.html" style="border:none; position:absolute;" width="414px" height="125px" />
</body>
</html>
この呼び出しを使用して、各adGroupIdのクリエイティブのリストを取得できます。これには、そのadGroupIdに関連付けられているカスタマイズされた見出しとassetIdが含まれます。
GET sd/creatives?adGroupIdFilter={{adGroupId}}
たとえば、このリクエストからのレスポンスは、以下を返します。
[
{
"creativeId": 1234567890111213,
"properties": {
"headline": "Raptors 2019 Champions",
"brandLogo": {
"assetId": "amzn1.assetlibrary.asset1.becf0adee0b0dc4e8ab96xxxxxxx",
"assetVersion": "version_v1",
"croppingCoordinates": {
"top": 0,
"left": 0,
"width": 600,
"height": 100
}
}
},
"moderationStatus": "PENDING_REVIEW"
}
]
手順5
この呼び出しを使用すると、CreativeIdFilterを使用して、指定したcreativeIdのmoderationStatusを取得できます。
GET sd/moderation/creatives?creativeIdFilter={{creativeId}}&language=en_U
たとえば、このリクエストからのレスポンスは、以下を返します。 「contentType」には「CUSTOM_IMAGE」も指定できることに留意してください。
[
{
"creativeId": 1234567890111213,
"moderationStatus": "PENDING_REVIEW",
"policyViolations": []
"contentType": "HL"
}
]
そのほかの知っておきたいこと
プロダクト広告
キャンペーンでプロダクト広告を作成するときは、有効で入手可能なASIN/SKUを必ず使用してください。無効なASIN/SKUではクリエイティブをレンダリングできません。
TPSの制限事項
現在、クリエイティブAPIでは、POST、GET、PUTリクエストに許可されるTPSは1のみです。これより多いTPSは制限されます。
見出し
- 空の文字列にすることはできません
- 50文字以下の長さにする必要があります。
- 次の不正な文字を含めることはできません:< > # ^ ! ...
- 大文字の文字数が50%を超えてはいけません。ただし、見出しの長さが10文字以下の場合、この検証は有効になりません。
- 絵文字(
\uD83D
\uDE41
など)を含めることはできません。
ロゴまたはカスタム画像
アセットを登録する際、適切な値を指定して、以下の検証基準が満たされていることを確認できます。
- アセット画像の高さは628px以上、幅は1200px以上でなければなりません
- assetTypeは「IMAGE」でなければなりません
- assetStatusは「ACTIVE」でなければなりません
- AssetContentTypeは次のいずれかでなければなりません。
- 「jpeg」、
- 「jpg」、
- 「png」、
- 「gif」、
- 「image/jpeg」、
- 「image/jpg」、
- 「image/png」、
- 「image/gif」、
- assetExtensionは次のいずれかでなければなりません。
- 「JPEG」、
- 「JPG」、
- 「PNG」、
- 「GIF」
- assetFileSizeは5MB以下でなければなりません
- 座標編集で画像の外側を編集してはいけません(クリエイティブアセットにアップロードした画像の幅が1200pxしかない場合に、1300pxに編集してはいけません)
- 正方形のカスタム画像の場合、座標編集は628x628px以上でなければなりません。