Utilisation des données agrégées de l'API Pull

En bref : utilisez les URI pour créer vos rapports agrégés AppsFlyer dans des fichiers CSV.

PullAPIAverage_us-en.png

 Vous recherchez les données brutes d'API Pull ?

Données brutes d'API Pull

Caractéristiques des données brutes d'API Pull

  • Les rapports sont envoyés sous forme de fichiers CSV.
  • Les taux d'actualisation des données sont les mêmes que ceux du rapport équivalent des pages Données d'exportation et Tableau de bord général. La mise à jour du coût peut nécessiter un délai de plusieurs heures, en fonction du partenaire qui fournit les données de coût. 
  • Filtrer par options disponibles  : source média et plage de dates.
  • Les capacités supplémentaires de l'API Pull sont les suivantes :
    • Possibilité de filtrer par type de touch d'attribution
    • Fuseau horaire sélectionnable 
  • L'API Pull peut être utilisée par les membres d'équipe et les développeurs BI ;
    • Les utilisateurs de compte obtiennent les rapports en collant les URI dans leur navigateur. Les templates d'URI sont disponibles dans le tableau de bord. Rendez-vous dans Intégration > Accès API.
    • Les développeurs BI obtiennent des rapports en incorporant les URI dans les scripts. 

Exemple de template d'URI TemplateURL_us-en.jpg

Catégorie  UA Retargeting* Protect360
Partenaires (source média)

Partenaires par date

Quotidien

Géo

Rapport géo par date

* Pour les rapports de retargeting, ajoutez &reattr=true à l'URI.

Les rapports de performance agrégés disponibles via API Pull

 Lectures connexes :

Terminologie

Termes Description
API pull

Solution de téléchargement de rapports CSV à l'aide d'URI.

Appel API ou appel 

Envoi de l'URI à AppsFlyer en le collant dans la barre d'adresse du navigateur ou en utilisant des scripts.

URI
  • Identificateur de ressource uniforme (Uniform resource identifier) une forme d'adresse web (URL) qui contient la spécification du rapport.
  • Les templates d'URI sont disponibles sur la page API dans le tableau de bord.

Guide pour les utilisateurs du compte

À propos des modèles d'URI

  • Les templates d’URI proposés dans le hub de développement sont renseignés d'après l’ID d’app et le type de rapport.
  • Des espaces sont réservés au jeton API V1.0 et aux dates de début et de fin, vous devez les modifier.
  • La partie de l'URI à droite du point d'interrogation (?) contient des paramètres. Chaque paramètre commence par une esperluette (&). Les paramètres sont utilisés pour régler des filtres, spécifier les champs supplémentaires à inclure, la devise et le fuseau horaire. Par exemple, dans les rapports agrégés pour limiter (filtrer) une source média donnée, utilisez le paramètre media_source : & media_source=facebook
  • Pour mieux comprendre l'API Pull, suivez le didacticiel qui suit.

Obtenez votre premier didacticiel de rapport sur l'API Pull

Avant de commencer :

Pour télécharger un rapport depuis le dev hub : 

  1. Allez dans la référence d'API du dev hub AppsFlyer.

    API_Reference.jpg

  2. Sélectionnez un type de rapport dans le menu de gauche.
    Ex : Rapports de données brutes (non organiques) > Installations.
    Cf le tableau ci-dessous pour obtenir la liste de tous les types de rapports.

  3. Remplissez tous les champs obligatoires 
  4. Le template d'URI s'affiche sur la droite. 
  5. Copiez l'URI en cliquant sur l'icône Copier.
  6. Ouvrez un nouvel onglet dans votre navigateur puis collez l’URI.
  7. Cliquez sur <Enter> pour envoyer l'appel API. 
    Le rapport est téléchargé.
