API Messaging Insights

Ce document vous explique comment obtenir par programmation les indicateurs des messages envoyés et reçus par votre entreprise. L’API Messaging Insights est une extension de l’API Pages Insights qui vous permet d’obtenir les informations affichées dans l’onglet Statistiques de Page de votre Page Facebook.

Avant de commencer

Dans ce guide, nous partons du principe que vous avez lu la présentation de la plateforme Messenger et implémenté les composants nécessaires pour envoyer et recevoir des messages et des notifications.

Pour afficher les indicateurs d’une Page Facebook dont vous êtes propriétaire ou sur laquelle vous pouvez effectuer la tâche ANALYZE, votre application nécessite les éléments suivants :

  • L’ID de Page de la Page Facebook dont vous souhaitez voir les indicateurs
    • Pour la messagerie Instagram, il s’agit de la Page Facebook liée au compte professionnel Instagram
  • Un token d’accès de Page
  • Vous aurez également besoin des autorisations suivantes :
    • pages_messaging
    • pages_read_engagement
    • pages_show_list
    • read_insights
  • Accès standard

Pour afficher les indicateurs d’une Page Facebook dont vous n’êtes pas propriétaire ou sur laquelle vous ne pouvez pas effectuer la tâche ANALYZE, votre application nécessite les éléments suivants :

  • L’ID de la Page Facebook dont vous souhaitez voir les indicateurs
    • Pour la messagerie Instagram, il s’agit de la Page Facebook liée au compte professionnel Instagram
  • Un token d’accès de Page demandé par une personne autorisée à effectuer la tâche ANALYZE sur la Page
  • Les autorisations suivantes via Facebook Login :
    • pages_messaging
    • pages_read_engagement
    • pages_show_list
    • read_insights
  • Accès avancé

Limites

  • Pour qu’une nouvelle conversation soit comptabilisée, une personne doit avoir effectué une action, comme envoyer une réponse à votre entreprise. Tant que la personne n’effectue pas d’action, elle est la seule à voir la conversation et cette dernière n’est pas comptabilisée.

Lire les indicateurs de statistiques

Pour lire des informations concernant un ou plusieurs indicateurs, envoyez une requête GET au point de terminaison /PAGE-ID/insights, avec le paramètre metric contenant une liste des indicateurs que vous souhaitez voir, séparés par une virgule.

Exemple de requête

Formaté pour plus de lisibilité.
curl -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/insights
    ?metric=page_messages_new_conversations_unique,page_messages_blocked_conversations_unique 
    &access_token=PAGE-ACCESS-TOKEN"

En cas de succès, l’application reçoit la réponse JSON ci-dessous :

{ 
  "data": [ 
    { 
      "name": "page_messages_new_conversations_unique", 
      "period": "day", 
      "values": [ 
        { 
          "value": "42", 
          "end_time": "1665175977" 
        }, 
      ]
    },
    { 
      "name": "page_messages_blocked_conversations_unique", 
      "period": "day", 
      "values": [ 
        { 
          "value": "0", 
          "end_time": "1665175977" 
        }, 
      ]
    } 
  ],
}

Exemple de requête de période totale

La requête suivante permet de trouver le nombre total de nouvelles conversations uniques au cours d’une période donnée avec le paramètre period défini sur total_over_range et la période définie par les paramètres since et until dans l’appel d’API.

Formaté pour plus de lisibilité.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/insights/
    ?metric=page_messages_new_conversations_unique
    &since=UNIX-TIMESTAMP-START
    &until=UNIX-TIMESTAMP-STOP
    &period=total_over_range
    &access_token=PAGE-ACCESS-TOKEN"

En cas de réussite, votre application reçoit la réponse JSON suivante avec le nombre de nouvelles conversations uniques et la fin de la période :

{
  "data": [
    {
      "name": "page_messages_new_conversations_unique",
      "period": "total_over_range",
      "values": [
        {
          "value": 27
          "end_time": "1665175977"
        }
      ],
    }
  ]
}

Exemple de requête de répartition

