Partager via


Soumissionnaires - Service de rapports

Le service de rapports propose des données de création de rapports qui intéressent les acheteurs et les vendeurs. Il est utilisé pour répondre à des questions telles que :

  • Combien d’argent a été dépensé ?
  • Combien d’impressions ont été vues ?
  • Combien d’impressions ont été vendues ?
  • Combien de revenus a-t-on gagné ?

Il s’agit d’un service en lecture seule . Bien que vous mettez POST en place une demande de rapport au format JSON, cela ne modifie pas les données du cache Imp Bus. Vous devez être authentifié en tant que type d’utilisateur "bidder" pour exécuter des rapports. Chaque type de rapport fournit ses propres métriques, filtrage et options de regroupement.

Conseil

Vous avez besoin de plus de 90 jours de données ?

Les platform_buyer types de rapports et platform_seller extrayent des tables qui stockent les données des 90 derniers jours. Pour les données plus anciennes, utilisez les types de bidder_pricing_report rapports et seller_invoice_report .

Le service de rapports exécute des rapports de façon asynchrone, ce qui signifie qu’il peut exécuter plusieurs processus en parallèle. Lorsque vous effectuez une demande de rapport, vous recevez le rapport, un message d’erreur ou un message en attente. Pour plus d’informations, consultez Comment récupérer un rapport ci-dessous.

Il existe également une interface utilisateur graphique (IU) pour afficher ces données de rapport sur Le soumissionnaire. Si vous n’avez pas accès à cette interface utilisateur, contactez votre représentant Xandr.

Remarque

L’interface utilisateur du soumissionnaire n’expose pas toutes les fonctionnalités disponibles via l’API. Il expose uniquement le rapport d’analyse platform_buyer . Si vous avez besoin d’un autre rapport, vous devez utiliser l’API.

Types de rapports

Les principaux types de rapports sont les suivants :

API REST pour l’affichage des métadonnées

Il existe deux couches de données dans le service de rapports : les métadonnées et les données réelles. Les métadonnées sont une liste de paramètres de création de rapports disponibles.

Pour exécuter un rapport personnalisé, vous aurez besoin d’une requête au format JSON. Vous pouvez demander des données par filtre, groupe ou colonne. Un filtre filtre filtre les résultats. Une requête ayant un filtre tel que day, filtre en fonction des données agrégées. Vous pouvez également effectuer une recherche par paramètres individuels, tels que imps_sold.

HTTP, méthode Endpoint Description
GET https://api.adnxs.com/report?meta=buyer_platform_billing Retourne les métadonnées pour bidder_pricing_report le type.
GET https://api.adnxs.com/report/meta/platform_buyer Retourne les métadonnées pour platform_buyer le type.
GET https://api.adnxs.com/report/meta/platform_seller Retourne les métadonnées pour platform_seller le type.
GET https://api.adnxs.com/report/meta/seller_platform_billing Retourne les métadonnées pour seller_invoice_report le type.

Remarque

Vous pouvez également utiliser un format de requête plus standard pour retourner des métadonnées :

report?meta=report_type

Par exemple :

GET https://api.adnxs.com/report?meta=platform_buyer

Les métadonnées sont au format suivant :

{"column":"day","type":"time"}
{"column":"month","type":"time"}
{"column":"geo_country","type":"string"}

Exemple de métadonnées

$ curl "https://api.adnxs.com/report/meta/platform_buyer"
  "response": {
    "status": "OK",
 "meta": {
      "columns": [
        {
          "column": "month",
          "type": "time"
        },
        {
          "column": "day",
          "type": "date"
        },
        {
          "column": "hour",
          "type": "date"
        },
      ...
      ],
      "filters": [
        {
          "column": "hour",
          "type": "date"
        },
        {
          "column": "day",
          "type": "date"
        },
        {
          "column": "year",
          "type": "date"
        },
        ...
      ],
      "havings": [
        {
          "column": "clicks"
        },
        {
          "column": "buyer_spend"
        },
        {
          "column": "imps_bought"
        },
        {
          "column": "buyer_ecpm"
        },
        {
          "column": "click_rate_sold"
        }
      ],
      "time_intervals": [
        "current_hour",
        "last_hour",
        "last_48_hours",
        "today",
        "yesterday",
        "last_7_days",
        "month_to_date",
        "quarter_to_date",
        "last_month",
        "lifetime",
        "mtd"
      ]
    }
}