Rapport Description Fréquence d'actualisation
Rapports de données brutes (non organiques)
d'installations Enregistre les installations non organiques. L’enregistrement est généré lorsqu’un utilisateur ouvre l’app pour la première fois.
temps réel
Évènement in-app Enregistre les événements réalisés par les utilisateurs.
temps réel
Désinstallations Enregistre lorsqu’un utilisateur désinstalle l’app.
Quotidien
Réinstallations
Enregistre les utilisateurs qui, après avoir désinstallé l’app, interagissent avec une source média UA puis réinstallent l’app au cours de la fenêtre de réattribution. temps réel
Rapports de données brutes (organiques)
Installations organiques
Enregistre lorsqu'un utilisateur ouvre l'app pour la première fois.
En continu
Évènements in-app organiques
Enregistre les détails des événements réalisés par les utilisateurs.
En continu
Désinstallations organiques Enregistre les utilisateurs qui désinstallent l’app.
Quotidien
Réinstallations organiques Enregistre le revenu publicitaire des utilisateurs qui sont attribués à une source média de retargeting au cours de la fenêtre de réengagement.
Chaque jour
Données brutes des revenus publicitaires
Revenu publicitaire attribué
Enregistre le revenu publicitaire des utilisateurs attribués à une source média. Quotidien
Revenus publicitaires organiques Enregistre le revenu publicitaire des utilisateurs non attribués à une source média. Quotidien
Antifraude Protect360
d'installations Enregistre les installations identifiées comme frauduleuses et par conséquent attribuées à aucune source média. temps réel
Installations post-attribution Enregistre les événements in-app issus d'installations frauduleuses et par conséquent non attribuées. temps réel
Évènement in-app Enregistre les événements in-app identifiés comme frauduleux par Protect360. Quotidien
Évènements in-app post-attribution Enregistre les événements in-app des installations identifiées comme frauduleuses après avoir été attribuées à une source média, ou jugées frauduleuses sans égard à l'installation elle-même. Quotidien
Clics Enregistre les clics générés par les utilisateurs bloqués par Protect360. Quotidien
Postbacks d'installations bloquées Enregistre les copies des postbacks envoyés à la source média à l'origine de l'installation bloquée. temps réel
Les postbacks
Postback d'installation Enregistre les événements d'installation générés lorsqu'un utilisateur ouvre l'app pour la première fois. Quotidien
Postback d'évènements in-app Enregistre les postbacks d'événements in-app envoyés à la source média. Quotidien
Postbacks d'évènements in-app de retargeting Enregistre les événements in-app effectués par les utilisateurs au cours de la fenêtre de réengagement. temps réel
Postbacks de conversion de retargeting Enregistre les événements in-app effectués par les utilisateurs au cours de la fenêtre de réengagement. temps réel

Paramètres d'API Pull de données agrégées

URI et paramètres du rapport agrégé

Paramètres obligatoires des URI agrégés 
Paramètre Description
api_token Jeton d'API V1.0. Dans les exemples d'appels, il est indiqué comme suit : <API TOKEN HERE>. 
from
  • La plage de dates se compose des paramètres FROMet TO . La plage est la plage LTV, la date d'installation.
  • Format : aaaa-mm-jj, 
  • Exemple : 2010-01-01 ou 2010-01-01
to Date de fin. Comme pour from
Paramètres facultatifs de filtrage et d'affichage des données brutes agrégées, à l'exclusion des rapports Protect360.
Paramètre Description
media_source

À utiliser pour limiter (filtrer) à une source média donnée.

  • Exemple :media_source=facebook
attribution_touch_type

Réglez ce paramètre comme indiqué dans l'exemple pour obtenir les KPI d'attribution post vue.

Exemple : attribution_touch_type=impression

devise

Devise des revenus et des coûts

Les rapports d'API Pull agrégés utilisent toujours la devise spécifique à l'app.

reattr

Obtenir les données de conversion de retargeting.

  • Si [Default] est false, les campagnes de données d'acquisition d'utilisateurs (AU) sont renvoyées.
  • Si true, les conversions de retargeting sont envoyées.
  • Exemple :reattr=true
Fuseau horaire

[Default] Les données sont renvoyées en utilisant le fuseau horaire UTC.

  • Les URI du template sont remplis avec le paramètre de fuseau horaire réglé sur le fuseau horaire spécifique à l'app. 
  • [Default] Si le paramètre n'est pas envoyé, les données sont renvoyées en utilisant le fuseau horaire UTC.
  • Si vous envoyez timezone=[Joda-Time], les données sont retournées en utilisant le fuseau horaire propre à l'app.

Remarques sur la sélection des fuseaux horaires

  • Le format de fuseau horaire Joda-Time tient compte de l'heure d'été.
  • La valeur Joda-Time doit être identique à la valeur définie à la page des paramètres de l'app. Par exemple, si le fuseau horaire sélectionné est Paris, la valeur du fuseau horaire de l'URL de l'API Pull doit être timezone=Europe%2fParis.
  • Le regroupement de données dans le fuseau horaire spécifié est uniquement disponible à partir de la date à laquelle le paramètre de fuseau horaire a été défini. Toutes les données antérieures à la date de la modification s'affichent selon le fuseau horaire UTC. 

