Partager via


API de plateforme numérique - Service de rapports enregistrés

Le service Rapport enregistré peut être utilisé pour créer des rapports qui sont enregistrés et peuvent être récupérés à tout moment. Elles sont utiles pour les rapports qui sont exécutés fréquemment. Le service de rapports enregistrés agit comme un wrapper autour du service de rapports.

Remarque

Il existe une limite de 100 000 lignes par rapport.

Voici quelques faits à garder à l’esprit sur les rapports enregistrés :

  • Les rapports enregistrés expirent au bout de 6 mois. Vous devez créer un rapport enregistré après 6 mois.
  • Les rapports enregistrés ne peuvent pas avoir une durée de vie ou une plage de dates personnalisée .
  • Les rapports enregistrés sont exécutés dans l’ordre dans lequel ils ont été créés à l’origine. Par exemple, si vous créez deux rapports quotidiens, le rapport quotidien créé en premier s’exécute en premier chaque jour.
  • Les rapports quotidiens sont exécutés et envoyés chaque jour à différents moments de la journée.
  • Les rapports hebdomadaires sont exécutés et envoyés le lundi de chaque semaine pour les 7 jours précédents.
  • Les rapports mensuels sont exécutés et envoyés le premier jour de chaque mois.

API REST

Remarque

Les rapports enregistrés par d’autres utilisateurs au sein de votre réseau (membre) ne seront pas retournés dans ces appels. Seuls les rapports enregistrés par votre compte d’utilisateur sont retournés.

HTTP, méthode Endpoint Description
GET https://api.appnexus.com/saved-report?advertiser_id=ADVERTISER_ID Pour afficher tous les rapports enregistrés pour un annonceur.
GET https://api.appnexus.com/saved-report?publisher_id=PUBLISHER_ID Pour afficher tous les rapports enregistrés pour un éditeur.
GET https://api.appnexus.com/saved-report?id=SAVED_REPORT_ID Pour afficher un rapport enregistré spécifique.
POST https://api.appnexus.com/saved-report?advertiser_id=ADVERTISER_ID Pour ajouter un nouveau rapport enregistré pour un annonceur.
POST https://api.appnexus.com/saved-report?publisher_id=PUBLISHER_ID Pour ajouter un nouveau rapport enregistré pour un éditeur.
PUT https://api.appnexus.com/saved-report?advertiser_id=ADVERTISER_ID Pour modifier un rapport enregistré existant pour un annonceur.
PUT https://api.appnexus.com/saved-report?publisher_id=PUBLISHER_ID Pour modifier un rapport enregistré existant pour publisher.
DELETE https://api.appnexus.com/saved-report?id=SAVED_REPORT_ID Pour supprimer un rapport enregistré existant.

Champs JSON

Champ Type Description
category string Catégorie du rapport.
created_on string Date et heure de création du rapport enregistré.
emails tableau Liste des e-mails pour envoyer le rapport. Le tableau doit être au format ["email_address1@domain.com", "email_address2@domain.com", ...]
entity_id int ID d’entité de l’utilisateur qui crée le rapport. Cela définit l’étendue du rapport.
expires_on string Date et heure d’expiration d’un rapport enregistré. Ce délai est actuellement limité à un an à l’avenir. La date/heure doit être spécifiée au format où l’heure est spécifiée au format "YYYY-MM-DD HH:MM:SS" 24 heures.
Obligatoire sur :POST et PUT.
format enum Format dans lequel les résultats du rapport seront enregistrés. Valeurs possibles : "excel" ou "csv".
id int ID interne associé au rapport enregistré.
Obligatoire sur :PUT
last_modified string Date et heure de la dernière modification du rapport enregistré.
name string Nom du rapport affiché dans l’interface utilisateur. La taille maximale est de 100 caractères.
report objet Rapport défini dans le même format que celui utilisé dans Reporting Service.
scheduling enum Fréquence d’exécution du rapport. Valeurs possibles : "daily", "weekly"ou "monthly".

Exemples

Ajouter un nouveau rapport enregistré pour un serveur de publication

  1. Construisez un rapport JSON (comme décrit dans Service de rapports - Étape 1).
  2. POST json vers le service de rapport enregistré.
  3. Stockez l’ID retourné.
$ cat saved-report

{
   "saved-report":{
      "name":"Publisher Report Last 48 Hours",
      "report":{
         "report_type":"publisher_analytics",
         "columns":[
            "publisher_revenue",
            "imps_total",
            "imps_sold",
            "imps_default",
            "clicks",
            "ctr",
            "month",
            "day",
            "hour",
            "geo_country",
            "size",
            "placement",
            "total_convs",
            "convs_rate",
            "publisher_rpm"
         ],
         "row_per":[
            "month",
            "day",
            "hour",
            "geo_country",
            "size",
            "placement_id"
         ],
         "timezone":"EST",
         "report_interval":"last_48_hours"
      },
      "scheduling":"daily",
      "format":"excel",
      "emails":[
         "reporting@publisher.com",
         "noreply@publisher.com"
      ],
      "expires_on":"2010-10-31 0:00:00"
   }
}

$ curl -b cookies -c cookies -X post --data-binary @saved-report 'https://api.appnexus.com/saved-report?publisher_id=35'

{
   "response":{
      "status":"OK",
      "id":39
   }
}

Exécuter et récupérer un rapport enregistré

Remarque

Vous devez effectuer cette étape chaque fois que vous souhaitez récupérer un rapport mis à jour.

  1. POST dans le service de rapports avec l’ID ci-dessus et stockez le retourné report_id.
  2. Vérifiez la status du rapport avec un GET au service de rapports avec le report_id (comme décrit dans Service de rapports - Étape 3).
  3. GET le rapport du report-download service (comme décrit dans Service de rapports - Étape 4).
$ curl -b cookies -c cookies -X post "https://api.appnexus.com/report?saved_report_id=39&publisher_id=35"

{
   "response":{
      "status":"OK",
      "report_id":"fa16873114e1d5697091069e45bccec0"
   }
}

$ curl -b cookies -c cookies "https://api.appnexus.com/report?id=fa16873114e1d5697091069e45bccec0"

{
   "response":{
      "status":"OK",
      "report":{
         "name":null,
         "created_on":"2010-06-10 15:53:07",
         "json_request":"{\"report\":{\"report_type\":\"publisher_analytics\",\"columns\":[\"publisher_revenue\",\"imps_total\",
             \"imps_sold\",\"imps_default\",\"clicks\",\"ctr\",\"month\",\"day\",\"hour\",\"geo_country\",\"size\",\"placement\",
             \"total_convs\",\"convs_rate\",\"publisher_rpm\"],\"row_per\":[\"month\",\"day\",\"hour\",\"geo_country\",\"size\",
             \"placement_id\"],\"timezone\":\"EST\",\"report_interval\":\"last_48_hours\",\"filters\":[{\"publisher_id\":\"4642\"},
             {\"publisher_id\":\"4642\"}]}}",
         "data":"publisher_revenue,imps_total,imps_sold,imps_default,clicks,ctr,month,day,hour,geo_country,size,placement,total_convs,convs_rate,publisher_rpm\r\n"
      },
      "execution_status":"ready"
   }
}

 
$ curl -i -b cookies -c cookies 'https://api.appnexus.com/report-download?id=fa16873114e1d5697091069e45bccec0' > /tmp/publisher_analytics.csv