API REST pour la récupération de données

HTTP, méthode Endpoint Description
GET https://api.adnxs.com/report/REPORT_ID Demandez la status d’un rapport.
GET https://api.adnxs.com/report-download/REPORT_ID Récupérer des données de rapport.
POST https://api.adnxs.com/report?member_id=MEMBER_ID
(rapport JSON)
Demander un rapport.

Champs JSON

Champ Obligatoire Type Description
columns oui (au moins un) tableau Liste des colonnes à inclure dans le rapport. Consultez la documentation de chaque rapport individuel pour savoir quelles colonnes sont disponibles. Pour obtenir un exemple simple, consultez Comment récupérer un rapport ci-dessous.
end_date Non string Date de fin du rapport.
- Pour les types de rapports qui offrent des données horaires, il doit être au "YYYY-MM-DD HH:MM:SS"format . Toutefois, MM:SS doit être 00:00, car les données ne sont pas disponibles pendant les minutes et les secondes.
- Pour les types de rapports qui n’offrent pas de données horaires, il doit être mis en forme comme "YYYY-MM-DD".

Remarque : le end_date n’est pas inclusif. Par exemple, si vous commencez un rapport mensuel sur «2012-07-01" et terminez le rapport sur "2012-07-31", votre rapport n’inclut pas les données du dernier jour du mois. La façon correcte de récupérer ces données consiste à mettre fin au rapport sur "2012-08-01".
escape_fields Non valeur booléenne Quand truela valeur est , elle ajoute des guillemets autour de chaque champ dans la sortie du rapport pour permettre une importation plus sûre dans Excel. Cela s’applique uniquement aux rapports CSV et délimités par des tabulations.
filters Non tableau Liste des filtres à appliquer au rapport. Consultez la documentation de chaque rapport individuel pour voir sur quels champs peuvent être filtrés. Pour obtenir un exemple simple, consultez Comment récupérer un rapport ci-dessous.

Remarque : La valeur de is_delivered filtre est uniquement true si l’impression a été correctement servie. Sinon, il s’agit de false.
report_interval Non enum Intervalle de temps pour le rapport. Tous les rapports n’acceptent pas tous les intervalles ; Pour plus d’informations, consultez la documentation et les métadonnées de chaque rapport. Valeurs possibles :
- current_hour
- last_hour
- today
- yesterday
- last_48_hours
- last_7_days
- lifetime
- month_to_date
- mtd
- last_month
report_type oui enum Doit être l’un des éléments suivants :
- "platform_buyer"
- "platform_seller"
- "bidder_pricing_report"
- "seller_invoice_report"
- "completed_creative_audits"
- "bidder_bid_error_report"
Cela détermine les informations qui seront retournées.
row_per Non tableau Liste des regroupements à inclure dans le rapport. Consultez la documentation de chaque rapport individuel pour savoir par quelles colonnes peuvent être utilisées pour regrouper. Pour obtenir un exemple simple, consultez Comment récupérer un rapport ci-dessous.
start_date Non string Date de fin du rapport.
- Pour les types de rapports qui offrent des données horaires, il doit être au "YYYY-MM-DD HH:MM:SS"format . Toutefois, MM:SS doit être 00:00, car les données ne sont pas disponibles pendant les minutes et les secondes.
- Pour les types de rapports qui n’offrent pas de données horaires, il doit être mis en forme comme "YYYY-MM-DD".
timezone Non string Fuseau horaire dans lequel les données seront signalées. Pour obtenir la liste des valeurs de fuseau horaire possibles, consultez Fuseaux horaires de création de rapports.

Comment récupérer un rapport

Étape 1. Create une demande de rapport au format JSON

Le fichier JSON doit inclure le spécifique report_type que vous souhaitez exécuter, ainsi que les columns (dimensions et métriques) et report_interval ("today", , "yesterday""month_to_date", etc.) que vous souhaitez récupérer. Vous pouvez également inclure pour les filters dimensions et définir la granularité (année, mois, jour) et spécifier le format dans lequel les données doivent être retournées. Les format options sont les suivantes :

  • "csv" - Fichier séparé par des virgules
  • "xls" - Fichier Excel M.S. séparé par des tabulations
  • "xlsx" - Format Excel M.S. natif

Remarque

