API Push v4

  • Envoyez une notification ou un message à un seul appareil ou à une liste d'appareils

  • Le contenu du push ne peut être qu'un seul objet push au format JSON

  • Pour les fonctions liées aux tags/alias, veuillez vous référer à AppPushAPI.

Ceci est la dernière version de l'API Push. Les améliorations de la version v4 sont les suivantes :

  • Utilisez l'authentification HTTP Basic pour autoriser l'accès. Ainsi, toute la requête API peut être effectuée à l'aide d'outils HTTP courants, tels que curl et des extensions de navigateur.
  • Le contenu du push est au format JSON.

Limites de fréquence des requêtes

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

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

Validation des appels

Pour plus d'informations, consultez la méthode d'authentification

Adresse d'appel

POST v4/push
              
              POST v4/push

            
Afficher ce bloc de code dans la fenêtre flottante

Exemples de requêtes

En-tête de la requête

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

            
Afficher ce bloc de code dans la fenêtre flottante

Corps de la requête

{ "from": "push", "to": "all", "body": { "platform": "web", "notification": { "alert": "Hi,MTPush !", "web": { "alert": "web_push", "title": "web_push", "url": "http://www.google.com", "extras": { "web-key1": "web-value1" } } } }, "request_id": "12345678", "custom_args": { "business": "info" } }
              
              {
    "from": "push",
    "to": "all",
    "body": {
        "platform": "web",
        "notification": {
            "alert": "Hi,MTPush !",
            "web": {
                "alert": "web_push",
                "title": "web_push",
                "url": "http://www.google.com",
                "extras": {
                    "web-key1": "web-value1"
                }
            }
        }
    },
    "request_id": "12345678",
    "custom_args": {
        "business": "info"
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Paramètres de la requête

La structure des paramètres du push, détaillée dans le tableau suivant.

Mot-clé Type Option Description
from String Optionnel Expéditeur business actuel
to String ou Objet JSON Obligatoire Cible d'envoi
body Objet JSON Obligatoire Corps de la requête d'envoi
platform String ou Tableau JSON Obligatoire Plateforme de push
notification Objet JSON Optionnel
  • Le corps de la notification, c'est le contenu poussé au client.
  • Avec message, l'un des deux est obligatoire, ils ne peuvent pas coexister.
  • message Objet JSON Optionnel
  • Le corps du message, c'est le contenu poussé au client.
  • Avec notification, l'un des deux est obligatoire, ils ne peuvent pas coexister.
  • options Objet JSON Optionnel Paramètres de push
    request_id String Optionnel Champ optionnel personnalisé utilisé par le client pour identifier la requête et retourné dans la réponse.
    custom_args Objet JSON Optionnel Champs optionnels personnalisés par le client, retournés lors du callback.

    from

    L'expéditeur du business actuel. La valeur est de type String et est optionnelle.

    Exemples de requêtes

    { "from": "push" }
                  
                  {
        "from": "push"
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    to

    Objet de l'appareil cible du push, indiquant la liste des appareils à qui le push peut être envoyé. Confirmez l'objet de l'appareil cible. MTPush propose deux méthodes : Registration ID et diffusion.

    Cible du push

    Mot-clé Type Signification Description Remarque
    all String Diffusion Push à tous les appareils Push vers les appareils actifs dans les 30 derniers jours.
    registration_id Tableau JSON Registration ID Tableau. La relation entre plusieurs registration_id est OU, c'est-à-dire l'union. L'ID de l'appareil. Maximum de 1 000 messages par envoi.
    tag Tableau JSON Tag Tableaux. La relation entre plusieurs tags est OU, c'est-à-dire la concaténation. Utilisez des tags pour effectuer des sous-groupes d'attributs d'appareils ou d'utilisateurs.
  • Jusqu'à 20 tags par envoi.
  • Composition valide : lettres (sensible à la casse), chiffres, underscores, caractères chinois.
  • Limite : chaque tag limité à 40 octets. (Encodage UTF-8 pour la longueur)
  • tag_and Tableau JSON Tag AND Tableau. Plusieurs tags sont en relation ET, c'est-à-dire l'intersection. À distinguer des tags, jusqu'à 20 à la fois.
    tag_not Tableau JSON Tag NOT Tableau. Pour plusieurs tags, l'ensemble fusionné est d'abord calculé, puis le complémentaire est pris. Jusqu'à 20 par envoi.
    alias Tableau JSON Alias Tableau. Plusieurs alias sont en relation OU, c'est-à-dire concaténation. Identifiez un utilisateur avec un alias.
  • Un appareil ne peut être lié qu'à un alias et vice versa.
  • Jusqu'à 1 000 par envoi.
  • Composition valide : lettres (sensible à la casse), chiffres, underscores, caractères chinois.
  • Limite : chaque alias limité à 40 octets. (Encodage UTF-8 pour la longueur)

  • La relation implicite entre plusieurs valeurs dans un tableau est OU, c'est-à-dire la concaténation ; cependant, tag_and est différent car la relation entre plusieurs valeurs dans un tableau est ET, c'est-à-dire l'intersection.

    Si tag_not est utilisé seul, nous effectuerons le traitement tag_not parmi les utilisateurs de diffusion.

    Ces types peuvent coexister. La relation implicite entre plusieurs polynômes lors de la coexistence est ET, c'est-à-dire l'intersection. Par exemple :

    "to" : {"tag" : [ "tag1", "tag2"],
    "tag_and" : ["tag3", "tag4"],
    "tag_not" : ["tag5", "tag6"]
    }
    

    Calculez d'abord le résultat du champ "tag" tag1 ou tag2 = A;
    Puis calculez le résultat du champ "tag_and" tag3 et tag4 = B;
    Puis calculez le résultat du champ "tag_not" non (tag5 ou tag6) = C;
    Le résultat final de "to" est A et B et C.


    Exemples de requêtes

    • Push vers tous (diffusion):
    { "to": "all" }
                  
                  {
      "to": "all"
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante
    • Push vers plusieurs registration_id:
    { "to": { "registration_id": [ "4312kjklfds2", "8914afd2", "45fdsa31" ] } }
                  
                  {
      "to": {
        "registration_id": [
          "4312kjklfds2",
          "8914afd2",
          "45fdsa31"
        ]
      }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    body

    Le corps de la requête. Les champs pris en charge sont les suivants:

    Mot-clé Type Option Description
    platform String ou Tableau JSON Obligatoire Plateforme de push
    notification Objet JSON Optionnel
  • Le corps de la notification, c'est le contenu poussé au client.
  • Avec message, l'un des deux est obligatoire, ils ne peuvent pas coexister.
  • message Objet JSON Optionnel
  • Le corps du message, c'est le contenu poussé au client.
  • Avec notification, l'un des deux est obligatoire, ils ne peuvent pas coexister.
  • options Objet JSON Optionnel Paramètres de push

    platform

    MTPush prend actuellement en charge uniquement le push sur la plateforme Web, donc la valeur du mot-clé platform est "web".

    { "platform" : "web" }
                  
                  { "platform" : "web" }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    notification

    L'objet notification est l'un des objets de contenu de push (l'autre étant message) et est envoyé sur le web en tant que notification.

    Mot-clé Type Option Signification Description
    web Objet JSON Obligatoire Propriétés de la plateforme Paramètres de push de la plateforme, voir web

    web

    Notifications sur la plateforme Web

    Mot-clé Type Option Signification Description
    alert String ou Objet JSON Obligatoire Contenu Le contenu du message lui-même, spécifié ici, écrase l'information alert spécifiée par le niveau supérieur.
    url String Optionnel URL push web Adresse de redirection au clic sur la notification. Si elle est renseignée, elle doit être une URL valide.
    title String Optionnel Titre Titre du message
    extras Objet JSON Optionnel Champs étendus Vous pouvez personnaliser ici les informations Key/Value au format JSON pour un usage business.
    icon String Optionnel icône de notification Recommandé 192*192px, pas de limite obligatoire ; taille maximale 1M, formats : JPG, PNG, GIF, support Chrome, Firefox (Safari et Edge ne permettent pas la personnalisation par défaut)
    image String Optionnel Grande image pour la notification Recommandé 360*180px, pas de limite obligatoire ; taille maximale 1M, formats : JPG, PNG, GIF, Chrome, Edge supportés (Firefox et Safari non supportés)
    { "notification": { "web": { "alert": "hello, Push!", "title": "Test Push", "url": "http://www.google.com", "icon": "", "image": "", "extras": { "news_id": 134, "my_key": "une valeur" } } } }
                  
                  {
        "notification": {
            "web": {
                "alert": "hello, Push!",
                "title": "Test Push",
                "url": "http://www.google.com",
                "icon": "",
                "image": "",
                "extras": {
                    "news_id": 134,
                    "my_key": "une valeur"
                }
            }
        }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    message

    Messages In-App ou messages personnalisés. Cette partie du contenu n'est pas affichée dans le navigateur. Après réception, le SDK le transmet au Web, qui traite la logique business.

    Le message contient les champs suivants:

    Mot-clé Type Option Description
    msg_content String ou Objet JSON Obligatoire Contenu du message
    title String Optionnel Titre du message
    content_type String Optionnel Type de contenu du message
    extras Objet JSON Optionnel Paramètres optionnels au format JSON

    Exemple:

    { "message": { "msg_content": "Hi,Push", "content_type": "text", "title": "msg", "extras": { "key": "valeur" } } }
                  
                  {
      "message": {
        "msg_content": "Hi,Push",
        "content_type": "text",
        "title": "msg",
        "extras": {
          "key": "valeur"
        }
      }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    options

    Options de push. Les options suivantes sont disponibles:

    Mot-clé Type Option Signification Description
    time_to_live Int ou String Optionnel Durée de rétention du message hors ligne (secondes)
  • Si l'utilisateur est hors ligne lors du push, les messages hors ligne peuvent être conservés pendant la durée spécifiée pour être envoyés à nouveau lorsque l'utilisateur se connecte.
  • Par défaut 86400 (1 jour), maximum 15 jours. Si la valeur maximale supportée par le navigateur système est inférieure à la valeur transmise, la valeur maximale du système s'applique.
  • 0 signifie que les messages hors ligne ne sont pas conservés, seuls les utilisateurs en ligne reçoivent le push.
  • override_msg_id Long Optionnel ID du message à écraser Si le push actuel doit écraser un push précédent, renseignez ici le msg_id du push précédent pour obtenir l'effet d'écrasement, c'est-à-dire :
  • Le message hors ligne reçu pour ce msg_id sera le contenu écrasé. Même si le msg_id a déjà été reçu par l'utilisateur sur le web, si la barre de notification n'a pas été effacée, le nouveau message écrasera la notification précédente.
  • La fonction d'écrasement est effective pendant 1 jour. Si le msg_id spécifié n'existe pas dans ce délai, erreur 1003 retournée, opération d'écrasement invalide, le message n'est pas envoyé.
  • big_push_duration Int Optionnel Durée du push échelonné (minutes)
  • Aussi appelé push lent, il réduit la vitesse de push maximale, répartissant le push sur n minutes ; valeur max 1440.
  • Maximum 20 push échelonnés simultanés.
  • Si non défini, pas de push échelonné.
  • web_buttons Objet JSON Optionnel Ajouter des boutons aux notifications
  • Maximum 2 boutons.
  • Noms et liens de redirection configurables. Voir web_buttons.
  • multi_language Objet JSON Optionnel Paramètres de push multilingues Paramètres d'adaptation multilingue pour le contenu du push. Voir multi_language.
    third_party_channel Objet JSON Optionnel Informations de configuration du canal système Web Paramètre valide uniquement pour les utilisateurs configurés avec des canaux système. Voir third_party_channel.
    plan_id String Optionnel Identifiant du plan de push Une valeur d'identifiant de plan doit être créée au préalable, via la console ou l'API.
    cid String Optionnel Identifiant de la requête de push pour éviter les doublons Lettres, chiffres, underscores, tirets autorisés, 64 caractères max. Ce champ doit être unique pour un même AppKey.

    multi_language

    Ce champ correspond à la fonction de push multilingue du service Push EngageLab. Il vous permet d'envoyer un contenu de notification personnalisé selon la langue de l'utilisateur. En spécifiant plusieurs langues et leur contenu, titre et sous-titre iOS dans la requête, vous pouvez envoyer la notification adaptée à la langue de l'utilisateur.

    Paramètres de la requête
    Mot-clé Type Option Signification Description
    en string Optionnel Clé multilingue Correspond à la langue de l'utilisateur, voir l'annexe pour les codes de langue
    content string Optionnel Contenu du message Remplace notification.web.alert, message.msg_content selon la langue de l'utilisateur
    title string Optionnel Titre du message Remplace notification.web.title, message.title selon la langue de l'utilisateur
    Exemple de requête
    { "options": { "multi_language": { "en": { "content": "", "title": "" } } } }
                  
                  {
      "options": {
        "multi_language": {
          "en": {
            "content": "",
            "title": ""
          }
        }
      }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante
    Exemple de réponse
    En cas de succès : { } En cas d'échec : { "code": 400, "data": "", "message": "Information d'erreur" }
                  
                  En cas de succès :
    {
       
    }
    
    En cas d'échec :
    {   
        "code": 400,  
        "data": "",
      "message": "Information d'erreur"
    }   
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    web_buttons

    Utilisez le paramètre web_buttons pour décrire l'id, le texte, l'icône et l'url du bouton. Les descriptions des paramètres sont les suivantes :

    Mot-clé Type Options Signification Description
    id String Obligatoire ID du bouton Pris en charge à partir de Chrome 48+
    text String Obligatoire Texte du bouton Pris en charge à partir de Chrome 48+
    icon String Optionnel Icône du bouton Pris en charge à partir de Chrome 50+
    url String Obligatoire Lien de redirection du bouton Pris en charge à partir de Chrome 48+. Si web_buttons est utilisé, le champ url dans web ne prend pas effet

    Exemple d'appel :

    [ { "id": "like-button", "text": "Like", "icon": "http://i.imgur.com/N8SN8ZS.png", "url": "https://yoursite.com" }, { "id": "read-more-button", "text": "Read more", "icon": "http://i.imgur.com/MIxJp1L.png", "url": "https://yoursite.com" } ]
                  
                  [
      {
        "id": "like-button",
        "text": "Like",
        "icon": "http://i.imgur.com/N8SN8ZS.png",
        "url": "https://yoursite.com"
      },
      {
        "id": "read-more-button",
        "text": "Read more",
        "icon": "http://i.imgur.com/MIxJp1L.png",
        "url": "https://yoursite.com"
      }
    ]
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    third_party_channel

    Ce champ sert à renseigner l'information personnalisée du canal système Web. Le nom de la clé est w3push, la valeur est un Objet Json. L'Objet contient un seul champ distribution optionnel de type String

    Mot-clé Type Option Signification Description
    distribution Obligatoire String Lorsque Engagelab et le canal système coexistent, définissez la priorité de livraison. La valeur ne peut pas être une chaîne vide. La valeur par défaut est first_ospush.
  • first_ospush : le push est d'abord envoyé via le canal système, mais pas via Engagelab.
  • mtpush : le push est forcé via Engagelab.
  • secondary_push : Engagelab d'abord, puis canal système si Engagelab n'est pas en ligne (méthode recommandée).
  • ospush : push uniquement via le canal système.
  • Exemple :

    { "third_party_channel": { "w3push": { "distribution": "mtpush" } } }
                  
                  {
      "third_party_channel": {
        "w3push": {
          "distribution": "mtpush"
        }
      }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    request_id

    L'id de la requête. Le client identifie la requête et la réponse

    Exemples de requêtes

    { "request_id": "12345678" }
                  
                  {
      "request_id": "12345678"
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Exemple de réponse

    custom_args

    Champ optionnel défini par l'utilisateur. Non retourné dans la réponse, mais retourné lors du callback.

    { "custom_args": { "business": "info" } }
                  
                  {
      "custom_args": {
            "business": "info"
        }
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Paramètres de réponse

    Réponse de succès

    champ type option description
    request_id String Obligatoire La propriété de réponse est toujours présente. L'ID personnalisé soumis dans la requête est renvoyé tel quel ; s'il est omis, il s'agit généralement d'une chaîne vide.
    msg_id String Obligatoire L'ID du message pour identifier de façon unique un message.
    < HTTP/1.1 200 OK < Content-Type: application/json {"request_id": "18", "msg_id": "1828256757"}
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    {"request_id": "18", "msg_id": "1828256757"}
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Réponse d'échec

    Le code de statut http est 4xx ou 5xx et le corps de la réponse contient les champs suivants.

    Champ Type Option Description
    code int obligatoire le code d'erreur. Pour plus d'informations, voir la description return-code
    message String obligatoire détails de l'erreur
    { "code": 3002, "message": "Le champ Push.template doit être correctement défini lorsque le type est template" }
                  
                  {
        "code": 3002,
        "message": "Le champ Push.template doit être correctement défini lorsque le type est template"
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

    Réponse

    Code de statut HTTP

    Références : HTTP-Status-Code

    Code de retour

    Code Description Explication détaillée Code de statut HTTP
    20101 Paramètres de push invalides L'ID d'enregistrement est invalide ou n'appartient pas à l'appkey actuel 400
    21001 Seule la méthode HTTP Post est prise en charge La méthode Get n'est pas prise en charge 405
    21002 Paramètre obligatoire manquant Doit être corrigé 400
    21003 Valeur de paramètre invalide Doit être corrigé 400
    21004 Vérification échouée Doit être corrigé, voir : Vérification d'appel 401
    21005 Corps du message trop volumineux Doit être corrigé, limite de longueur Notification/Message est 4000 octets 400
    21007 Paramètre d'entrée illégal Le paramètre receiver_value est illégal 400
    21008 Paramètre app_key invalide Doit être corrigé. Vérifiez si l'appkey transmis est une chaîne de 24 caractères et s'il contient des espaces supplémentaires 400
    21009 Erreur système interne Veuillez contacter l'équipe de support 400
    21011 Aucune cible de push appropriée trouvée Vérifier le champ 'to' 400
    21015 Validation des paramètres de requête échouée Paramètres inattendus présents 400
    21016 Validation des paramètres de requête échouée Erreur de type de paramètre, ou longueur de paramètre dépasse la limite 400
    21030 Délai d'attente du service interne Réessayer plus tard 503
    21036 Erreur de paramètre Les messages de notification et les messages personnalisés ne peuvent pas être poussés simultanément 400
    21037 group_key invalide group_key n'est pas une chaîne de 24 caractères, ou le groupe d'applications correspondant n'existe pas 400
    21038 Erreur de permission de push VIP expiré ou non activé 400
    21039 Erreur de paramètre Web Button L'id, l'url ou le text du Web Button est vide 400
    21040 Nombre de Web Button supérieur à la limite Le nombre de Web Buttons ne peut pas dépasser 2 400
    21041 URL de Web Button invalide Le format d'url du Web Button est invalide 400
    21042 ID de Web Button en double Les id de Web Button dans la même requête ne peuvent pas être dupliqués 400
    21043 Erreur de permission de push L'application a une facture impayée 400
    21061 Échec de la validation du contenu ou de la configuration de callback Le contenu du push contient des mots sensibles, ou le callback_url demandé n'est pas configuré dans les adresses de callback de l'application actuelle 400
    21062 Le nombre de cibles de push du fichier dépasse la limite Le nombre de cibles de push dans le fichier dépasse le quota de l'application ou la limite système 400
    23006 Erreur de paramètre big_push_duration du push à débit fixe dépasse la valeur maximale de 1440 400
    23008 Interface limitée en débit QPS de l'interface push d'une seule application atteint la limite (500 qps) 400
    23009 Erreur de permission de push L'adresse IP de push actuelle n'est pas dans la liste blanche IP de l'application 400
    27000 Erreur mémoire interne Veuillez réessayer 500
    27001 Informations d'authentification invalides L'AppKey dans Basic Auth comporte 24 caractères mais l'application n'existe pas, ou les informations d'authentification de l'application sont invalides 401
    27006 override_msg_id n'existe pas Aucun enregistrement de push correspondant à override_msg_id n'a été trouvé 400
    27007 Format de override_msg_id incorrect override_msg_id est négatif ou a un format invalide 400
    27008 Erreur de paramètre Distribution dans third_party_channel n'est pas vide, mais le contenu alert de la notification est vide 400
    27009 Erreur de paramètre Format invalide ou vide pour distribution dans third_party_channel 400
    27104 L'ID de segment n'existe pas Le segment ID n'existe pas. Créez ou modifiez d'abord le segment 400
    27200 msg_id invalide Le format de msg_id est invalide 400
    27201 msg_id n'existe pas ou n'appartient pas à l'application Le msg_id n'existe pas, ou n'appartient pas à l'appkey actuel 400
    27202 Le message a déjà été retiré Le message correspondant à msg_id a déjà été retiré 400
    27203 Erreur système Erreur système, veuillez réessayer 400
    27204 Délai de retrait du message dépassé Le message a dépassé le délai de retrait autorisé 400
    27300 ID de plan de push invalide Le format de plan_id est invalide 400
    27301 Description du plan de push invalide La longueur de plan_description dépasse la limite 400
    27302 Le nombre de plans de push dépasse la limite Le nombre de plans de push disponibles a atteint la limite 400
    27303 L'ID de plan de push est vide plan_id ne peut pas être vide 400
    27304 L'ID de plan de push est trop long La longueur de plan_id dépasse la limite 400
    27305 Le plan de push n'existe pas Le plan_id fourni n'existe pas sous l'appkey actuel 400
    27306 Le nombre d'ID de plan de push dépasse la limite Le nombre de plan_ids dépasse la limite 400
    28100 Paramètre de tâche planifiée invalide Le paramètre schedule task est invalide 400
    28101 Échec de l'authentification de la tâche planifiée Basic Authentication a échoué 401
    28102 Paramètre de push planifié invalide Le paramètre push est vide ou invalide 400
    28103 Heure de push planifié invalide Le format de single time ou trigger time est incorrect 400
    28104 La tâche planifiée n'existe pas La schedule task demandée n'existe pas 404
    28105 La tâche planifiée n'a pas de cible de push Aucune cible de push ne correspond à l'heure planifiée 400
    28200 Erreur système de la tâche planifiée Une erreur interne inattendue s'est produite dans le service 500

    Restrictions de push

    Canal Longueur du sujet Longueur du contenu Autres indications
    Engagelab Pas de limite, mais limite sur la taille totale du corps du message Pas de limite, mais limite sur la taille totale du corps du message La longueur de Notification MTPush est limitée à 4000 octets.
    Canal système <20 caractères (40 caractères anglais)
  • Le centre de notifications et l'écran verrouillé affichent jusqu'à 110 caractères et 55 caractères chinois.
  • 62 caractères max et 31 caractères chinois dans la fenêtre pop-up, le reste est tronqué avec des points de suspension.
  • Aucun

    Code langue multi-langue

    Langue Code
    Anglais en
    Arabe ar
    Chinois (Simplifié) zh-Hans
    Chinois (Traditionnel) zh-Hant
    Tchèque cs
    Danois da
    Néerlandais nl
    Français fr
    Allemand de
    Hindi hi
    Italien it
    Japonais ja
    Coréen ko
    Malais ms
    Russe ru
    Espagnol es
    Thaï th
    Vietnamien vi
    Indonésien id
    Norvégien no
    Suédois sv
    Polonais pl
    Turc tr
    Hébreu he
    Portugais pt
    Roumain ro
    Hongrois hu
    Finnois fi
    Grec el
    Ukrainien uk
    Lao lo
    Portugais (Portugal) pt_PT
    Portugais (Brésil) pt_BR
    Espagnol (Argentine) es_AR
    Espagnol (Espagne) es_ES
    Espagnol (Amérique latine) es_419
    Icon Solid Transparent White Qiyu
    Contactez-nous