L’exemple suivant permet de trouver le nombre total de tokens de notifications récurrentes au cours d’une période spécifique, regroupés par sujet et par fréquence.

curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/insights/
    ?metric=recurring_notifications_tokens   
    &since=UNIX-TIMESTAMP-START
    &until=UNIX-TIMESTAMP-STOP
    &period=total_over_range
    &breakdown=recurring_notifications_topic,recurring_notifications_frequency 
    &access_token=PAGE-ACCESS-TOKEN"

En cas de réussite, votre application reçoit la réponse JSON suivante avec des tokens regroupés par sujet (« newproducts » et « 10percentsale »), et la fréquence de messages disponible pour chaque sujet (« daily », « weekly » et « monthly » pour « newproducts », et « weekly » pour « 10percentsale ») :

{
  "data": [
    {
      "name": "recurring_notifications_tokens",
      "period": "total_over_range",
      "values": [ 
        {
          "value": 3,
          "end_time": "1665175977",
          "recurring_notifications_topic": "newproducts",
          "recurring_notifications_frequency": "daily"
        },
        {
          "value": 15,
          "end_time": "1665175977",
          "recurring_notifications_topic": "newproducts",
          "recurring_notifications_frequency": "weekly"
        },
        {
          "value": 8,
          "end_time": "1665175977",
          "recurring_notifications_topic": "newproducts",
          "recurring_notifications_frequency": "monthly"
        },
        {
          "value": 17,
          "end_time": "1665175977",
          "recurring_notifications_topic": "10percentsale",
          "recurring_notifications_frequency": "daily"
        },
        {
          "value": 14,
          "end_time": "1665175977",
          "recurring_notifications_topic": "10percentsale",
          "recurring_notifications_frequency": "weekly"
        },
      ]
    }
  ]
}

Paramètres de statistiques

Paramètre Description

breakdown

Dimensions selon lesquelles la réponse est groupée. Les valeurs possibles sont les suivantes :

NomDescription

campaign_id

Consultez vos données classées par ID de campagne. Exemples : « abc123 », « Campagne de messagerie d’été » et « Soldes de printemps 2 »

engagement_source

Consultez vos données classées par type d’interaction avec des notifications récurrentes. Exemples : ID de CTA principal et secondaire (selon le CTA actionné)

message_type

Consultez vos données classées par type de message envoyé par votre entreprise. Exemples : messages marketing

messaging_channel

Consultez vos données classées par canal de diffusion des messages. Exemples : Messenger et Instagram

recurring_notifications_entry_point

Consultez vos données classées par point d’entrée des notifications récurrentes. Exemples : dans la discussion, plugin de discussion, publicités qui renvoient à Messenger, plugin Checkbox, liens m.me ou ig.me et Page Facebook

recurring_notifications_frequency

Consultez vos données classées par fréquence de l’abonnement aux notifications récurrentes. Exemples : une fois par jour, par semaine ou par mois

recurring_notifications_topic

Consultez vos données classées par sujet des notifications récurrentes. Exemples : messages promotionnels, lancements de produits et bons plans

date_preset

Période relative pouvant être utilisée à la place de since et until. Valeurs possibles : last_week, last_month, last_quarter, etc. Découvrez d’autres valeurs dans le guide sur les statistiques de Page.

metric

Obligatoire.Liste des indicateurs à renvoyer, séparés par une virgule

period

Agrégation fournie dans la plage since/until ou date_preset. La valeur total_over_range associe une valeur unique à l’indicateur sur la période donnée. Valeurs possibles : day, week, month, days_28 ou total_over_range.

since

Date de début de la période souhaitée pour les données. L’heure de début pour la date sélectionnée est minuit. Format : YYYY-MM-DD. La valeur 2022-01-31 renvoie les données à partir du 31 janvier 2022 à minuit.

until

Date de fin de la période souhaitée pour les données. L’heure de fin pour la date sélectionnée est minuit. Format : YYYY-MM-DD. La valeur 2022-02-01 renvoie les données jusqu’au 31 janvier 2022 à 23 h 59.

Indicateurs disponibles

