キャンペーンREST API

Oracle Data CloudキャンペーンREST APIを実装して、キャンペーンを作成および管理できます。キャンペーンは、オーディエンスをOracle Data Cloudパートナに配信するための手順をOracle Data Cloudプラットフォームに示します。たとえば、キャンペーンAPIを使用して、キャンペーンのスケジュール、最高入札価格、予算などの構成パラメータを指定できます。また、キャンペーン・データの配信先DMPを指示するピクセルURLパラメータもあります。

ノート: ユーザーがOracle Data CloudプラットフォームUIでキャンペーンを作成することはなくなりました。キャンペーン・ワークフローは、オーディエンス・ワークフローの一部になりました。ただし、プラットフォームでは引き続きキャンペーンを使用して、オーディエンス・データ配信を管理できます。キャンペーンは、UIユーザーがオーディエンスを配信する際に自動的に作成されます。APIでは、以前と同様にキャンペーンを作成して使用します。

このトピックの内容  

APIについて知る

次の埋込みI/Oドキュメントを参照して、APIについての理解を深めることができます。I/Oドキュメントでは、各メソッドのパラメータについて説明し、コールのテンプレートを提供しています。ただし、ツールからライブAPIコールを実行することはできません。

次のリンクを新しいタブで開くと、I/Oドキュメントが3つのペインの形式で表示されます。

campaigns18.docs.apiary.io

このAPIの詳細は、My Oracle Support (MOS)にお問い合せください。

サービスURI

キャンペーンAPIのURIは、次のとおりです。

services.bluekai.com/rest/campaigns

スキーマ

キャンペーンAPIスキーマのURIは、次のとおりです。

services.bluekai.com/rest/campaign.schema

関連するAPIコール

通常、キャンペーンAPIを使用する前に実行するAPIコールは、次のとおりです。

キャンペーンAPIの前 ユースケース
オーディエンスAPI ターゲッティング、モデリング、最適化または分析のためにオーディエンスに含めるカテゴリを選択します。
カテゴリAPI オーディエンスの作成に使用できるファーストパーティ・カテゴリとサードパーティ・カテゴリを表示します。

キャンペーンのリスト

様々な問合せパラメータを組み合せて、フィルタ処理されたキャンペーン・セットをリクエストできます。たとえば、特定のパートナ・シートで作成したすべてのキャンペーンを表示するには、次のGETの例に示すように、目的のpidcreatedBy問合せパラメータでユーザーIDを指定します。

services.bluekai.com/rest/campaigns?createdBy=56789&pid=9876

サンプル・リスト・レスポンス:

問合せパラメータ

キャンペーンAPIでは、次の問合せパラメータがサポートされています。

パラメータ タイプ 説明
appId 整数 特定のアプリ・テンプレート(ベンダー・テンプレート)を使用するキャンペーンのフィルタ。これにより、特定のアプリ・パートナのアプリを複数回インストールした場合に、そのパートナからすべてのキャンペーンを返すことができます。
createdBy 整数 指定されたIDを持つOracle Data Cloudプラットフォーム・ユーザーによって作成されたキャンペーンのフィルタ。
deliveryIDs 配列

キャンペーンで使用されている配信IDタイプによるフィルタ。

label 文字列 指定されたラベルを使用するキャンペーンのフィルタ。
例: &label=valentines
nameOrId 文字列 キャンペーンの名前またはIDによるフィルタ。
offset 整数 キャンペーンを返す開始インデックス。
onRampFlag ブール OnRampキャンペーンのフィルタ。
q 文字列 返されたキャンペーンを次のプロパティ、演算子および二重引用符で囲まれた文字列に従ってフィルタ処理します。
  • id: q=id eq "322463"のように、eq (等しい)演算子およびキャンペーンのユニークIDとともに使用します。
  • name: q=name co "xyz"のように、co (含む)演算子およびキャンペーンの名前とともに使用します。

有効な演算子は、次のとおりです。

  • co: 文字列が含まれる(文字列は二重引用符で囲みます)
  • eq: 次と等しい
  • ew: 指定された文字列で終わる
  • ge: 次以上
  • gt: 次より大きい
  • le: 次以下
  • lt: 次より小さい
  • ne: 次と等しくない
  • sw: 指定された文字列で始まる

