API de Statistiques

info Ceci est la dernière version de l'API de Statistiques. Quelques améliorations dans la v4 :

  • Utilisation de l'authentification HTTP Basic pour l'autorisation d'accès. Ainsi, toute la requête API peut être réalisée à l'aide d'outils HTTP courants, comme : curl, extensions de navigateur.
  • Le contenu push utilise entièrement le format JSON.

Aperçu

L'API de Statistiques v4 fournit diverses fonctions de requête de données statistiques.

Authentification

Voir la présentation de l'API REST pour plus de détails Méthode d'authentification

Statistiques des messages

  • Interrogez les statistiques de chaque état dans le cycle de vie du message.
  • Les données statistiques de chaque message push peuvent être conservées pendant un mois maximum.

URL de l'API

GET v4/status/detail

Exemple de requête

curl -v https://pushapi-sgp.engagelab.com/v4/messages/details?message_ids=1613113584,1229760629 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/messages/details?message_ids=1613113584,1229760629 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              curl -v https://pushapi-sgp.engagelab.com/v4/messages/details?message_ids=1613113584,1229760629 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"

< GET /v4/messages/details?message_ids=1613113584,1229760629 HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

            
Afficher ce bloc de code dans la fenêtre flottante

Paramètres de la requête

Mots-clés Type Option Description
message_ids String requis
  • message_id. S'il y a plusieurs message_id, séparez-les par ",".
  • Jusqu'à 100 message_id sont pris en charge
  • Exemple de réponse

    < HTTP/1.1 200 OK < Content-Type: application/json { "1229760629": { "targets": 11, "sent": 11, "delivered": 10, "impressions": 8, "clicks": 2, "sub": { "notification": {}, "message": {}, "live_activity": {}, "voip": {}, "inapp_message": {} }, "plan_id": "", "pushContent": {} }, "1613113584": { "targets": 11, "sent": 11, "delivered": 10, "impressions": 8, "clicks": 2, "sub": { "notification": { "target": 1600, "sent": 1440, "delivered": 1280, "impressions": 1120, "click": 0, "sub_android": { "engageLab_android": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "huawei": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "xiaomi": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "oppo": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "vivo": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "meizu": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "fcm": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "honor": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 } }, "sub_ios": { "engageLab_ios": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "apns": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 } }, "sub_hmos": { "engageLab_hmos": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "harmonyos": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 } } }, "message": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0, "sub_android": {}, "sub_ios": {} }, "live_activity": { "targets": 1, "sent": 1, "delivered": 1, "impressions": 0, "clicks": 0, "sub_ios": { "engageLab_ios": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "apns": { "targets": 1, "sent": 1, "delivered": 1, "impressions": 0, "clicks": 0 } } } }, "plan_id": "engageLab_notification", "pushContent": { "android": { "title": "push", "content": "hello, Push!" }, "ios": { "title": "ios", "content": "pushContent", "subtitle": "engageLab_push" } } }, "1613113554": { "targets": 2, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0, "sub": { "notification": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "message": { "targets": 2, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0, "sub_android": { "engageLab_android": { "targets": 1, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "huawei": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "xiaomi": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "oppo": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "vivo": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "meizu": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "fcm": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "honor": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 } }, "sub_ios": { "engageLab_ios": { "targets": 1, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "apns": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 } } }, "live_activity": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "voip": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "inapp_message": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 } }, "plan_id": "engageLab_msg", "pushContent": { "message": { "title": "msg", "content": "push" } } } }
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    
    {
        "1229760629": {
            "targets": 11,
            "sent": 11,
            "delivered": 10,
            "impressions": 8,
            "clicks": 2,
            "sub": {
                "notification": {},
                "message": {},
                "live_activity": {},
                "voip": {},
                "inapp_message": {}
            },
            "plan_id": "",
            "pushContent": {}
        },
        "1613113584": {
            "targets": 11,
            "sent": 11,
            "delivered": 10,
            "impressions": 8,
            "clicks": 2,
            "sub": {
                "notification": {
                    "target": 1600,
                    "sent": 1440,
                    "delivered": 1280,
                    "impressions": 1120,
                    "click": 0,
                    "sub_android": {
                        "engageLab_android": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "huawei": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "xiaomi": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "oppo": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "vivo": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "meizu": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "fcm": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "honor": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        }
                    },
                    "sub_ios": {
                        "engageLab_ios": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "apns": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        }
                    },
                    "sub_hmos": {
                        "engageLab_hmos": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "harmonyos": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        }
                    }
                },
                "message": {
                    "targets": 100,
                    "sent": 90,
                    "delivered": 80,
                    "impressions": 70,
                    "clicks": 0,
                    "sub_android": {},
                    "sub_ios": {}
                },
                "live_activity": {
                    "targets": 1,
                    "sent": 1,
                    "delivered": 1,
                    "impressions": 0,
                    "clicks": 0,
                    "sub_ios": {
                        "engageLab_ios": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "apns": {
                            "targets": 1,
                            "sent": 1,
                            "delivered": 1,
                            "impressions": 0,
                            "clicks": 0
                        }
                    }
                }
            },
            "plan_id": "engageLab_notification",
            "pushContent": {
                "android": {
                    "title": "push",
                    "content": "hello, Push!"
                },
                "ios": {
                    "title": "ios",
                    "content": "pushContent",
                    "subtitle": "engageLab_push"
                }
            }
        },
        "1613113554": {
            "targets": 2,
            "sent": 0,
            "delivered": 0,
            "impressions": 0,
            "clicks": 0,
            "sub": {
                "notification": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                },
                "message": {
                    "targets": 2,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0,
                    "sub_android": {
                        "engageLab_android": {
                            "targets": 1,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "huawei": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "xiaomi": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "oppo": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "vivo": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "meizu": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "fcm": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "honor": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        }
                    },
                    "sub_ios": {
                        "engageLab_ios": {
                            "targets": 1,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "apns": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        }
                    }
                },
                "live_activity": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                },
                "voip": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                },
                "inapp_message": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                }
            },
            "plan_id": "engageLab_msg",
            "pushContent": {
                "message": {
                    "title": "msg",
                    "content": "push"
                }
            }
        }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Paramètres de la réponse

    La réponse réussie est un objet JSON, la clé étant le message_id. Chaque message doit inclure les statistiques du cycle de vie pour chaque phase :

    | Mots-clés | Type | Option | Description |

    Mots-clés Type Options Signification
    targets Int64 Requis Cibles valides. Nombre d'appareils cibles après filtrage du public cible sélectionné pour validité.
    sent Int64 Requis Nombre d'envois. Nombre d'appareils pour lesquels le serveur EngageLab a créé avec succès une tâche d'envoi parmi les appareils cibles valides.
    delivered Int64 Requis Nombre de livraisons. Nombre d'appareils auxquels le message de notification a été effectivement livré. Les livraisons après 5 jours ne sont pas comptabilisées. Pour Huawei, Meizu et iOS, une configuration de callback est nécessaire pour plus de précision.
    impressions Int64 Requis Nombre d'impressions. Nombre d'appareils sur lesquels le message de notification a été affiché avec succès. Les impressions après 5 jours ne sont pas comptabilisées.
    clicks Int64 Requis Nombre de clics. Nombre de fois où le message de notification a été cliqué par les utilisateurs après affichage réussi. Les clics après 5 jours ne sont pas comptabilisés.
    sub Object Requis Indicateurs détaillés des données statistiques, voir tableau ci-dessous.
  • notification : Statistiques globales des données de type notification barre.
  • message : Statistiques globales des données de message personnalisé.
  • live_activity : Statistiques globales des données de message d'activité en direct.
  • voip : Statistiques globales des données de message voip.
  • plan_id String Requis ID du plan push, identifie le type de plan push auquel appartient le message
    pushContent Object Requis Détails du contenu push, incluant les informations de contenu push pour différentes plateformes :
    - android : contenu push pour Android (champs tels que title et content)
    - ios : contenu push pour iOS (champs tels que title, content et subtitle)
    - message : contenu de message personnalisé (champs tels que title et content)
    indicateur
    Mots-clés Type Option Description
    sub_android Object optionnel Statistiques et synthèse des canaux push Android
    engageLab_android Object optionnel Statistiques et synthèse du canal Android EngageLab
    huawei Object optionnel Statistiques et synthèse des canaux Huawei
    honor Object optionnel Statistiques et synthèse des canaux Honor
    xiaomi Object optionnel Statistiques et synthèse du canal Xiaomi
    oppo Object optionnel Statistiques et synthèse du canal OPPO
    vivo Object optionnel Statistiques et synthèse du canal vivo
    meizu Object optionnel Statistiques et synthèse du canal Meizu
    fcm Object optionnel Statistiques et synthèse du canal FCM
    sub_ios Object optionnel Statistiques et synthèse des canaux push Apple
    engageLab_ios Object optionnel Statistiques et synthèse du canal iOS EngageLab
    apns Object optionnel Statistiques et synthèse du canal APNs iOS
    sub_hmos Object optionnel Statistiques et synthèse des canaux push Harmony
    engageLab_hmos Object optionnel Statistiques et synthèse du canal Harmony EngageLab
    harmonyos Object optionnel Statistiques et synthèse du canal HarmonyOS

    Statistiques des plans push

    • Cette interface permet d'obtenir des indicateurs statistiques détaillés du plan push. Elle prend en charge la requête par lot des données du cycle de vie complet de plusieurs plans sur la plage de dates spécifiée, incluant des indicateurs de subdivision multi-dimensionnels (plateforme/fabricant/type de message).

    Adresse d'appel

    GET v4/status/plan/detail

    Exemple de requête

    GET /v4/status/plan/detail?plan_ids=push_20231101,push_20231102&start_date=2023-11-01&end_date=2023-11-07
                  
                  GET /v4/status/plan/detail?plan_ids=push_20231101,push_20231102&start_date=2023-11-01&end_date=2023-11-07
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Paramètres de la requête

    Nom du paramètre Type Requis Description
    plan_ids string Oui Liste des IDs de plans push, séparés par des virgules pour plusieurs IDs. Jusqu'à 100 IDs sont pris en charge.
    start_date string Oui Date de début des statistiques (Format : yyyy-MM-dd). Doit respecter :
  • 1. Date de fin >= Date de début
  • 2. Intervalle ≤ 31 jours
  • end_date string Oui Date de fin des statistiques (Format : yyyy-MM-dd)

    Description des paramètres de retour

    Réponse réussie

    • L'objet retourné est une paire clé-valeur, et le nom de la clé est le plan_id demandé.
    • Chaque objet correspondant à un plan_id contient les champs suivants :
    Nom du paramètre Type Description
    targets int64 Nombre d'appareils cibles valides (total après déduplication et filtrage de validité)
    sent int64 Nombre d'appareils pour lesquels la tâche d'envoi a été effectivement créée
    delivered int64 Nombre d'appareils effectivement livrés (seules les données dans les 5 jours sont comptabilisées)
    impressions int64 Nombre d'impressions du message (seules les données dans les 5 jours sont comptabilisées)
    clicks int64 Nombre de clics utilisateurs (seules les données dans les 5 jours sont comptabilisées)
    sub object Statistiques de subdivision par type de message (structure ci-dessous)
    • Structure de l'objet sub

      Type de message Description Sous-structure
      notification Statistiques des messages barre de notification Contient sub_android (statistiques fabricants Android)/sub_ios (statistiques iOS)
      message Statistiques des messages personnalisés Contient sub_android/sub_ios
      live_activity Statistiques des messages d'activité en direct Contient uniquement sub_ios
      voip Statistiques des messages VOIP Contient uniquement sub_ios
    • Champs statistiques des fabricants de plateforme

      Nom du paramètre Type Description
      targets int64 Nombre d'appareils cibles valides pour le fabricant correspondant
      sent int64 Nombre réel d'envois via le canal du fabricant
      delivered int64 Nombre réel de livraisons via le canal du fabricant
      impressions int64 Nombre d'impressions via le canal du fabricant
      clicks int64 Nombre de clics via le canal du fabricant

    Exemple de réponse

    Réponse réussie

    { "push_20231101": { "targets": 1500, "sent": 1450, "delivered": 1400, "impressions": 1350, "clicks": 120, "sub": { "notification": { "sub_android": { "huawei": { "targets":200, "sent":190, "delivered":185, "impressions":180, "clicks":15 }, "xiaomi": { "targets":180, "sent":175, "delivered":170, "impressions":165, "clicks":10 } }, "sub_ios": { "apns": { "targets":300, "sent":295, "delivered":290, "impressions":285, "clicks":25 } } }, "live_activity": { "sub_ios": { "apns": { "targets":50, "sent":48, "delivered":45, "impressions":40, "clicks":5 } } } } } }
                  
                  {
      "push_20231101": {
        "targets": 1500,
        "sent": 1450,
        "delivered": 1400,
        "impressions": 1350,
        "clicks": 120,
        "sub": {
          "notification": {
            "sub_android": {
              "huawei": { "targets":200, "sent":190, "delivered":185, "impressions":180, "clicks":15 },
              "xiaomi": { "targets":180, "sent":175, "delivered":170, "impressions":165, "clicks":10 }
            },
            "sub_ios": {
              "apns": { "targets":300, "sent":295, "delivered":290, "impressions":285, "clicks":25 }
            }
          },
          "live_activity": {
            "sub_ios": {
              "apns": { "targets":50, "sent":48, "delivered":45, "impressions":40, "clicks":5 }
            }
          }
        }
      }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Réponse échouée

    { "error": { "code": 21003, "message": "La valeur du paramètre est invalide" } }
                  
                  {
      "error": {
        "code": 21003,
        "message": "La valeur du paramètre est invalide"
      }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Statistiques des utilisateurs

    • Fournit les données statistiques des utilisateurs sur une certaine période des deux derniers mois : Inclut les nouveaux utilisateurs, utilisateurs en ligne et utilisateurs actifs.
    • Unité de temps : HOUR, DAY, MONTH.

    URL de l'API de requête

    GET v4/status/users

    Exemple de requête

    curl -v https://pushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/users?time_unit=DAY&start=2014-06-10&duration=3 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
                  
                  curl -v https://pushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
    
    < GET /v4/users?time_unit=DAY&start=2014-06-10&duration=3 HTTP/1.1
    < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Paramètres de la requête

    Mots-clés Type Option Description
    time_unit String requis unité de temps :
  • HOUR
  • DAY
  • MONTH
  • start String requis Heure de début
  • Si l'unité est heure, l'heure de début est l'heure (incluant le jour, et 0 doit être ajouté si moins de deux chiffres). Exemple : 2022-06-11 09
  • Si l'unité est jour, la date de début est le jour. Exemple : 2022-06-11
  • Si l'unité est mois, la date de début est le mois. Exemple : 2022-06
  • duration String requis Durée
  • Si l'unité est jour, il s'agit d'un nombre continu de jours. etc.
  • Seules les informations utilisateur des 60 derniers jours peuvent être interrogées. Si l'unité de temps est HOUR, seuls les résultats statistiques du jour en cours peuvent être affichés.
  • Exemple de réponse

    < HTTP/1.1 200 OK < Content-Type: application/json { "time_unit": "DAY", "start": "2014-06-10", "duration": 3, "items": [{ "time": "2014-06-12", "android": { "new": 1, "active": 1, "online": 2 }, "ios": { "new": 1, "active": 1, "online": 2 }, "hmos": { "new": 1, "active": 1, "online": 2 } }] }
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    {
        "time_unit": "DAY",
        "start": "2014-06-10",
        "duration": 3,
        "items": [{
            "time": "2014-06-12",
            "android": {
          "new": 1,
                "active": 1,
                "online": 2
            },
        "ios": {
          "new": 1,
                "active": 1,
                "online": 2
        },
        "hmos": {
          "new": 1,
          "active": 1,
          "online": 2
        }
        }]
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Paramètres de la réponse

    La réponse réussie est un objet JSON :

    Mots-clés Type Options Description
    time_unit String requis unité de temps
  • HOUR
  • DAY
  • MONTH
  • start String requis Heure de début.
  • Si l'unité est heure, l'heure de début est l'heure (incluant le jour, et 0 doit être ajouté si moins de deux chiffres). Exemple : 2022-06-11 09
  • Si l'unité est jour, la date de début est le jour. Exemple : 2022-06-11
  • Si l'unité est mois, la date de début est le mois. Exemple : 2022-06
  • duration String requis Durée
  • Si l'unité est jour, il s'agit d'un nombre continu de jours. etc.
  • Seules les informations utilisateur des 60 derniers jours peuvent être interrogées. Si l'unité de temps est HOUR, seuls les résultats statistiques du jour en cours peuvent être affichés.
  • items JSON Array requis Résultats statistiques sur la plage de requête par durée
    • Description du champ items :
      • android : Statistiques de synthèse des données de la plateforme Android.
      • ios : Statistiques de synthèse des données de la plateforme Apple.
      • hmos : Statistiques de synthèse des données de la plateforme HarmonyOS.
    Mots-clés Type Option Description
    new Int64 optionnel Nouveaux utilisateurs
    active Int64 optionnel Utilisateurs actifs

    Interroger le statut du cycle de vie du message

    • Interrogez le statut du cycle de vie du message pour l'appareil correspondant au message_id.
    • Les statistiques de chaque message push sont conservées jusqu'à un mois.

    Point de terminaison de l'API

    GET v4/status/message

    Exemple de requête

    curl -v https://pushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
                  
                  curl -v https://pushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
    
    < GET /v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 HTTP/1.1
    < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Paramètres de la requête

    Mots-clés Type Option Description
    message_id String Requis ID du message
    registration_ids String Requis
  • ID de l'appareil. S'il y a plusieurs registration_id, séparez-les par ",".
  • Jusqu'à 1000 registration_id sont pris en charge.
  • Description des paramètres de la réponse

    Une réponse réussie est un objet JSON contenant le statut actuel du message pour chaque registration_id. En cas d'erreur, l'information sera incluse dans error_message.

    Mots-clés Type Options Signification
    status String Optionnel Valeurs possibles :
  • plan : Cible du plan
  • target_valid : Cible valide
  • target_invalid : Cible invalide
  • sent : Envoyé
  • sent_failed : Échec d'envoi
  • delivered : Livré
  • delivered_failed : Échec de livraison
  • impression : Impression
  • click : Clic
  • error_message String Optionnel Message d'erreur, disponible uniquement pour certains statuts.
    error_code Int64 Optionnel Code d'état d'erreur, disponible uniquement pour certains statuts.
    itime Int64 Optionnel Heure de mise à jour du statut, en secondes.
    channel String Optionnel Informations sur le canal via lequel le message est poussé.

    Exemple de réponse

    Réponse réussie

    < HTTP/1.1 200 OK < Content-Type: application/json { "1507bfd3a7c568d4761": { "itime": 1762331775, "channel": "FCM", "status": "delivered" }, "17259fd3a7c568d4371": { "error_code": 21003, "error_message": "Le `registration_id` n'appartient pas à l'appkey" }, "17259fd3a7c568d4787":{ "itime": 1762331775, "status": "sent_failed", "error_code": 401, "error_message": "token invalide", "channel": "FCM" }, "17259fd3a7c568d4372": { "error_code": 21061, "error_message": "aucun statut effectif" } }
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    {
        "1507bfd3a7c568d4761": {
            "itime": 1762331775,
            "channel": "FCM",
            "status": "delivered"
        },
        "17259fd3a7c568d4371": {
            "error_code": 21003,
            "error_message": "Le `registration_id` n'appartient pas à l'appkey"
        },
        "17259fd3a7c568d4787":{
            "itime": 1762331775,
            "status": "sent_failed",
            "error_code": 401,
            "error_message": "token invalide",
            "channel": "FCM"		
        },
        "17259fd3a7c568d4372": {
            "error_code": 21061,
            "error_message": "aucun statut effectif"
        }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Réponse échouée

    { "error": { "code": 21003, "message": "La valeur du paramètre est invalide" } }
                  
                  {
      "error": {
        "code": 21003,
        "message": "La valeur du paramètre est invalide"
      }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Requête par lot du statut du cycle de vie du message

    • Requête par lot du statut du cycle de vie du message pour un seul registration_id sous chaque message_id. Si plusieurs registration_id existent sous le même message_id, les message_id correspondants seront retournés dans multi_regid_message_ids.
    • Les statistiques de chaque message push sont conservées jusqu'à un mois.

    Point de terminaison de l'API

    GET v4/status/batch/message

    Exemple de requête

    curl -v https://pushapi-sgp.engagelab.com/v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
                  
                  curl -v https://pushapi-sgp.engagelab.com/v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
    
    < GET /v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 HTTP/1.1
    < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Paramètres de la requête

    Mots-clés Type Option Description
    message_ids String Requis
  • IDs des messages. Pour plusieurs message_id, séparez-les par ",".
  • Jusqu'à 100 message_id sont pris en charge.
  • Description des paramètres de la réponse

    La réponse réussie est un tableau d'objets ; chaque élément représente le statut actuel sous un seul message_id (et éventuellement un seul registration_id). En cas d'exception, elle sera incluse dans error_message.

    Mots-clés Type Options Signification
    message_id String Requis Le message_id du message.
    registration_id String Optionnel Le seul registration_id interrogé.
    status String Optionnel Valeurs possibles :
  • plan
  • target_valid
  • target_invalid
  • sent
  • sent_failed
  • delivered
  • delivered_failed
  • impression
  • click
  • itime Int64 Optionnel Heure de mise à jour du statut, en secondes.
    channel String Optionnel Informations sur le canal via lequel le message est poussé.
    error_message String Optionnel Message d'erreur, disponible uniquement pour certains statuts.
    error_code Int64 Optionnel Code d'état d'erreur, disponible uniquement pour certains statuts.

    Exemple de réponse

    Réponse réussie

    < HTTP/1.1 200 OK < Content-Type: application/json [ { "message_id": "261585110", "error_message": "Plusieurs `registration_id` trouvés sous le même `message_id`.", "error_code": 21003 }, { "message_id": "261585111", "registration_id": "170976fa8ab73279b2f", "status": "sent", "itime": 1766042841, "channel": "XiaoMi" }, { "message_id": "261585123", "registration_id": "170976fa8ab73279b2f", "status": "click", "itime": 1766047747, "channel": "EngageLab" }, { "message_id": "1613113585", "error_message": "Le `message_id` est invalide ou n'existe pas.", "error_code": 21003 }, { "message_id": "1613113585", "error_message": "aucun statut effectif", "error_code": 21061 } ]
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    [
        {
            "message_id": "261585110",
            "error_message": "Plusieurs `registration_id` trouvés sous le même `message_id`.",
            "error_code": 21003
        },    
        {
            "message_id": "261585111",
            "registration_id": "170976fa8ab73279b2f",
            "status": "sent",
            "itime": 1766042841,
            "channel": "XiaoMi"
        },   
        {
            "message_id": "261585123",
            "registration_id": "170976fa8ab73279b2f",
            "status": "click",
            "itime": 1766047747,
            "channel": "EngageLab"
        },
        {
            "message_id": "1613113585",
            "error_message": "Le `message_id` est invalide ou n'existe pas.",
            "error_code": 21003
        },
        {
            "message_id": "1613113585",
            "error_message": "aucun statut effectif",
            "error_code": 21061
        }
    ]
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Réponse échouée

    { "error": { "code": 21003, "message": "La valeur du paramètre est invalide" } }
                  
                  {
      "error": {
        "code": 21003,
        "message": "La valeur du paramètre est invalide"
      }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Code de réponse

    Code d'état HTTP

    Documents de référence : HTTP-Status-Code

    Codes de retour

    Code Description Description détaillée Code d'état HTTP
    0 succès requête réussie 200
    21001 La méthode n'est pas prise en charge ou url erronée Erreur de méthode de requête (GET/POST) ou url erronée (interface inexistante) 404
    21003 La valeur du paramètre est invalide Valeur du paramètre illégale 400
    23001 Échec de l'authentification de base Échec de l'autorisation HTTP Basic 401
    23002 Paramètre manquant ! Paramètre nécessaire manquant ! 400
    23004 La valeur de time_unit ne correspond pas à start ! Les valeurs de time_unit et du paramètre start ne correspondent pas 400
    23007 Seule la requête des message_id dans les 30 jours est prise en charge ! Seuls les messages des 30 derniers jours peuvent être interrogés 400
    23100 Erreur serveur Erreur interne du système 500
    27000 Délai de réponse du serveur, veuillez réessayer plus tard Erreur interne du système 500
    27201 msgid inexistant ou n'appartient pas à cette app Msgid inexistant ou n'appartient pas à cette app 400
    icon
    Contactez-nous