Les indicateurs suivants sont disponibles via l’API Messaging Insights :

Nom de l’indicateur metricDescription

page_messages_blocked_conversations_unique

Nombre de conversations avec la Page qui ont été bloquées.

page_messages_engagement

Nombre de fois où la clientèle a interagi avec les messages marketing envoyés par la Page Facebook de votre entreprise en appuyant sur un bouton call-to-action.

Valeurs possibles pour breakdown :

  • campaign_id
  • engagement_source
  • message_type
  • messaging_channel
  • recurring_notifications_topic

Cet indicateur est en développement.

page_messages_new_conversations_unique

Nombre de conversations par messages sur Messenger qui ont commencé avec des personnes qui n’avaient encore jamais échangé de messages avec votre entreprise.

page_messages_order_count

Nombre de fois où vous avez créé une commande dans des conversations par messages, ou dans des applications ou des sites web tiers utilisés pour gérer des conversations par messages.


Cet indicateur est en développement.

page_messages_paid_order_earnings

Montant approximatif de l’argent gagné grâce à des commandes créées via des conversations par messages, ou via des applications ou des sites web tiers utilisés pour gérer des conversations par messages. Les revenus effectifs peuvent être différents en raison des conversions de devises.


Cet indicateur est en développement.

page_messages_read_ratio

Nombre de messages marketing lus divisé par le nombre de messages marketing envoyés à partir de votre Page.

Il peut arriver que certaines lectures de messages ne soient pas comptabilisées, par exemple lorsque les client·es ont désactivé les confirmations de lecture.

Valeurs possibles pour breakdown :

  • campaign_id
  • message_type
  • messaging_channel
  • recurring_notifications_topic

Cet indicateur est en développement.

page_messages_reported_conversations_unique

Nombre de conversations provenant de votre Page qui ont été signalées par des personnes pour diverses raisons (spam ou contenu inapproprié, par exemple).

page_messages_sent

Nombre de messages marketing envoyés à la clientèle par la Page de votre entreprise.


Valeurs possibles pour breakdown :

  • campaign_id
  • messsage_type
  • messaging_channel
  • recurring_notifications_topic

Cet indicateur est en développement.

page_messages_total_messaging_connections

Nombre de personnes auxquelles votre entreprise peut envoyer des messages.


Cet indicateur donne le nombre de personnes qui ont déjà envoyé un message à votre entreprise sur Messenger, en excluant les personnes qui ont bloqué ou signalé votre entreprise sur Messenger. Votre capacité à envoyer des messages à des contacts peut être restreinte, par exemple par une limitation du nombre de messages que vous pouvez envoyer au cours d’une période donnée. De plus, cet indicateur ne comprend que les contacts établis depuis octobre 2016, date à laquelle les données sont devenues disponibles.

page_messages_with_business_outcomes

Nombre de connexions par messages avec au moins une commande créée.


Cet indicateur est en développement.

recurring_notifications_tokens

Nombre de fois où un compte s’est abonné afin de recevoir des messages marketing de votre entreprise. Si un même compte s’est abonné à plusieurs sujets, il sera comptabilisé pour chaque sujet.


Méthode de calcul : cet indicateur comptabilise le nombre de fois que des comptes ont accepté de recevoir des messages récurrents et y soustrait le nombre de fois que des comptes se sont désabonnés.


Valeurs possibles pour breakdown :

  • messaging_channel
  • recurring_notifications_frequency
  • recurring_notifications_topic

Cet indicateur est en développement.

En savoir plus sur les indicateurs en cours de développement.

Propriétés de la réponse

Les informations suivantes peuvent être renvoyées lors d’un appel à l’API Insights.

Propriété Description

data

tableau d’objets

Liste d’objets d’indicateurs.

name
chaîne

Nom de l’indicateur.

period
chaîne

Période au cours de laquelle les données ont été récoltées

values
tableau d’objets

Liste de données pour un indicateur.

value
nombre entier

Décompte pour l’indicateur demandé au cours de la période indiquée

end_time
horodatage unix

Horodatage UTC de l’heure de fin pour l’indicateur