フィルタ式を含む問合せを発行したコンテキストによっては、パーセントエンコーディングを使用することが必要になる場合があります。たとえば、問合せをcURLコマンドとして実行する場合、フィルタ式で空白を%20に置き換える必要があります。例: &q=name%20co%20"xyz"

since 文字列 UTC形式(yyyy-MM-dd'T'HH:mm:ss.SSS'Z')で指定された日時以降に更新されたキャンペーンをフィルタ処理します。日付範囲内のキャンペーンを返すには、このプロパティをuntilプロパティとともに使用します。例:
?since=2016-11-01T22:00:00&until=2017-01-30T10:00:00
size 整数 レスポンスに含まれるキャンペーンの最大数。sizeプロパティは、offsetプロパティと組み合せて使用する必要があります。
until 文字列 UTC形式で指定された日時より前に更新されたキャンペーンをフィルタ処理します。
vendorId 整数 インストールされているアプリ(ベンダー)のIDによるフィルタ。これは、同じアプリ・インスタンスを使用するすべてのキャンペーンを返す場合に役立ちます。

GETおよびPOSTレスポンスのサマリー

キャンペーンAPIのGETおよびPOSTレスポンスには、返される各キャンペーンについての次の情報が含まれます。

プロパティ タイプ 説明
activated ブール キャンペーンのstatusactiveであるかどうかを示します。このフラグがfalse (デフォルト)に設定されている場合、キャンペーンは作成されているもののアクティブ化されていないため、アーカイブされています。
audience オブジェクト (必須)キャンペーンでのデータの配信対象のオーディエンスを(ユニークIDやユーザー指定の名前を含めて)記述するオブジェクト
bid 数値 キャンペーンがCPS (インプレッション当たりのコスト)価格モデルを使用している場合、bidは、キャンペーンによって購入されるデータの最高入札価格を示します。
キャンペーンがCPMまたはFlatFee価格モデルを使用している場合、これは100分の1の単位で表現された優先度になります(たとえば、キャンペーンの優先度が6の場合、この値は0.06になります)。
campaignType 文字列 (必須)キャンペーンを落札するかをユーザー・プロファイルのカテゴリに基づいて判断します。次のいずれかの値になります。
  • blanket: オーディエンスで指定されたカテゴリ内のいずれかのサブカテゴリが、ユーザー・プロファイルに含まれている場合に、キャンペーン落札とします。指定されたカテゴリ自体は含められる場合と除外される場合があります。このオプションにより、配信する詳細データの量は増えます。
  • normal: オーディエンスで指定されたカテゴリと一致するカテゴリがユーザー・プロファイルに含まれている場合にのみ、キャンペーン落札とします。
categoryTransferMethod 整数 カテゴリがパートナに配信される頻度を指定します。これは、次の値のいずれかになります。
  • 0: (デフォルト)データは、一意のユーザーごとに1回転送されます。
  • 1: データは、最初のページ・ビューでのみ転送されます。
  • 2: データは、ページ・ビューのたびに転送されます。
count 整数 GET (リスト)リクエストによって返されたキャンペーンの合計数
createdAt 日付 キャンペーンが作成された日時を示すISO 8601日時形式(yyyy-MM-dd'T'HH:mm:ssZ)のタイムスタンプ
例: 2016-04-18T17:46:32-05:00
deliveryIDs 配列 キャンペーンで使用される配信IDを記述する配列。deliveryIDsスキーマのURIは、次のとおりです。

services.bluekai.com/rest/idType.schema

endDate 日付 キャンペーンが終了するようにスケジュールされた日時を示すyyyy-MM-dd形式のタイムスタンプ。
httpsPull ブール HTTP/SSLを使用して、プル・ピクセルを介してキャンペーンを送信するか(true)しないか(false)を示します。
id 整数 キャンペーンに割り当てられた一意の識別子
idSwap ブール (Oracleの内部使用のみ) SDTを介してキャンペーンを送信するか(true)しないか(false)を示します
includeTopNodes ブール campaignTypeblanketの場合、includeTopNodesは、包括キャンペーンで、選択したカテゴリが含められるか除外されるかを示します。
  • true: 包括キャンペーンには、選択したカテゴリとその下のサブカテゴリが含められます。
  • false: 包括キャンペーンには、選択したカテゴリの下のサブカテゴリのみが含められます。