Rapport Google Adwords filtré

https://hq.appsflyer.com/export/com.greatapp/partners_report/v5?api_token=xxxx
&from=2018-04-09&to=2018-05-09&media_source=googleadwords_int

Rapport Facebook filtré

https://hq.appsflyer.com/export/com.greatapp/partners_report/v5?api_token=xxxx
&from=2018-04-09&to=2018-05-09&media_source=facebook
Paramètres facultatifs pour les rapports Protect360
Paramètre Description
URI
  • Récupérez l'URI Protect360 dans le tableau de bord.
  • Modifiez l'URI en suivant les instructions ci-dessous.
PID

Pour filtrer le rapport par une source média spécifique, utilisez le paramètre pid. Par exemple, pour obtenir les données de abc_net, pid=abc_net.

Fuseau horaire

Sélectionne le fuseau horaire utilisé pour renvoyer les données.

Si le paramètre timezonen'est pas envoyé, les données sont renvoyées en utilisant le fuseau horaire UTC.

Templates incluant le paramètre timezone

Exemple : timezone=preferred : permet d'obtenir des données en utilisant le fuseau horaire spécifique à l'app .

Indicateurs de performance clés

Les paramètres Protect360 sont les mêmes dans l'API Pull et l'API principale. 

KPI d'attribution post vue

  • Pour obtenir les KPI d'attribution post vue, ajoutez le paramètre attribution_touch_type=impression à l'URI du rapport agrégé de l'API Pull, comme indiqué dans l'exemple.
  • Vous pouvez utiliser le paramètre avec n'importe lequel des rapports agrégés disponibles. Copiez simplement l'URI depuis l'interface utilisateur et ajoutez-y le paramètre.
  • Vous pouvez également ajouter le paramètre &media_source pour limiter le rapport à une source média spécifique, comme illustré dans l'exemple qui suit.
  • Certains KPI d'attribution post vue, comme les clics, les impressions et les API de coût n'ont pas de valeurs associées et affichent la valeur N/A à la place.
Exemple Exemple d'URI
Attribution post vue uniquement https://hq.appsflyer.com/export/{app_id}/partners_report/v5?api_token={API token}&from=yyyy-mm-dd&to=yyyy-mm-dd&attribution_touch_type=impression

Attribution post vue et source media

https://hq.appsflyer.com/export/{app_id}/partners_report/v5?api_token={API token}&from=yyyy-mm-dd&to=yyyy-mm-dd&attribution_touch_type=impression&media_source=example_ad_network

API Pull pour les développeurs

Principes de mise en œuvre

Conditions préalables :

Parcourez le guide de l'API Pull à l'usage des utilisateurs du compte.

À prendre en compte :

  • Pour chaque type de rapport disponible, vous trouverez un template d'URI dans le hub de développement. Sélectionnez un type de rapport dans le menu de gauche.
  • Vous pouvez modifier le template pour obtenir les données dont vous avez besoin, par exemple en définissant des périodes ou en filtrant par paramètres.
  • Les paramètres des rapports de données brutes et de données agrégées diffèrent et sont détaillés dans les sections consacrées aux rapports.
Bases de l'API Pull
Chemin

https://hq.appsflyer.com/export/app_id/report_type/v5

Paramètres de chemin

app_id

  • Identifiant d'app tel que trouvé dans AppsFlyer.
  • Insérez l'ID d'app exactement comme dans AppsFlyer.
  • Ajoutez le préfixe id aux apps IOS

report_type 

  • Définit le type de rapport. La liste des rapports et les URI associés sont dans le tableau de bord. Allez dans Intégration > Accès API. 
Méthode HTTP

GET

Paramètres de requête obligatoires
Paramètre Description
Exemple d'URI

GET 'https://hq.appsflyer.com/export/app_id/installs_report/v5? from=2020-01-01?&to=2020-01-10&api_token=api_token&currency=preferred

api_token

api_token : jeton d'API Pull pour authentification

Autres paramètres

Les paramètres diffèrent selon 

 Exemple

L'exemple d'appel URI comprend des paramètres supplémentaires :

https://hq.appsflyer.com/export/example.app.com/installs_report/v5?
        api_token={Account owner API key should be used}&from=yyyy-mm-dd
