Partager via


Service d’instance de plug-in

Lorsque vous développez une application pour la Place de marché des applications, vous créez une application parapluie, puis une ou plusieurs instances d’application spécifiques qui se connectent au flux de travail à différents endroits. Le service d’instance de plug-in vous permet de créer et de contrôler ces instances. Pour plus d’informations sur la création et la gestion d’une application parapluie, consultez le service de plug-in.

API REST

Remarque

Il existe trois rôles d’utilisateur différents, dont deux peuvent effectuer des appels à ce service :

  • Fournisseurs d’applications : membres qui développent des applications dans la Place de marché des applications.
  • Abonnés à l’application : membres qui s’abonnent à des applications et l’utilisent.
  • Développeurs non membres : ces développeurs d’applications ne sont pas associés à des membres et ne peuvent pas effectuer d’appels à ce service.

Certains rôles ne peuvent pas effectuer un ou plusieurs appels. Les rôles qui peuvent effectuer les appels sont spécifiés dans la colonne Description du tableau ci-dessous.

HTTP, méthode Endpoint Description
POST https://api.appnexus.com/plugin-instance
(plug-in-instance JSON)
Ajouter une application.
- Fournisseurs d’applications.
- Abonnés à l’application.
PUT https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID
(plug-in-instance JSON)
Modifier une application.
- Fournisseurs d’applications.
GET https://api.appnexus.com/plugin-instance Afficher toutes les instances d’applications.
- Fournisseurs d’applications.
- Abonnés à l’application (ne verront que les instances auxquelles ils sont associés).
GET https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID Afficher une instance d’application spécifique.
- Fournisseurs d’applications.
- Abonnés à l’application (ne verront un instance que s’ils y sont associés).
DELETE https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID Supprimer un instance d’application.
- Fournisseurs d’applications
DELETE https://api.appnexus.com/plugin?id=PLUGIN_INSTANCE_ID Supprimer toutes les applications installées par un abonné.
DELETE https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID Supprimer toutes les applications créées par un développeur.

Champs JSON

Champ Type Description
description string Info-bulle qui s’affiche lorsque vous pointez sur l’application instance.

Par défaut : null
flavor enum Emplacement où l’application est intégrée au flux de travail. Valeurs possibles :
- "standalone"- L’application est disponible pour les utilisateurs réseau sous l’onglet applications main.
- "creative_action" - L’application est disponible pour les utilisateurs réseau directement à partir de l’écran Creative Manager .
- "advertiser_menu" - L’application est disponible pour les utilisateurs annonceurs sous l’onglet Annonceurs .
- "publisher_menu" - L’application est disponible pour les utilisateurs de l’éditeur sous l’onglet Serveurs de publication .
- "conversion_pixel" - L’application utilise un pixel de suivi pour compter le nombre de téléchargements de cette application.

Obligatoire sur : POST
icon_url string URL de l’icône affichée avec l’application instance.

Par défaut : null
id int ID de l’application instance.

Par défaut : nombre généré automatiquement
Obligatoire Sur : PUT/DELETE, dans la chaîne de requête
iframe_url string URL pointant vers le contenu de l’application.

Obligatoire sur : POST
name string Nom affiché avec les instances d’application.

Obligatoire sur : POST
plugin_id int ID de l’application à laquelle appartient l’instance.

Obligatoire sur : POST
proxy_url chaîne URL du proxy.md fichier. Ce fichier proxy permet une communication inter-images entre et votre application. Il doit être chargé vers une URL sur le même domaine que votre application.

Obligatoire sur : POST

Exemples

Ajouter une application

$ 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": {
            ...
        }
    }
}

Modifier une application

$ 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":{
            ...
        }
    }
}

Afficher toutes les applications

$ 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": {
            ...
        }
    }
}

Afficher une application spécifique

$ 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": {
            ...
        }
    }
}

Supprimer une application

$ curl -b cookies -c cookies -X DELETE 'https://sand.api.appnexus.com/plugin-instance?id=20' | json-pp
{
    "response":{
        "status":"OK",
        "dbg_info":{
            ...
        }
    }
}