jsonPullMacro ブール JSONリターン・タグ・メソッドを介してキャンペーンを送信するかどうかを示します。
labels 配列 キャンペーンのユーザー指定ラベル(文字列)のリスト
name 文字列 (必須)キャンペーンの名前を指定する文字列
negativeRevenue ブール このフラグは、テスト・キャンペーンやIDスワップ・キャンペーンなどのために、いくつかのキャンペーン・シナリオで収益をゼロにするために(true)使用されます。デフォルト値はfalseです。
notes 文字列 このキャンペーンのために入力されたユーザー指定のノート
pacingGoal 数値 キャンペーンによって使用される最大の金額または獲得される最大のインプレッション数
pacingType 文字列 キャンペーンに使用されるペーシングのタイプ。ペーシングにより、キャンペーンで購入されるデータを特定の1日当たりの予算またはキャンペーン存続期間の予算に制限できます。キャンペーンは、この予算に到達すると実行を停止します。これは、次の値のいずれかになります。
  • alwaysOn: Oracleの内部使用のみ
  • budgetPerDay: キャンペーン支出は、指定された1日当たりの予算で制限されます。
  • budgetPerCampaignLifetime: キャンペーン支出は、指定されたキャンペーン存続期間の予算で制限されます。
  • cpm: 100分の1の単位で表現された優先度(たとえば、キャンペーンの優先度が6の場合、この値は0.06になります)。これは、CPMまたはFlatFee価格設定モデルを使用するキャンペーンにのみ適用されます。
  • noRestriction: キャンペーンに予算はありません。
partner オブジェクト このキャンペーンを共有したDMPパートナの名前とIDを含むオブジェクト。このプロパティは、キャンペーンを所有していない場合にのみ返されます。
partnerSitesOnly ブール パートナ・サイトでのみキャンペーンが落札できる(true)かどうかを示します。デフォルト値はfalseです。
pixelURLs 配列 宛先URLとその他の詳細を指定するキャンペーンのピクセルURLを記述します。pixelURLsスキーマのURIは、次のとおりです。

services.bluekai.com/rest/pixelUrl.schema

pricingModel オブジェクト キャンペーンで使用される価格設定モデルを記述するオブジェクト。次のいずれかのid値になります。
  • 1: CPS (非推奨)
  • 2: CPM
  • 3: FlatFee
  • 4: 検索
  • 5: 支出の%
  • 6: IOで設定
prior7DaysDeliveryStat 配列 このプロパティは非推奨となっているため、使用しないでください。
priority 整数 1 (最低優先度)から100 (最高優先度)までのランクで、すべてのキャンペーンの間でのオークション落札の優先度を上下させます。たとえば、ランクが20のキャンペーンは、ランクが10のキャンペーンよりも優先度が高くなります。デフォルト値は10です。
privateSellers 配列 名前やユニークIDなど、キャンペーンに関連付けられているプライベート販売元を記述する配列
recency 整数 ユーザーをオーディエンスに含めるようにカテゴリ属性でタグ付けしておく必要がある最大日数
retargetingSites 配列 オーディエンスにリターゲッティングのサードパーティ・データのみ含まれるかどうかを示す配列
revenueRecognition ブール (Oracleの内部使用のみ)このフラグは、キャンペーンがオーディエンス専用キャンペーンに使用されているかどうかを示します。デフォルト値はfalseです。
simulationAccuracy 整数 (将来使用) statusプロパティの値がsimulatingの場合にキャンペーン・シミュレーションに使用される精度レベル(パーセンテージで表現)
solutionType オブジェクト キャンペーン・ソリューション・タイプを記述するオブジェクト。idパラメータは、次のいずれかの値になります。
  • 1: メディア・ターゲッティング。
  • 2: ダイナミック・クリエイティブ最適化(DCO)
  • 3: サイトサイド最適化(SSO)
  • 5: 検索
  • 6: ルックアライク・モデリング
startDate 日付 (必須)キャンペーンが開始するようにスケジュールされた日時を示すyyyy-MM-dd形式のタイムスタンプ。
status 文字列 キャンペーンの現在のステータスで、次のいずれかの値になります。
  • active: キャンペーンはスケジュールに従って実行されています。
  • archived: キャンペーンはアーカイブされています。
  • creating: キャンペーンは作成されています。
  • hidden: キャンペーンは表示されません(実質的に削除されています)。
  • idle: キャンペーンは現在データを配信していません。キャンペーンはアクティブ化されていない場合はアイドル状態である可能性があるか、ピクセルが関連付けられていないか、アイドル状態です。
  • mapping: オーディエンス・マッピングが処理されています。
  • simulating: 将来使用
  • simulated: 将来使用