Pour filtrer une dimension par plusieurs valeurs, utilisez un tableau. Par exemple :

Correct :

"filters": [{"bid_type": ["learn","optimized"]}, {"geo_country":"US"}]

Incorrect :

"filters": [{"bid_type":"learn"}, {"bid_type":"optimized"}, {"geo_country":"US"}]

Pour plus d’informations sur les champs qui peuvent être inclus dans la demande, consultez Champs JSON ci-dessus. Pour obtenir la liste complète des dimensions et métriques disponibles, consultez la documentation relative au type de rapport spécifique que vous souhaitez exécuter, ou extrayez les métadonnées de ce rapport, comme décrit dans API REST pour l’affichage des métadonnées.

$ cat report_request
{
    "report": {
        "report_type": "platform_buyer",
        "report_interval": "last_48_hours",
        "columns": ["day","imps_bought"],
        "filters": [{"geo_country":"US"}],
        "orders": [{"order_by":"day", "direction":"ASC"}],
        "format": "csv"
    }
}

Étape 2. POST la demande au service de rapport

Vous POST la demande JSON et récupérez un ID de rapport.

$ curl -b cookies -c cookies -X POST -d @report_request 'https://api.adnxs.com/report?member_id=255'
{
    "response": {
        "status": "OK",
        "report_id": "ca9955709eade9a0e89f5cda5345c12r",
        "dbg_info": {
            ...
        }
    }
}

Étape 3. GETle rapport status à partir du service de rapports

Effectuez un GET appel avec l’ID de rapport pour récupérer les status du rapport. Continuez à effectuer cet appel jusqu’à ce que soit "execution_status""ready". Utilisez ensuite le report-download service pour enregistrer les données de création de rapports dans un fichier. (Ceci est décrit à l’étape suivante.)

$ curl -b cookies -c cookies 'https://api.adnxs.com/report/ca9955709eade9a0e89f5cda5345c12r'
{
    "response": {
        "status": "OK",
        "report": {
            "name": null,
            "created_on": "2012-03-13 18:15:48",
            "cache_hit": false,
            "fact_cache_hit": false,
            "json_request": "{\"report\":{\"report_type\":\"network_analytics\",\"report_interval\":
                \"last_48_hours\",\"columns\":[\"day\",\"imps\",\"clicks\"],\"filters\":[{\"geo_country\":
                \"US\"},{\"entity_member_id\":\"514\"},{\"entity_member_id\":null}],\"orders\":
                [{\"order_by\":\"day\",\"direction\":\"ASC\"},{\"order_by\":\"imps\",\"direction\":
                \"DESC\"}]}}",
            "header_info": "Report type:,network_analytics\r\n,\r\nRun at:,2012-03-13 18:15:48\r\nStart date:,
                \r\nEnd date:,\r\nTimezone:,\r\nUser:,John Smith (9385)\r\n",
            "report_size": "10",
            "row_count": "35",
            "url": "report-download?id=ca9955709eade9a0e89f5cda5345c12r"
        },
        "execution_status": "ready",
        "dbg_info": {
            ...
        }
    }
}

Étape 4. GET les données de rapport du service de téléchargement de rapports

Pour télécharger les données du rapport dans un fichier, effectuez un autre GET appel avec l’ID de rapport, mais cette fois au report-download service. Vous trouverez le service et l’ID de rapport dans le champ URL de la réponse précédente GET . Lorsque vous identifiez le fichier dans lequel vous souhaitez enregistrer, veillez à utiliser l’extension de fichier du "format" que vous avez spécifié dans votre initial POST.

Conseil

Si une erreur se produit pendant le téléchargement, l’en-tête de réponse inclut un code d’erreur HTTPS et un message. Utilisez -i ou -v dans votre demande pour exposer l’en-tête de réponse.

$ curl -b cookies -c cookies 'https://api.appnexus.com/report-download?id=<download_id>

Vous pouvez ensuite ouvrir le fichier.

Capture d’écran du fichier téléchargé avec les données du rapport.

Planifier des rapports périodiques

Vous pouvez automatiser le processus de création de rapports en créant des versions enregistrées des rapports qui vous intéressent et en demandant à notre système de vous envoyer les données par e-mail à des intervalles spécifiés. Pour plus d’informations sur la configuration de ces rapports automatisés, consultez Le service de rapports enregistrés.