API d'evénements in-app de serveur à serveur (API HTTP)

Introduction

Cette API a pour fonction de vous permettre d'envoyer directement au serveur AppsFlyer les événements qui se produisent en dehors de l’application mobile.  Par exemple, si vous avez à la fois une interface web et une interface mobile, vous pouvez enregistrer tous les événements provenant de ces deux médias dans AppsFlyer. 

 Remarque

Le Type de contenu doit être défini comme application/json.

URL : https://api2.appsflyer.com/inappevent/{app_id}  

Exemple Android : https://api2.appsflyer.com/inappevent/com.appsflyer.myapp

Example iOS : https://api2.appsflyer.com/inappevent/id123456789

Il est important de vérifier que l’ID App sur iOS contient l'« id » principal avant l’ID ; dans le cas contraire, la demande se termine par HTTPS 200 OK, mais l’événement n’est pas enregistré.

Méthode : POST

En-tête - "authentication"= {dev-key}

La DevKey se trouve dans Tableau de bord >> Paramètres d'application  >> DevKey

iOS Android
{
    "appsflyer_id": {This is a mandatory field, AppsFlyer Device ID must be used },  // e.g. 1415211453000-6513894
    "idfa":{idfa},
    "customer_user_id": {customer_user_id}, // Customer User ID optional parameter
    "bundle_id":{bundle_id},
    "eventName": {The event name}, // e.g. "af_purchase"
    "eventValue": {A JSON containing a rich in-app event value - must be stringfied},
    "{

        \"af_revenue\":\"6\",
        \"af_content_type\":\"wallets\",
        \"af_content_id\":\"15854\"

    }",
    "eventCurrency": {Event currency}, // e.g "USD"
    "ip": {device IP},
    "eventTime": {Event timestamp in UTC}, // e.g  "2014-05-15 12:17:00.000"
    "af_events_api" :"true"
}

 Remarque

Tous les caractères réservés (https://tools.ietf.org/html/rfc3986#section-2.1) doivent être encodés en pourcentage avant la formation de l’URI.

Exigences

  1. Paramètres obligatoires : appsflyer_id (ID d' appareil AppsFlyer), eventName, eventValue et af_events_api
  2. Paramètres fortement recommandés : idfa pour iOS et advertising_id pour Android
  3. eventValue peut être avec une valeur vide, par exemple, "eventValue":"", (aucun espace n’est nécessaire)
  4. L'adresse IP (ip) doit être l’adresse IP de l'appareil mobile (pendant l’occurrence de l’événement)
  5. Le champ d’ID utilisateur client (customer_user_id) est un paramètre d’identifiant utilisateur, mappé avec le champ ID Utilisateur-Client dans les rapports de données. L'API SDK de l'ID Utilisateur-Client associe automatiquement cette valeur `a tous les événements in-app provenant du SDK. Veillez à inclure ce champ avec TOUS vos événements S2S pour profiter de la même fonctionnalité.

Synchronisation des événements

Les événements de serveur à serveur peuvent être envoyés en temps réel ou en mode batch

 Remarque

Lorsque vous utilisez S2S, vous ne pouvez pas envoyer d'événements directement à partir d'un JavaScript. Vous devez créer un serveur local, afin d'envoyer la demande à AppsFlyer.

Vous pouvez utiliser le paramètre eventTime facultatif pour spécifier l’heure d’occurrence de l’événement (fuseau horaire UTC). Si le paramètre n’est pas inclus dans le message, AppsFlyer utilise l’horodatage du message HTTPS reçu. 

eventTime utilise le format suivant : « aaaa-MM-jj HH:mm:ss.SSS » (par exemple "2014-05-15 12:17:00.000")  

En mode batch, pour enregistrer les événements avec leurs horodatages en temps réel, ils doivent tous être transmis à AppsFlyer avant 02h00 (UTC) le lendemain.   

 Remarque

Le nombre maximal de requêtes S2S est 60K par minute ou 1K par seconde. Contactez votre responsable de réussite client si vos exigences sont différentes.


Les événements avec des horodatages passés, qui n'ont pas été envoyés avant 2h00, sont enregistrés sous l'heure à laquelle ils ont été envoyés.

Exemple 1

Déclenchement de l'événement : 2  mai @ 22h00

Envoi de l'événement aux serveurs d'AppsFlyer : 3 mai @ 01h00

L'événement est enregistré dans la plate-forme d'AppsFlyer sous l'heure réelle à laquelle l’événement s’est produit (2 mai @ 22h00).

Exemple 2
Déclenchement de l'événement : 2 mai @ 22h00

Envoi de l'événement aux serveurs d'AppsFlyer : 4 mai @ 09h00

L'événement est enregistré dans la plate-forme d'AppsFlyer à l’heure à laquelle il a été envoyé au serveur AppsFlyer et non à l'heure à laquelle l’événement s’est produit (4 mai @ 09h00).

Codes de retour de service

200
OK lorsque la demande a été traitée par le système Appsflyer.
401
non autorisé lorsque la clé indiquée dans l’en-tête d’authentification n’est pas la DevKey pour cette application.
400
Demande incorrecte lorsqu'au moins un des critères de validation a échoué pour la demande
500
Erreur interne du serveur indique une erreur de serveur

Si vos serveurs sont protégés par un pare-feu, vous devrez mettre sur liste blanche les réponses entrantes provenant des plages d’adresse IP AWS pour recevoir les messages de retour.

Exemple du corps de la demande

{
    "appsflyer_id": "1415211453000-6513894",
	"advertising_id": "38412345-8cf0-aa78-b23e-10b96e40000d",
	"eventName": "af_purchase",
	"eventValue": 
	"{
		\"af_revenue\": \"6\",
		\"af_content_type\": \"wallets\",
		\"af_content_id\": \"15854\",
		\"af_quantity\" :\"1\"
     }",
	"eventCurrency": "USD",
	"ip": "1.2.3.4",
	"eventTime": "2014-05-15 12:17:00.000",
	"af_events_api" :"true"
}


Dans ce cas, AppsFlyer reçoit un événement in-app S2S qui représente un événement d'achat avec revenu, ainsi que des propriétés supplémentaires telles que le type de contenu, etc.

AppsFlyer est alors en mesure, selon la configuration de l’annonceur, d’envoyer de tels événements rich in-app aux sources médias aux fins de ciblage avancé, d'optimisation et de création de public.

Extraction de l’ID d'appareil AppsFlyer

appsflyer_id est un paramètre obligatoire dans les messages d’événement de serveur à serveur. AppsFlyer utilise ce paramètre pour attribuer l’événement à l’appareil d’origine et à la source média attribuée. 

Il existe plusieurs façons d’obtenir cet ID.

1. À partir de l’appareil mobile en utilisant l'API SDK d'AppsFlyer (Android / iOS)

2. Via l'API Pull ou Push (cliquez sur le lien pour plus d’informations sur l’ API Push ou l' API Pull)

3. Exportez le rapport d'installation Raw Data

 Astuce

Pendant le test des messages S2S, si vous utilisez des Raw Data ou des API Push ou Pull, recherchez l'enregistrement doté de la source média « s2s_test ». Il s’agit de votre appareil de test et son ID d'appareil AppsFlyer est l’ID dont vous avez besoin.

Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 4 sur 10