targetingSource 文字列 キャンペーンがsiteまたはuserのどちらのターゲッティングを使用するかを指定します。
  • site: 現在のページ・ビューでターゲット・カテゴリが創出または増分された場合にのみ、キャンペーン落札とします。
  • user (デフォルト): キャンペーンは、ターゲット・カテゴリがユーザー・プロファイルに含まれている場合は、常に、落札とします。
testCampaign ブール (Oracleの内部使用のみ)このフラグがtrueに設定されている場合、キャンペーンはテスト用に内部で使用されます。デフォルト値はfalseです。
updatedAt 日付 キャンペーンが更新された日時を示すISO 8601日時形式(yyyy-MM-dd'T'HH:mm:ssZ)のタイムスタンプ
例: 2017-02-14T10:24:15-06:00
winFrequency 整数 ターゲット・オーディエンスの1ユーザーが1カテゴリでタグ付けされたときに、そのユーザーについて落札できる頻度(日数)を指定します。
デフォルト値は30です。つまり、キャンペーンは、1ユーザーが新しいカテゴリでタグ付けされたときにのみ落札でき、そのユーザーが既存のカテゴリでタグ付けされたときには落札できません。
この値が0に設定されている場合、キャンペーンは、ターゲット・オーディエンスのユーザーが新しいカテゴリまたは既存のカテゴリでタグ付けされるたびに落札できます。
winOnSites 配列 キャンペーンが落札できるサイトのIDと名前の値が含まれる配列。配列が空の場合、キャンペーンはすべてのサイトで落札できます。

レスポンス・エラー

エラー・メッセージの最新のリストは、https://services.bluekai.com/rest/campaigns.errors?bkuid=bkUserID&bksig=bksignedStringをコールしてください

キャンペーン・リクエストに問題がある場合、レスポンスでは次のいずれかのエラー・メッセージが使用されます。

コード エラー・メッセージ
BK-10001 Could not find resource for the specified path
BK-10002 Bad query parameters
BK-10003 Invalid JSON input
BK-10004 Input JSON does not pass schema validation
BK-10005 Input JSON contains bad property
BK-10006 Input JSON has missing properties
BK-10007 Input JSON has bad property that does not match min length requirement
BK-10008 Input JSON has bad property that does not match max length requirement
BK-10009 Not enough privileges to access requested resource
BK-10010 The request could not be completed by the service due to malformed data or syntax
BK-10011 Incorrect sorting parameter
BK-10012 Additional properties detected.Schema does not allow extra properties to be present
BK-10013 Incorrect expand parameter
BK-10014 Incorrect q query parameter syntax
BK-10015 Property has unacceptable/bad format
BK-10016 Property value does not appear on the list of acceptable values
BK-10017 Array must not contain duplicate entries
BK-41001 Campaign was not found
BK-41002 Invalid audience
BK-41003 Invalid solution type
BK-41004 Invalid pricing model
BK-41005 Invalid retargeting site
BK-41006 Invalid private seller
BK-41006 Invalid order
BK-41007 Invalid status for campaign creation
BK-41008 Invalid start date
BK-41009 Campaign has missing fields
BK-41010 Invalid pacing type
BK-41011 Invalid end date
BK-41012 Invalid private sellers
BK-41013 Error processing vendor clients
BK-41014 Prospecting and retargeting cannot both be false
BK-41015 Invalid retargeting sites
BK-41016 Cannot modify field
BK-41017 Invalid category transfer type
BK-41018 Cannot activate campaign with missing field
BK-41019 Cannot activate campaign with zero budget
BK-41020 Campaign cannot return json with pixels
BK-41021 Audience contains third party data.Partner cannot deliver third party data.
BK-41022 Pixel URL contains invalid vendor id
BK-41023 Audience contains third party data.App is not allowed to use third party data.
BK-41024 Audience contains 1st or 2nd party data.App is not allowed to use 1st or 2nd party data.

さらに学ぶ

パーセントエンコーディング