&to=yyyy-mm-dd&additional_fields=keyword_id,store_reinstall,
deeplink_url,oaid,install_app_store,contributor1_match_type,
contributor2_match_type,contributor3_match_type,match_type

Exemples de scripts

Intégrez l'API Pull dans des scripts pour récupérer des données.

  • Au besoin, modifiez les scripts en termes de type de rapport, de plage de dates et de filtres. 
  • Ces exemples utilisent le rapport install.
JavaNode JSPythonC#PHP
import okhttp3.*;

import java.io.BufferedWriter;
import java.io.FileWriter;

import java.util.concurrent.TimeUnit;

public class PullApi {
  public static void main(String[] args){

    String appID = "<APP_ID>";
    String reportType = "<REPORT_TYPE>";
    String apiToken = "<API_TOKEN>";
    String from = "<FROM_DATE>";
    String to = "<TO_DATE>";
    String requestUrl = "https://hq.appsflyer.com/export/" + appID + "/" + reportType + "/v5?api_token=" + apiToken + "&from=" + from + "&to=" + to;

    OkHttpClient client = new OkHttpClient.Builder()
        .connectTimeout(30, TimeUnit.SECONDS)
        .readTimeout(30, TimeUnit.SECONDS)

        .build();

    Request request = new Request.Builder()
        .url(requestUrl)
        .addHeader("Accept", "text/csv")
        .build();

    try {
      Response response = client.newCall(request).execute();

      if(response.code() != 200) {
        if(response.code() == 404) {
          System.out.println("There is a problem with the request URL. Please make sure it is correct");
        }
        else {
          assert response.body() != null;
          System.out.println("There was a problem retrieving the data: " + response.body().string());
        }
      } else {
        assert response.body() != null;
        String data = response.body().string();
        BufferedWriter writer;

        writer = new BufferedWriter(new FileWriter(appID + "-" + reportType + "-" + from + "-to-" + to + ".csv"));
        writer.write("");
        writer.write(data);
        writer.close();
      }
      System.exit(0);
    } catch (Exception e) {
      e.printStackTrace();
      System.exit(1);
    }
  }
}

Informations supplémentaires

Particularités et limites

Particularité
Particularité Commentaires 
Type de jeton API requis AppsFlyerAdmin_us-en.pngJeton V1.0
Accès du réseau publicitaire N
Autorisations de l'agence Y
Transparence de l'agence Y
Devise spécifique à l'app Y
Fuseau horaire spécifique à l'app Y
Coût Les données de coût concernent uniquement les campagnes UA, elles ne s'appliquent pas aux campagnes de retargeting ou aux campagnes inactives (qui n'ont pas d'installations).
Actualisation des données En continu
Données historiques Y
Données non organiques Y
Données organiques Y
Limitations des taux

Limitation

Limitations de taille
  • Les appels d'API renvoient un max. de 200 000 lignes.
  • Si un rapport contient exactement 200 000 lignes, supposez que des lignes sont manquantes.
  • Effectuez plusieurs appels d'API, en utilisant des paramètres from/to qui incluent l'heure de la journée.  

Attention ! Les API Pull ne prennent en charge qu'un million de lignes pour les données brutes. Les rapports de données agrégées sont limités à 200 000 lignes. 

Changements de nom de campagne Les rapports API Pull ne prennent pas en charge les changements de nom de campagne

Code d'erreurs API et dépannage

Codes d'erreur et solutions
Statut Code Problème/message SOLUTION
OK 200 Fichier CSV vide
  • addtional_fields apparaît plus d'une fois dans l'URI
  • Assurez-vous que les dates de début et de fin sont au format aaaa-mm-jj
OK

200

 

Aucun jeton API trouvé dans l'URI

Demande incorrecte

400

L'historique des rapports bruts est limitée à 90 jours

Utilisez to et from pour limiter la plage de dates à 3 mois ou moins.

Demande incorrecte

400

Vous avez atteint le maximum d'appels API pour ce type de rapport

-
Non autorisé

401

Le jeton d'API fourni est invalide 

Demandez à un admin de vous fournir le jeton en cours.
Non autorisé

401

Le compte peut être suspendu

Connectez-vous au tableau de bord et vérifiez l'état du compte. 

Pas de résultat

404

La page d'erreur 404 d'AppsFlyer s'affiche

  • Vérifiez que l'ID d'app est correct. Les apps iOS doivent commencer par id.
  • Le jeton ne correspond pas à l'app. Êtes-vous sûr d'utiliser le bon jeton ?