Plugin Instance サービス
Apps Marketplace 用のアプリを開発する場合は、アンブレラ アプリと、ワークフローに別の場所にプラグインする 1 つ以上の特定のアプリ インスタンスを構築します。 プラグイン インスタンス サービスを使用すると、これらのインスタンスを作成および制御できます。 アンブレラ アプリの作成と管理の詳細については、 プラグイン サービスに関するページを参照してください。
REST API
注:
3 つの異なるユーザー ロールがあり、そのうちの 2 つは、このサービスを呼び出すことができます。
- アプリ プロバイダー - Apps Marketplace でアプリを開発するメンバー。
- アプリサブスクライバー - アプリ をサブスクライブして使用するメンバー。
- メンバー以外の開発者 - これらのアプリ開発者はメンバーに関連付けられていないので、このサービスを呼び出すことはできません。
特定のロールは、1 つ以上の呼び出しを行うことを制限されます。 呼び出しを行うことができるロールは、次の表の Description 列で指定します。
HTTP メソッド | エンドポイント | 説明 |
---|---|---|
POST |
https://api.appnexus.com/plugin-instance (plugin-instance JSON) |
アプリを追加します。 - アプリ プロバイダー。 - アプリサブスクライバー。 |
PUT |
https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID (plugin-instance JSON) |
アプリを変更します。 - アプリ プロバイダー。 |
GET |
https://api.appnexus.com/plugin-instance |
すべてのアプリ インスタンスを表示します。 - アプリ プロバイダー。 - アプリ サブスクライバー (関連付けられているインスタンスのみが表示されます)。 |
GET |
https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID |
特定のアプリ インスタンスを表示します。 - アプリ プロバイダー。 - アプリ サブスクライバー (インスタンスが関連付けられている場合にのみ表示されます)。 |
DELETE |
https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID |
アプリ インスタンスを削除します。 - アプリ プロバイダー |
DELETE |
https://api.appnexus.com/plugin?id=PLUGIN_INSTANCE_ID |
サブスクライバーによってインストールされたすべてのアプリを削除します。 |
DELETE |
https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID |
開発者が作成したすべてのアプリを削除します。 |
JSON フィールド
フィールド | 種類 | 説明 |
---|---|---|
description |
string | アプリ インスタンスの上にマウス ポインターを合わせると表示されるヒント。 既定値: null |
flavor |
列挙 | アプリがワークフローに統合されている場所。 使用可能な値: - "standalone" - アプリは、[メイン アプリ] タブでネットワーク ユーザーが使用できます。- "creative_action" - アプリは、 クリエイティブ マネージャー 画面から直接ネットワーク ユーザーが使用できます。- "advertiser_menu" - このアプリは、[広告主] タブで 広告主ユーザーが 利用できます。- "publisher_menu" - アプリは、パブリッシャー ユーザーが [ パブリッシャー ] タブで使用できます。- "conversion_pixel" - アプリは追跡ピクセルを使用して、このアプリのダウンロード数をカウントします。必須: POST |
icon_url |
string | アプリ インスタンスと共に表示されるアイコンの URL。 既定値: null |
id |
int | アプリ インスタンスの ID。 既定値: 自動生成された数値 必須: PUT /DELETE クエリ文字列内の 、 |
iframe_url |
string | アプリのコンテンツを指す URL。 必須: POST |
name |
string | アプリ インスタンスと共に表示される名前。 必須: POST |
plugin_id |
int | インスタンスが属するアプリの ID。 必須: POST |
proxy_url |
string | ファイルの proxy.md URL。 このプロキシ ファイルを使用すると、アプリとアプリ間のクロスフレーム通信が可能になります。 アプリと同じドメイン上の URL にアップロードする必要があります。必須: POST |
例
アプリを追加する
$ cat plugin_instance.json
{
"plugin-instance": {
"name": "Test instance 1",
"plugin_id": 45,
"flavor": "standalone",
"iframe_url": "https://www.iframe_url.com",
"name": "Test Instance 1",
"description": "This is the tooltip for Test Instance 1.",
"icon_url": "https://www.icon_url.com",
"proxy_url": "https://www.iframe_url.com/proxy.md"
}
}
$ curl -b cookies -c cookies -X POST -d @plugin_instance 'https://api.appnexus.com/plugin-instance'
{
"response": {
"status": "OK",
"count": 1,
"id": 65,
"start_element": null,
"num_elements": null,
"plugin-instance": {
"id": 65,
"plugin_id": 45,
"flavor": "standalone",
"iframe_url": "https://www.iframe_url.com",
"js_api_version": "",
"name": "Test Instance 1",
"description": "This is the tooltip for Test Instance 1.",
"icon_url": "https://www.icon_url.com",
"proxy_url": "https://www.iframe_url.com/proxy.md"
},
"dbg_info": {
...
}
}
}
アプリを変更する
$ cat modify-plugin.json
{
"plugin-instance": {
"name": "Napoleon Bonaparte"
}
}
$ curl -b cookies -c cookies -X PUT -d @modify-plugin.json 'https://sand.api.appnexus.com/plugin-instance?id=146' | json-pp
{
"response":{
"status":"OK",
"count":1,
"id":"146",
"start_element":null,
"num_elements":null,
"plugin-instance":{
"id":146,
"plugin_id":101,
"flavor":"advertiser_menu",
"iframe_url":"https:\/\/www.myadgent.com\/logos",
"js_api_version":"",
"name":"Napoleon Boneparte",
"description":null,
"icon_url":null,
"proxy_url":"https:\/\/www.myadgent.com\/logos\/video-appnexus-96-96.png"
},
"dbg_info":{
...
}
}
}
すべてのアプリを表示する
$ curl -b cookies -c cookies 'https://api.appnexus.com/plugin-instance'
{
"response": {
"status": "OK",
"count": 58,
"start_element": null,
"num_elements": null,
"plugin-instances": [
{
"id": 2,
"plugin_id": 1,
"flavor": "campaign_profile_segment",
"iframe_url": "https://host.appnexus/segment-targeting/boolean/",
"js_api_version": "",
"name": "Advanced Segment Chooser",
"description": "Allows you to select groups of segments and perform boolean comparison of them.",
"icon_url": "https://console.appnexus.com/favicon.ico",
"proxy_url": "https://host.appnexus/proxy_new.md"
},
{
"id": 3,
"plugin_id": 2,
"flavor": "standalone",
"iframe_url": "https://my.evidon.com/tag?i=17",
"js_api_version": "",
"name": "Evidon",
"description": "Evidon InForm enables businesses to comply with privacy laws and self-regulatory programs across North America and Europe.",
"icon_url": "https://betteradblog.files.wordpress.com/2011/11/adchoices14x16.png",
"proxy_url": "https://my.evidon.com/client_plugins/proxy.md"
},
{
"id": 4,
"plugin_id": 3,
"flavor": "standalone",
"iframe_url": "https://agents.proximic.com/appnexus/v1/index.jsp",
"js_api_version": "",
"name": "Agents",
"description": "Add powerful contextual and brand safety data to your media buy.",
"icon_url": "https://static.proximic.com/img/proximic_appnexus_16x16.png",
"proxy_url": "https://agents.proximic.com/appnexus/v1/proxy.md"
},
{
"id": 5,
"plugin_id": 4,
"flavor": "standalone",
"iframe_url": "https://audexp.apps.exelate.com",
"js_api_version": "",
"name": "Audience eXplorer",
"description": "eXelate provides data on online purchase intent, household demographics and behavioral propensities that enable digital advertisers to make optimal marketing decisions.",
"icon_url": "https://www.exelate.com/favicon.ico",
"proxy_url": "https://audexp.apps.exelate.com/AppNexusPluginProxy"
},
{
"id": 6,
"plugin_id": 5,
"flavor": "standalone",
"iframe_url": "https://e1.targusinfo.com/plugin/e1anx.md",
"js_api_version": "",
"name": "Audience Wizard",
"description": "Create customized audience groups based on TARGUSinfos offline data including thousands of demographic, branding, product, lifestyle/lifestage and consumer behavior profiles.",
"icon_url": "https://targusinfo.com/files/images/16x16_T.png",
"proxy_url": "https://e1.targusinfo.com/plugin/e1anxproxy.md"
},
{
"id": 7,
"plugin_id": 6,
"flavor": "standalone",
"iframe_url": "https://marketplace.brilig.com/brilig-webapp/loginAppNexusOuterFrame.jsp",
"js_api_version": "",
"name": "Audience DataMizer",
"description": "Access recommended audience buys and the ability to shop for and deploy 15 billion data points, encompassing 7,500 audience segments from 200 million profiles.",
"icon_url": "https://cdn.adnxs.com/applogos/brilig16_16.png",
"proxy_url": "https://marketplace.brilig.com/brilig-webapp/proxy.md"
},
...
],
"dbg_info": {
...
}
}
}
特定のアプリを表示する
$ curl -b cookies -c cookies 'https://api.appnexus.com/plugin-instance?id=32'
{
"response": {
"status": "OK",
"count": 1,
"start_element": null,
"num_elements": null,
"plugin-instance": {
"id": 32,
"plugin_id": 27,
"flavor": "standalone",
"iframe_url": "https://apps.eyereturn.com/appnexus-app/",
"js_api_version": "",
"name": "eyeReturn",
"description": "Build a rich media banner featuring multiple products and messages No experience needed!",
"icon_url": "https://www.eyereturnmarketing.com/img/logos/erm_app_logo_16x16.png",
"proxy_url": "https://apps.eyereturn.com/appnexusproxy.md"
},
"dbg_info": {
...
}
}
}
アプリを削除する
$ curl -b cookies -c cookies -X DELETE 'https://sand.api.appnexus.com/plugin-instance?id=20' | json-pp
{
"response":{
"status":"OK",
"dbg_info":{
...
}
}
}