APERÇU DE L'API REST

Contraintes de base

  • L'API est conçue pour être conforme aux spécifications HTTP et REST. Par exemple, la requête de consultation utilise la méthode GET, et la requête de soumission utilise la méthode POST. Si une requête n'utilise pas la méthode HTTP correspondante, une erreur sera renvoyée.
  • Sauf indication contraire, la valeur des paramètres d'appel doit être transcodée en UTF-8 et encodée en URL.

Limites de fréquence des requêtes

Notre API impose des limites de fréquence d'appel afin de garantir la stabilité et l'équité du service. Les limites de QPS (requêtes par seconde) pour chaque AppKey sont les suivantes :

  • Limite standard : Un maximum de 500 requêtes par seconde.
  • Limite avancée : Si vous êtes abonné à notre offre payante et que votre AppKey payante nécessite une limite de QPS supérieure, veuillez contacter notre équipe commerciale : Sales@engagelab.com.

Centres de données et URL de base

À partir du 19 mars 2025, les développeurs qui accèdent nouvellement à l'API Push d'Engagelab sont invités à utiliser le nom de domaine suivant. L'URL de base d'origine avec le suffixe .cc peut toujours être utilisée, mais il est conseillé aux développeurs de passer au nom de domaine le plus récent.

Centre de données URL de base
Singapour https://pushapi-sgp.engagelab.com
Virginie, États-Unis https://pushapi-usva.engagelab.com
Francfort, Allemagne https://pushapi-defra.engagelab.com
Hong Kong, Chine https://pushapi-hk.engagelab.com

Lors de l'utilisation de l'API REST, il est nécessaire de combiner l'URL de base sélectionnée avec le chemin spécifique de l'API pour obtenir l'endpoint complet.

{URL de base}/{chemin API}
              
              {URL de base}/{chemin API}

            
Afficher ce bloc de code dans la fenêtre flottante

Ici, {URL de base} représente l'URL de base du centre de données choisi, et {chemin API} désigne le chemin d'endpoint API spécifique, tel que v4/devices/{registration_id}.

Exemple :

  • Supposons que le centre de données de Singapour soit sélectionné avec une URL de base https://pushapi-sgp.engagelab.com.
  • Si l'objectif est de supprimer les informations d'enregistrement pour un appareil spécifique, et que le chemin API est v4/devices/{registration_id}, alors l'endpoint complet de l'API serait :
https://pushapi-sgp.engagelab.com/v4/devices/{registration_id}
              
              https://pushapi-sgp.engagelab.com/v4/devices/{registration_id}

            
Afficher ce bloc de code dans la fenêtre flottante

Ici, {registration_id} représente l'identifiant d'enregistrement spécifique de l'appareil.

En utilisant cette approche, vous pouvez construire des URLs d'endpoint API complètes pour accéder à différents centres de données.

Méthode d'authentification

L'API REST d'Engagelab utilise l'authentification HTTP basic. L'approche de base consiste à ajouter Authorization dans l'en-tête HTTP :

Authorization: Basic base64_auth_string
              
              Authorization: Basic base64_auth_string

            
Afficher ce bloc de code dans la fenêtre flottante

Algorithme de génération de base64_auth_string : base64(appKey:masterSecret)
La chaîne composée de l'appKey, d'un deux-points et du masterSecret, puis convertie en base64.
Rendez-vous sur la page AppPush et récupérez les informations AppKey et Master Secret dans la page d'informations de l'APP.
image.png

Exemple d'authentification

Votre appKey est "c96f42e0d2e662e45d035ab1", le masterSecret est "df4d59e84eac2f9d53b36f12". Pour appeler l'API Push v4 via la commande curl, procédez comme suit :

curl --insecure -X POST -v https://pushapi-sgp.engagelab.com/v4/push -H "Content-Type: application/json" -u "c96f42e0d2e662e45d035ab1:df4d59e84eac2f9d53b36f12" -d '{ "from": "push", "to": "all", "body": { "platform": ["android","ios"], "notification": { "alert": "Hi,MTPush !", "notification": { "alert" :"Hello, Push!", "android": { "alert": "Hi, Push!", "title": "Envoyer vers Android", "builder_id": 1, "extras": { "newsid": 321 } }, "ios": { "alert": "Hi, MTPush!", "sound": "default", "badge": "+1", "extras": { "newsid": 321 } } } } }, "request_id": "12345678", "custom_args": "informations commerciales" }'
              
               curl --insecure -X POST -v https://pushapi-sgp.engagelab.com/v4/push 
-H "Content-Type: application/json" 
-u "c96f42e0d2e662e45d035ab1:df4d59e84eac2f9d53b36f12" 
-d '{
    "from": "push",
    "to": "all",
    "body": {
        "platform": ["android","ios"],
        "notification": {
            "alert": "Hi,MTPush !",
            "notification": {
                "alert" :"Hello, Push!",
                "android": {
                    "alert": "Hi, Push!",
                    "title": "Envoyer vers Android",
                    "builder_id": 1,
                    "extras": {
                        "newsid": 321
                    }
                },
                "ios": {
                    "alert": "Hi, MTPush!",
                    "sound": "default",
                    "badge": "+1",
                    "extras": {
                        "newsid": 321
                    }
                }
            }
        }
    },
    "request_id": "12345678",
    "custom_args": "informations commerciales"
}'

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de requête HTTP :

> POST /v4/push HTTP/1.1 > Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==
              
              > POST /v4/push HTTP/1.1
> Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==

            
Afficher ce bloc de code dans la fenêtre flottante
icon
Contactez-nous