Connecteurs et appels d'API (NOUVEAU)

Nous proposons plusieurs appels API que vous pouvez utiliser pour envoyer des informations à notre plateforme (comme des répondants ou réponses), ou pour obtenir des informations de notre plateforme (par exemple des réponses). Pour ce faire, vous devez configurer un connecteur API dans la plateforme. Grâce à ce connecteur, vous pouvez obtenir automatiquement chaque jour un nouveau token (jeton) qui peut être utilisé pour effectuer des appels API.

IMPORTANT

Si vous rencontrez des problèmes avec les connecteurs et les appels API, veuillez contacter support@hellocustomer.com.

Veillez à indiquer l'appel que vous utilisez et, si possible, le corps du message. N'envoyez pas les détails de l'autorisation, car cela serait considéré comme une violation de la sécurité. 

DANS CET ARTICLE

  1. Mettre en place un connecteur API
    1. Comment s'y rendre
    2. Gérer les connecteurs d'API
  2. Documentation sur Postman
  3. Renouvellement automatique du token
  4. Appels API disponibles
    1. Read : questions
    2. Add: answers
    3. Read: answers progress
    4. Read: answers
    5. Read: metrics
    6. Read: not delivered
    7. Read: unsubscribed
    8. Add: participant
    9. Read: participants progress
    10. Read: teams
    11. Lire : utilisateurs
    12. Ajouter : utilisateur
    13. Affecter un utilisateur à une (des) équipe(s)
    14. Supprimer : utilisateur
  5. Questions fréquemment posées
    1. Où trouver le touchpointuniqueid
    2. Où trouver le tenantuniqueid
    3. Quels sont les codes linguistiques à utiliser ?

1. Mettre en place un connecteur API

1a. Comment s'y rendre

Étape 1: Depuis l'écran d'accueil de votre compte Hello Customer, cliquez sur l'icône Configuration portail dans le menu de navigation de gauche.

Étape 2: Ouvrir les connecteurs API

  • Cliquez sur Intégrations dans le menu de gauche.

  • Cliquez sur la tuile des connecteurs API sous Intégrations.

1b. Gérer les connecteurs API

En tant qu'administrateur, vous pouvez configurer au moins un connecteur API dans votre environnement. Si cela n'est pas suffisant, contactez customer success manager ou support@hellocustomer.com.

Lorsqu'il n'y a pas encore de connecteur API, vous arrivez sur un écran vide avec un bouton Créer un connecteur API. Une fois qu'il y a un connecteur API, vous n'aurez plus que le bouton en haut à droite pour en créer un nouveau

Pour créer un connecteur API, cliquez sur le bouton bleu afin d'ouvrir un petit assistant de configuration d'un connecteur API. Quelques points à garder à l'esprit :

  1. Donnez un nom clair à votre connecteur.
  2. Activez l'IP fixe si nécessaire. Une fois activée, vous devez spécifier la plage d'adresses IP à partir de laquelle les appels API peuvent être effectués. Seule cette adresse IP pourra effectuer des appels API. Vous pouvez utiliser une plage IP, par exemple 152.23.251.23/28 (notation CIDR).
  3. Choisissez le privilèges pour votre connecteur API. Ceci spécifie quels appels API peuvent être effectués avec les jetons générés par ce connecteur API.
    1. read:questions - obtenez toutes vos questions d'un enquête.
    2. add: answers - ajouter des réponses provenant d'une autre source à un site enquête dans la plate-forme Hello Customer et connaître l'état d'avancement de ce téléchargement.
    3. read:answers - obtenir des réponses sur la plateforme Hello Customer .
    4. read:metrics - obtenir un résumé des principales mesures (NPS, CSAT et CES) de votre enquête.
    5. read:participants - vous permet d'obtenir une liste de tous les courriels d'enquête qui n' ont pas été délivrés et de toutes les personnes qui se sont désinscrites de votre enquête.
    6. add:participants - permet d'ajouter des participants à un site Hello Customer enquête et de connaître l'état d'avancement du téléchargement de ces participants.
    7. read: teams - obtenir toutes les équipes de votre environnement. Cet appel renvoie tous les identifiants uniques de vos équipes, qui peuvent être utilisés pour d'autres appels, par exemple dans l'appel read:metrics pour obtenir le résumé des principales mesures (NPS, CSAT et CES) pour une équipe spécifique.
    8. read:users - permet d'obtenir tous les utilisateurs faisant partie de votre environnement. Cet appel renvoie tous les identifiants uniques des utilisateurs, qui peuvent être utilisés pour d'autres appels de l'API, tels que l'affectation d'un utilisateur à une ou plusieurs équipes.
    9. gérer:utilisateurs - ce privilège vous permet d'ajouter des utilisateurs à la plateforme, d'affecter un utilisateur à une ou plusieurs équipes et de supprimer des utilisateurs.

Vous pouvez modifier un connecteur API à l'aide du crayon pour, par exemple, ajouter des privilèges supplémentaires. Il est possible de supprimer le connecteur API lorsque vous n'en avez plus besoin en cliquant sur la corbeille.


... retour au début


2. Documentation sur Postman

Il existe un espace de travail public sur Postman où vous pouvez trouver tous les appels d'API et des informations sur la façon de les utiliser. Accédez à cet espace de travail ici.

... retour au début


3. Renouvellement automatique du token

Une fois que vous avez configuré un connecteur API dans la plateforme, vous pouvez renouveler automatiquement votre token chaque jour. Pour ce faire, vous avez besoin de l'ID client et du Secret client fournis dans la plateforme.


Caractéristiques Appel API pour demander une nouvelle token:

  • Type : POST
  • URL : https://api-v4.hellocustomer.com/token
  • Corps (x-www-form-urlencoded) :
    • grant_type : client_credentials
    • client_id : identifiant du client de votre connecteur API disponible dans la plateforme
    • client_secret : secret du client de votre connecteur API disponible dans la plateforme
    • audience: hellocustomer

Vous pouvez renouveler votre token tous les jours à 00:00 UTC. Le même token reste valide jusqu'au lendemain 00:00 UTC, mais vous ne pouvez demander qu'un seul token par jour. Par conséquent, vous devez mettre en cache votre token demandé pendant 24 heures et mettre en place un processus pour renouveler le token chaque jour après 00:00 UTC.

Voici un exemple en Python de la façon dont vous pouvez renouveler votre token et le mettre en cache pendant 24 heures.

— Config file "config.py" with some settings used by API client

CLIENT_ID = "put_your_client_id_generated_via_platform_here"
CLIENT_SECRET = "put_your_client_secret_generated_via_platform_here"
TOKEN_URL = "https://api-v4.hellocustomer.com/token"
API_BASE_URL = "https://api-v4.hellocustomer.com"
AUDIENCE = "hellocustomer"

— Main file "main.py" with an API client helper and example usage (get Questions for a touchpoint)

import requests
from datetime import datetime, timedelta
import config  # Assuming config.py is defined separately

class APIClient:
    token_cache = {}
    token_expiration_cache = {}

    def __init__(self, config):
        self.client_id = config.CLIENT_ID
        self.client_secret = config.CLIENT_SECRET
        self.token = None
        self.expires_at = None

        self.token_url = config.TOKEN_URL
        self.api_base_url = config.API_BASE_URL

    def get_auth_token(self):
        if self.token and self.expires_at and datetime.utcnow() < self.expires_at:
            self.token = self.token_cache[self.client_id]
            self.expires_at = self.token_expiration_cache[self.client_id]
        else:
            payload = {
                "grant_type": "client_credentials",
                "client_id": self.client_id,
                "client_secret": self.client_secret,
                "audience": config.AUDIENCE
            }

            response = requests.post(self.token_url, data=payload)
            if response.status_code == 200:
                token_data = response.json()
                self.token = token_data.get("access_token")
                expires_in = token_data.get("expires_in")
                self.expires_at = datetime.utcnow() + timedelta(seconds=expires_in)

                # Cache the token and its expiration time
                self.token_cache[self.client_id] = self.token
                self.token_expiration_cache[self.client_id] = self.expires_at
            else:
                raise Exception("Failed to obtain Auth0 token")

    def refresh_auth_token(self, refresh_token):
        payload = {
            "grant_type": "refresh_token",
            "refresh_token": refresh_token,
            "client_id": self.client_id,
            "client_secret": self.client_secret,
        }

        response = requests.post(self.token_url, data=payload)
        if response.status_code == 200:
            token_data = response.json()
            self.token = token_data.get("access_token")
            expires_in = token_data.get("expires_in")
            self.expires_at = datetime.utcnow() + timedelta(seconds=expires_in)

            # Cache the refreshed token and its expiration time
            self.token_cache[self.client_id] = self.token
            self.token_expiration_cache[self.client_id] = self.expires_at
        else:
            raise Exception("Failed to refresh Auth0 token")

    def get_questions(self, tenantId, touchpointId):
        api_url = f"{self.api_base_url}/core/v4.0/EN/tenant/{tenantId}/touchpoint/{touchpointId}/questions"

        self.get_auth_token()
        auth_token = self.token

        headers = {"Authorization": f"Bearer {auth_token}"}

        response = requests.get(api_url, headers=headers)
        if response.status_code == 200:
            return response.json()
        elif response.status_code == 401:
            # Token expired, refresh the token and retry the request
            refresh_token = self.token
            self.refresh_auth_token(refresh_token)

            headers = {"Authorization": f"Bearer {self.token}"}
            response = requests.get(api_url, headers=headers)

            if response.status_code == 200:
                return response.json()
            else:
                raise Exception("Failed to retrieve questions after token refresh")
        else:
            raise Exception("Failed to retrieve questions")

# Example usage: questions = client.get_questions(tenantuniqueid, touchpointuniqueid)
client = APIClient(config)
questions = client.get_questions("bfec2cbb-fa3f-4e0f-a64a-eda5d8b3393a","f4b4c5d5-a22b-4f61-9d61-1f2bb57a829f")
print(questions)

... retour au début


4. Appels API disponibles

Les appels API suivants peuvent être effectués avec un connecteur API disposant des privilèges appropriés.

4a. Read: questions

Description générale: Cet appel API renverra toutes les questions dans toutes les langues pour vos points de contact, y compris les identifiants uniques de la question que vous devez utiliser dans l'appel API Add : Réponses.


Informations sur l'API

  • Type : GET
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantuniqueid}/touchpoint/{touchpointuniqueid}/questions
  • Autorisation : token qui a été généré pour aujourd'hui

Réponse

La réponse se compose de toutes les questions disponibles sur l'enquête dans toutes les langues. La même question dans plusieurs langues a le même identifiant unique. Cet identifiant peut être utilisé comme entrée pour l'API d'ajout de réponses afin d'ajouter des réponses à une question spécifique.


Exemples de JSON renvoyés

  • Enquête avec 1 question métrique (CSAT) dans 1 langue :
[
    {
        "questionUniqueId": "f35636e8-aea8-4a86-b225-08db3b6c8706",
        "questionType": "CSAT",
        "language": "EN",
        "questionText": "How satisfied are you with $$$_TeamName_$$$",
        "isMandatory": true,
        "openFeedbackQuestionText": "Can you explain why you gave this score?",
        "isOpenFeedbackMandatory": true,
        "isActive": true,
        "scoreLabels": [
            {
                "score": 1,
                "text": "very unsatisfied"
            },
            {
                "score": 5,
                "text": "very satisfied"
            }
        ],
        "multipleChoiceOptions": null
    }
]
  • Enquête avec 2 questions (NPS et une question personnalisée) en 5 langues
[
    {
        "questionUniqueId": "2a37785a-746a-493c-f5ea-08db61b7ab24",
        "questionType": "NPS",
        "language": "ES",
        "questionText": "¿Qué probabilidad hay de que recomiendes Happy Fashion a tus amigos y conocidos? ",
        "isMandatory": true,
        "openFeedbackQuestionText": "¿Puedes explicarnos por qué has elegido esa puntuación?",
        "isOpenFeedbackMandatory": true,
        "isActive": true,
        "scoreLabels": [
            {
                "score": 0,
                "text": "Absolutamente no"
            },
            {
                "score": 10,
                "text": "Absolutamente"
            }
        ],
        "multipleChoiceOptions": null
    },
    {
        "questionUniqueId": "2a37785a-746a-493c-f5ea-08db61b7ab24",
        "questionType": "NPS",
        "language": "DE",
        "questionText": "Wie wahrscheinlich ist es, dass Sie Happy Fashion Freunden oder Bekannten empfehlen würden?",
        "isMandatory": true,
        "openFeedbackQuestionText": "Können Sie uns mitteilen, warum Sie uns diese Bewertung geben?",
        "isOpenFeedbackMandatory": true,
        "isActive": true,
        "scoreLabels": [
            {
                "score": 0,
                "text": "Überhaupt nicht"
            },
            {
                "score": 10,
                "text": "Ja"
            }
        ],
        "multipleChoiceOptions": null
    },
    {
        "questionUniqueId": "2a37785a-746a-493c-f5ea-08db61b7ab24",
        "questionType": "NPS",
        "language": "FR",
        "questionText": "Dans quelle mesure conseilleriez-vous Happy Fashion à vos amis, connaissances et collègues?",
        "isMandatory": true,
        "openFeedbackQuestionText": "Pouvez-vous nous expliquer le score que vous nous attribuez?",
        "isOpenFeedbackMandatory": true,
        "isActive": true,
        "scoreLabels": [
            {
                "score": 0,
                "text": "Pas du tout"
            },
            {
                "score": 10,
                "text": "Certainement"
            }
        ],
        "multipleChoiceOptions": null
    },
    {
        "questionUniqueId": "2a37785a-746a-493c-f5ea-08db61b7ab24",
        "questionType": "NPS",
        "language": "EN",
        "questionText": "How likely is it that you would recommend Happy Fashion to a friend or colleague?",
        "isMandatory": true,
        "openFeedbackQuestionText": "What's the most important reason for your score?",
        "isOpenFeedbackMandatory": true,
        "isActive": true,
        "scoreLabels": [
            {
                "score": 0,
                "text": "Not at all likely"
            },
            {
                "score": 10,
                "text": "Very Likely"
            }
        ],
        "multipleChoiceOptions": null
    },
    {
        "questionUniqueId": "1d539157-f135-4494-f5eb-08db61b7ab24",
        "questionType": "Text",
        "language": "DE",
        "questionText": "Custom question DE",
        "isMandatory": false,
        "openFeedbackQuestionText": null,
        "isOpenFeedbackMandatory": null,
        "isActive": true,
        "scoreLabels": null,
        "multipleChoiceOptions": null
    },
    {
        "questionUniqueId": "1d539157-f135-4494-f5eb-08db61b7ab24",
        "questionType": "Text",
        "language": "ES",
        "questionText": "Custom question ES",
        "isMandatory": false,
        "openFeedbackQuestionText": null,
        "isOpenFeedbackMandatory": null,
        "isActive": true,
        "scoreLabels": null,
        "multipleChoiceOptions": null
    },
    {
        "questionUniqueId": "1d539157-f135-4494-f5eb-08db61b7ab24",
        "questionType": "Text",
        "language": "EN",
        "questionText": "Custom question EN",
        "isMandatory": false,
        "openFeedbackQuestionText": null,
        "isOpenFeedbackMandatory": null,
        "isActive": true,
        "scoreLabels": null,
        "multipleChoiceOptions": null
    },
    {
        "questionUniqueId": "1d539157-f135-4494-f5eb-08db61b7ab24",
        "questionType": "Text",
        "language": "FR",
        "questionText": "Custom question FR",
        "isMandatory": false,
        "openFeedbackQuestionText": null,
        "isOpenFeedbackMandatory": null,
        "isActive": true,
        "scoreLabels": null,
        "multipleChoiceOptions": null
    }
]

... retour au début

4b. Add: answers

Description générale: Cet appel API vous permet d'ajouter des réponses à plusieurs questions dans votre enquête. Vous pouvez également inclure de la metadata et des informations sur les participants telles que les noms et les adresses électroniques.


Informations sur l'API

  • Type : POST
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/Answer/AddAnswerBatch
  • Autorisation : token qui a été généré pour aujourd'hui

Le corps:

Ajouter les informations suivantes dans le corps du texte :

    • Informations générales
      • tenantuniqueid
      • touchpointuniqueid
    • Réponses aux enquêtes
      • Fournissez un surveyAnswerUniqueId pour chaque enquête individuelle (= ensemble de réponses à toutes les questions d'une enquête pour une personne). Il doit s'agir d'un code et il doit être unique pour chaque ensemble de réponses. Vous pouvez facilement générer des guides aléatoires sur ce site web.
      • Code langue
      • Informations sur le participant (facultatif)
        • firstName
        • lastName
        • emailAddress
        • phoneNumber
        • customerId
      • Metadata : fournissez une clé et une valeur. Vous pouvez ajouter ce que vous voulez comme metadata
      • Date : la date de la réponse. Les réponses téléchargées seront affichées sur la plateforme à cette date.
      • Par réponse à une question : questionuniqueid et la réponse (score et/ou texte). La réponse read: questions Appel API vous donnera plus d'informations sur les identifiants dont vous avez besoin. Un exemple de chaque type de question est présenté dans le corps ci-dessous, mais il s'agit des règles générales :
        • Pour CSAT, NPS et CES, indiquez le "score" et le "text".
        • Pour les questions de 0 à 10, utilisez le "score".
        • Pour les questions à choix multiples, utilisez "multipleChoice", où vous placez toutes les options sélectionnées entre les [].
        • Pour les questions de type oui ou non, utilisez "yesNo", où true signifie "oui" et false est égal à "non".
        • Pour une question personnalisée, il suffit d'ajouter le "text".
      • Vous pouvez ajouter plus d'une réponse à la fois.

IMPORTANT

Par environnement, il y a une limite de téléchargement de 100 000 enquêtes par jour. Si vous avez besoin de télécharger plus de réponses, vous pouvez étaler le téléchargement sur plusieurs jours ou contacter support@hellocustomer.com pour plus d'informations.

Il s'agit d'un exemple de corps de texte qui comprend des informations sur les participants, la metadata et des réponses à tous les types de questions :

{
  "touchpointUniqueId": "29f817b0-81ff-4a0c-bb04-3f1112ceeea4",
  "surveyAnswers": [
    {
      "surveyAnswerUniqueId": "d172ebd8-bc92-4514-a746-d06b3283b02b",
      "languageCode": "EN",
      "participantInfo": {
        "firstName": "John",
        "lastName": "Doe",
        "emailAddress": "john@hellocustomer.com",
        "phoneNumber": "0472540278",
        "customerId": "123456"
      },
      "metaData": {
        "additionalProp1": "value 1",
        "additionalProp2": "value 2",
        "additionalProp3": "value 3"
      },
      "date": "2023-08-17",
      "answers": [
        {
          "questionItemUniqueId": "a60a98ab-9ab3-416f-3da6-08db837ffd28",
          "score": 0,
          "text": "helemaal niet"
        },
        {
          "questionItemUniqueId": "f3b5e687-5494-4f65-3063-08db8385f12b",
          "score": 3,
          "text": "It was a bit difficult to make a reservation with the app. It's not very intuitive"
        },
        {
          "questionItemUniqueId": "375e3654-7ce1-4a43-425d-08db837c7c87",
          "score": 5,
          "text": ""
        },
        {
          "questionItemUniqueId": "91f6f659-87a5-4c6a-425e-08db837c7c87",
          "score": 6,
        },
        {
          "questionItemUniqueId": "65dad4a2-ec64-4cb1-3066-08db8385f12b",
          "multipleChoice": [
             "Option 1",
             "Option 2"
           ]
        },
        {
          "questionItemUniqueId": "23b8e320-978d-458d-3da7-08db837ffd28",
          "yesNo": false
        },
        {
          "questionItemUniqueId": "4a655562-4c45-4039-3da9-08db837ffd28",
          "text": "anything"
        }
      ]
    }
  ]
}

Réponse

Si l'appel à l'API aboutit, il renvoie un identifiant de lot. Cet identifiant peut être utilisé pour suivre la progression du téléchargement de la réponse. Pour ce faire, utilisez l'appel API read: answer progress.

... retour au début

4c. Read: answer progress

Description générale: Cet appel API permet d'assurer le suivi de l'appel API add: answers . Vous avez besoin de l'identifiant de lot qui est renvoyé après avoir effectué l'appel API add: answers pour pouvoir effectuer cet appel API. Vous pouvez effectuer cet appel API avec chaque connecteur API qui a le privilège d'ajouter des réponses.


Informations sur l'API

  • Type : GET
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/Answer/batch/{batchUniqueId}/progress
  • Autorisation : token qui a été généré pour aujourd'hui

Réponse

Dans la réponse, vous obtiendrez une vue d'ensemble :

  • Nombre de réponses traitées (combinaison de toutes les réponses pour une enquête)
  • Nombre de réponses en cours de traitement
  • Réponses non valides
  • Total des réponses dans le lot
  • Erreurs : spécification de la raison pour laquelle les réponses non valides sont non valides. Raisons possibles pour lesquelles une réponse n'est pas valide (non exhaustif) :
    • La langue est absente ou ne fait pas partie de l'enquête
    • La réponse à une question obligatoire est manquante
    • La valeur d'une clé obligatoire metadata est manquante
    • La date de la réponse se situe dans le futur
    • La valeur de la réponse ne correspond pas à la question (par exemple : score de 11 à une question NPS).

Exemple :

{
    "processed": 0,
    "processing": 1,
    "invalid": 0,
    "total": 1,
    "errors": []
}

... retour au début

4d. Read: answers

Description générale: Cet appel API permet d'extraire les réponses de la plateforme Hello Customer pour une enquête spécifique.

Informations sur l'API
  • Type : POST
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/answer/touchpoint/{touchpointUniqueId}/getanswers
  • Autorisation : token qui a été généré pour aujourd'hui

Corps

Dans le corps du texte, vous devez spécifier la plage de dates pour laquelle vous souhaitez récupérer les réponses. Les dates de début et de fin ne peuvent être séparées de plus de 31 jours. Vous pouvez également spécifier la langue dans laquelle vous souhaitez récupérer l'analyse ISAAC : FR pour le français ou EN pour l'anglais.

{
    "StartDate" : "2023-06-01 00:00:00",
    "EndDate" : "2023-06-29 12:28:59",
    "LanguageCode" : "EN"
}
Réponse

Vous trouverez ci-dessous un exemple, mais en général, dans la réponse que vous obtiendrez par participant :

  • Informations sur les participants :
    • Un identifiant unique par participant afin de pouvoir relier historiquement toutes les réponses d'une même personne.
    • Informations personnelles sur le participant : prénom, nom, adresse électronique, numéro de téléphone et numéro d'identification du client. Si certaines informations sur le participant ne sont pas disponibles, le message renverra NULL.
  • Informations sur l'enquête
    • Touchpointuniqueid pour relier la réponse à l'enquête correcte.
    • Date de réponse : date à laquelle l'enquête a été remplie.
    • Date de l'enquête : date à laquelle la personne interrogée a reçu l'invitation à participer à l'enquête. Pour les points de contact Ask Anywhere, Website et In-App, la date de l'enquête sera la même que la date de la réponse.
    • Touchpointuniqueid.
  • Metadata: toutes les clés et valeurs liées à ce participant. Cela inclut également la langue dans laquelle le participant a rempli l'enquête.
  • Informations sur la conversation (disponibles uniquement pour les réponses depuis le 1/1/2023)
    • Statut
    • Tags
    • Résumé
  • Réponses
    • Identifiant unique de la réponse à l'enquête : un identifiant unique pour l'ensemble de l'enquête, c'est-à-dire l'ensemble des questions auxquelles un participant a répondu à la date à laquelle il a répondu à l'enquête.
    • Prédictions : Analyse ISAAC par question pertinente. En d'autres termes : questions ouvertes liées à une mesure. Le code langue fait référence à celui que vous avez inclus dans le corps de la requête et indique dans quelle langue les chemins sont affichés. Vous pouvez choisir entre l'anglais (EN) et le français (FR).
    • Réponses à toutes les questions de l'enquête. Les réponses sont affichées par question. L'identifiant unique de la question est le même que celui que vous trouvez dans l'appel API read:questions. Vous remarquerez que certaines questions ont le même identifiant unique. C'est le cas des questions NPS, CSAT et CES, étant donné que le score et les commentaires en texte libre sont considérés comme un groupe indivisible de questions.
    • Ordre de tri : l'ordre dans lequel les questions ont été présentées au participant.
    • Cas particuliers: si vous ajoutez les questions à collecter metadata à votre enquête (le sélecteur d'équipe, le sélecteur de date et/ou la question de profil), ces questions seront ajoutées dans l'objet réponses, mais avec la réponse "null".
      • Pour les questions relatives à l'équipe et au sélecteur de date, les réponses seront incluses dans le site metadata.
      • Les réponses à la question du profil sont incluses dans les informations sur le participant.

Exemple de réponse comportant plusieurs questions :

[
    {
        "participantInfo": {
            "uniqueId": "d325a00d-6ec4-4ad8-65df-08dbfd49037b",
            "languageCode": "english",
            "firstName": "John",
            "lastName": "Doe",
            "emailAddress": "john.doe@example.com",
            "phoneNumber": "+32123456789",
            "customerId": null
        },
        "touchpointUniqueId": "e3446880-846f-4869-9529-c37a9b09c713",
        "dateAnswered": "2023-12-18T13:32:12",
        "dateSurveyed": "2023-12-18T13:32:12",
        "metadata": {
            "date": "12/11/2023 11:00:00 pm",
            "language": "en",
            "team": "team 1"
        },
        "status": "ToDo",
        "tags": null,
        "summary": null,
        "surveyAnswerUniqueId": "323ef28d-29c5-458b-a061-10110550f12f",
        "predictions": [
            {
                "path": "Overall Experience>Overall Experience",
                "isPositive": true,
                "isNegative": false,
                "isNeutral": false,
                "metric": "nps",
                "text": "very satisfied",
                "languageCode": "en"
            },
            {
                "path": "Overall Experience>Overall Experience",
                "isPositive": true,
                "isNegative": false,
                "isNeutral": null,
                "metric": "ces20",
                "text": "very easy",
                "languageCode": "en"
            }
        ],
        "answers": [
            {
                "answer": "10",
                "question": "How likely is it that you would recommend Happy fashion to a friend or colleague?",
                "question_unique_id": "38fef658-02f4-444d-d858-08dbfd6c49f3",
                "sort_order": 1
            },
            {
                "answer": "very satisfied",
                "question": "What's the most important reason for your score?",
                "question_unique_id": "38fef658-02f4-444d-d858-08dbfd6c49f3",
                "sort_order": 2
            },
            {
                "answer": "7",
                "question": "To what extent do you agree or disagree with following statement: Happy fashion made it easy for me to handle my issue.",
                "question_unique_id": "b5759dba-3d75-4fd8-67fb-08dbfd6c530e",
                "sort_order": 3
            },
            {
                "answer": "very easy",
                "question": "What is the most important reason for your score?",
                "question_unique_id": "b5759dba-3d75-4fd8-67fb-08dbfd6c530e",
                "sort_order": 4
            },
            {
                "answer": "5",
                "question": "To what extent are you satisfied with your recent experience with Happy fashion?",
                "question_unique_id": "6fa06bc3-461a-4f58-a59e-08dbfd6ce354",
                "sort_order": 5
            },
            {
                "answer": null,
                "question": "What's the most important reason for your score?",
                "question_unique_id": "6fa06bc3-461a-4f58-a59e-08dbfd6ce354",
                "sort_order": 6
            },
            {
                "answer": "9",
                "question": "On a scale of 0-10, how happy are you with the staff at Happy fashion?",
                "question_unique_id": "9e12d974-e23f-4ae4-a59f-08dbfd6ce354",
                "sort_order": 7
            },
            {
                "answer": "true",
                "question": "Are you planning to come back to Happy fashion in the future?",
                "question_unique_id": "52235dda-4433-45f2-a5a0-08dbfd6ce354",
                "sort_order": 9
            },
            {
                "answer": null,
                "question": "Which shop of Happy fashion did you visit?"
                "question_unique_id": "8adc8e72-1365-42a9-d85a-08dbfd6c49f3",
                "sort_order": 11
            },
            {
                "answer": null,
                "question": "On which date did you visit the Happy fashion shop?",
                "question_unique_id": "84a78e27-ea05-48cc-a5a1-08dbfd6ce354",
                "sort_order": 12
            },
            {
                "answer": "Accessories;Clothes",
                "question": "What kind of products did you buy?",
                "question_unique_id": "70ec28bb-5ccb-49b5-a5a2-08dbfd6ce354",
                "sort_order": 13
            },
            {
                "answer": "Via social media",
                "question": "How did you get to know us?",
                "question_unique_id": "e43d1e8d-18c0-4375-a5a3-08dbfd6ce354",
                "sort_order": 14
            }
            {
                "answer": "I really like the shop! Keep up the good work",
                "question": "Is there anything else you want to mention?"
                "question_unique_id": "b99e086a-64b8-4f64-d85b-08dbfd6c49f3",
                "sort_order": 15
            },
        ]
    }
]

... retour au début

4e. Read: metrics

Description générale: Cet appel API vous permet d'obtenir un résumé des principales mesures (NPS, CSAT et CES) pour un site spécifique enquête.

Informations sur l'API
  • Type : POST
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/touchpoint/{touchpointUniqueId}/Metrics
  • Autorisation : token qui a été généré pour aujourd'hui

Corps
Dans le corps du texte, vous pouvez spécifier la plage de dates pour laquelle vous souhaitez récupérer le résumé métrique. Vous pouvez spécifier les dates de début et de fin, mais ce n'est pas obligatoire. Si aucune date n'est spécifiée, l'appel renverra un résumé des mesures avec toutes les réponses incluses.
{
    "StartDate" : "2023-06-01 00:00:00",
    "EndDate" : "2023-06-29 12:28:59"
}

Réponse

Dans la réponse, vous obtiendrez un résumé par métrique. Si une métrique spécifique n'est pas disponible sur le site enquête, la métrique recevra "null" en sortie.
  • Exemple pour un site enquête avec les trois métriques :
{
    "nps": {
        "promoters": {
            "responses": 7.0,
            "percentage": 77.7777
        },
        "passives": {
            "responses": 1.0,
            "percentage": 11.1111
        },
        "detractors": {
            "responses": 1.0,
            "percentage": 11.1111
        },
        "totalResponses": 9,
        "score": 66.6667
    },
    "ces": {
        "agree": {
            "responses": 6.0,
            "percentage": 66.6666
        },
        "disagree": {
            "responses": 3.0,
            "percentage": 33.3333
        },
        "totalResponses": 9,
        "score": 4.888889
    },
    "csat": {
        "unsatisfied": {
            "responses": 1.0,
            "percentage": 11.1111
        },
        "neutral": {
            "responses": 2.0,
            "percentage": 22.2222
        },
        "satisfied": {
            "responses": 6.0,
            "percentage": 66.6666
        },
        "totalResponses": 9,
        "score": 66.6667
    }
}
  • Exemple pour un enquête avec une seule métrique :
{
    "nps": null,
    "ces": null,
    "csat": {
        "unsatisfied": {
            "responses": 0.0,
            "percentage": 0.0
        },
        "neutral": {
            "responses": 0.0,
            "percentage": 0.0
        },
        "satisfied": {
            "responses": 2.0,
            "percentage": 100.0
        },
        "totalResponses": 2,
        "score": 100.0
    }
}

... retour au début

4f. Read: not delivered

Description générale: Cet appel API vous permet d'obtenir une liste de tous les courriels d'invitation qui n'ont pas atteint vos répondants.

Informations sur l'API
  • Type : POST
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/participant/getundelivered
  • Autorisation : token qui a été généré pour aujourd'hui

Corps
Dans le corps du texte, vous pouvez spécifier :
  • Un enquête spécifique pour lequel vous souhaitez obtenir ces informations (touchpointUniqueId), ceci n'est pas obligatoire. Si elle n'est pas spécifiée, vous obtiendrez une liste de tous les courriels non délivrés pour l'ensemble de votre environnement.
  • La plage de dates pour laquelle vous souhaitez récupérer les courriels qui n'ont pas été livrés.
{  
  "touchpointUniqueId": "{{touchpointUniqueId}}",
  "startDate": "2023-08-11 08:19:41",
  "endDate": "2023-09-11 08:19:41"
}
Réponse
Dans la réponse, vous recevrez un courriel d'invitation qui n'a pas été délivré :
  • la raison pour laquelle le courriel n'a pas été délivré
  • la date à laquelle le participant a été ajouté à la plate-forme
  • les informations relatives au participant : prénom, nom et adresse électronique
[
    {
        "exclusionReason": "Bounced",
        "date_Uploaded": "2023-09-12 08:32:57",
        "firstName": "osborne",
        "lastName": "roberts",
        "emailAddress": "thisemaildoesnotexist@gmail.com"
    },
    {
        "exclusionReason": "Bounced",
        "date_Uploaded": "2023-09-04 14:54:24",
        "firstName": "a",
        "lastName": "k",
        "emailAddress": "john.doe@hellocustomer.com"
    }
]

... retour au début

4g. Read: unsubscribed

Description générale:Cet appel API vous permet d'obtenir une liste de toutes les personnes qui se sont désinscrites de vos enquêtes.

Informations sur l'API
  • Type : POST
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/participant/getunsubscribed
  • Autorisation : token qui a été généré pour aujourd'hui

Corps
Dans le corps du texte, vous pouvez spécifier :
  • Une adresse enquête spécifique pour laquelle vous souhaitez obtenir ces informations (touchpointUniqueId). Ce n'est pas obligatoire. S'il n'est pas spécifié, vous obtiendrez une liste de tous les courriels désabonnés pour l'ensemble de votre environnement.
  • La plage de dates pour laquelle vous souhaitez récupérer les personnes qui se sont désabonnées.
{  
  "touchpointUniqueId": "{{touchpointUniqueId}}",
  "startDate": "2023-08-11 08:19:41",
  "endDate": "2023-09-11 08:19:41"
}
Réponse
Dans la réponse, vous recevrez un courriel d'invitation qui n'a pas été délivré :
  • la date à laquelle le participant s'est désabonné de vos enquêtes
  • les informations relatives au participant : prénom, nom et adresse électronique
[
    {
        "exclusionReason": "Unsubscribed",
        "date_Unsubscribed": "2023-08-24 11:25:17",
        "firstName": null,
        "lastName": null,
        "emailAddress": "john+unsubscribed@hellocustomer.com"
    }
]

... retour au début

4h. Add: participant

Description générale: Cet appel API vous permet d'ajouter automatiquement des participants à votre site enquête afin qu'ils reçoivent l'invitation à participer à l'enquête.

Informations sur l'API
  • Type : POST
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/Participant/AddParticipantBatch
  • Autorisation : token qui a été généré pour aujourd'hui

Corps
Dans le corps du texte, vous pouvez ajouter toutes les informations nécessaires :
  • Touchpoint unique ID: pour ajouter les participants au bon site enquête afin qu'ils reçoivent la bonne enquête.
  • Un ou plusieurs participants. Remplir le suivant par participant :
    • Code langue : utilisez le code langue ISO pour définir dans quelle langue le participant doit recevoir l'invitation par courrier électronique. Assurez-vous que la langue fait partie du site enquête auquel vous ajoutez le participant. Ceci est obligatoire.
    • Informations personnelles sur le participant. Seule l'adresse électronique est un champ obligatoire.
    • Extra metadata que vous connaissez sur le participant et que vous souhaitez utiliser pour personnaliser l'enquête et/ou filtrer sur des groupes de clients dans la plateforme.

IMPORTANT

Par environnement, il y a une limite de téléchargement de 200k participants par jour. Si vous avez besoin de télécharger plus de participants, vous pouvez étaler le téléchargement sur plusieurs jours ou contacter support@hellocustomer.com pour plus d'informations.

Il s'agit d'un exemple d'un corps dans lequel vous ajoutez deux participants à une enquête:

{
  "touchpointUniqueId": "adeb80a4-d437-4308-a0cb-867bf68e9ed5",
  "participants": [
    {
      "languageCode": "NL",
      "firstName": "John",
      "lastName": "Day",
      "emailAddress": "john.day@hellocustomer.com",
      "phoneNumber": "0456232141",
      "customerId": "xyz123",
      "metaData": {
        "shop": "Gent"
                  }
    },
    {
      "languageCode": "NL",
      "emailAddress": "jessica.doe@hellocustomer.com",
      "phoneNumber": "0498765432",
      "customerId": "xyz124",
      "metaData": {
        "shop": "Antwerpen"
                  }
    }
  ]
}
Réponse
Dans la réponse, vous obtiendrez un numéro d'identification du lot que vous pourrez utiliser pour effectuer l'appel API. Read: participants progress pour suivre la progression du téléchargement de votre participant.

... retour au début

4i. Read: participants progress

Description générale: Cet appel API vous permet de suivre les participants que vous avez ajoutés via l'appel API add : participants. Vous avez besoin de l'identifiant de lot qui est renvoyé après l'exécution de l'appel API add : participants pour pouvoir effectuer cet appel API. Vous pouvez effectuer cet appel API avec chaque connecteur API qui a le privilège d'ajouter des participants.


Informations sur l'API

  • Type : GET
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/Participant/batch/{batchUniqueId}/progress
  • Autorisation : token qui a été généré pour aujourd'hui

Réponse

Dans la réponse, vous obtiendrez une vue d'ensemble :

  • Nombre de participants traités
  • Nombre de participants en cours de traitement
  • Participants non valides
  • Total des participants au lot
  • Erreurs : spécification de la raison pour laquelle les participants non valides sont non valides. Raisons possibles pour lesquelles un participant est invalide (liste non exhaustive) :
    • La langue est absente ou ne fait pas partie de l'enquête
    • L'adresse e-mail est manquante
    • La valeur d'une clé obligatoire metadata est manquante

Exemple :

{
    "processed": 10,
    "processing": 0,
    "invalid": 1,
    "total": 11,
    "errors": [
        {
            "surveyAnswerUniqueId": "5ee8b65d-a8d7-4ef4-a910-d588a8000625",
            "errorMessages": [
                "Language Italiano is not connected to this touchpoint (NPS Happy Fashion)"
            ]
        }
    ]
}

... retour au début

4j. Read: teams

Description générale: Cet appel API vous permet de récupérer toutes les équipes présentes dans votre environnement, y compris les alias et la structure complète par équipe racine. Pour en savoir plus sur les équipes, lisez cet article. Les identifiants uniques des équipes que vous récupérez avec cet appel API peuvent être utilisés comme entrée pour d'autres appels API, par exemple, pour obtenir le résumé des métriques pour une équipe spécifique.


Informations sur l'API

  • Type : GET
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/team/tree
  • Autorisation : token qui a été généré pour aujourd'hui

Réponse

La réponse comprend:

  • Toutes les équipes racines. L'équipe racine est l'équipe qui est directement liée à votre enquête.
  • La structure de l'équipe entière, qui comprend tous les enfants de l'équipe racine, leurs enfants, etc.
  • Par équipe :
    • Team unique ID: il peut être utilisé comme entrée pour d'autres appels API, par exemple pour obtenir le résumé des mesures d'une équipe spécifique.
    • Nom : le nom de l'équipe
    • Alias : l'alias que vous avez défini pour l'équipe. S'il est défini, cet alias est affiché partout dans la plate-forme à la place du nom de l'équipe.
    • Parent unique ID: l'ID unique de l'équipe qui se trouve directement au-dessus de cette équipe dans l'arborescence.
    • Children: les équipes avec toutes leurs informations qui se trouvent directement sous cette équipe dans l'arborescence.

Exemple :

[
    {
        "teamUniqueId": "b3410181-6f1f-4a1c-a137-04da39964870",
        "name": "Root team - Name",
        "alias": "Root team - Alias",
        "parentUniqueId": null,
        "children": [
            {
                "teamUniqueId": "83856627-23be-42e1-a6ca-6e306d98cba2",
                "name": "Subteam 1",
                "alias": "Alias of subteam 1",
                "parentUniqueId": "b3410181-6f1f-4a1c-a137-04da39964870",
                "children": [
                    {
                        "teamUniqueId": "d6470c71-fd68-4262-80b2-e322590f5c7f",
                        "name": "Child 1 of subteam 1",
                        "alias": null,
                        "parentUniqueId": "83856627-23be-42e1-a6ca-6e306d98cba2",
                        "children": []
                    },
                    {
                        "teamUniqueId": "f62f838e-cb9e-4f75-b73c-88b2ace9b8ab",
                        "name": "Child 2 of subteam 1",
                        "alias": null,
                        "parentUniqueId": "83856627-23be-42e1-a6ca-6e306d98cba2",
                        "children": []
                    }
                ]
            },
            {
                "teamUniqueId": "27bdb8ed-de87-411d-b506-815727afda8d",
                "name": "Subteam 2",
                "alias": "",
                "parentUniqueId": "b3410181-6f1f-4a1c-a137-04da39964870",
                "children": [     
                    {
                        "teamUniqueId": "decd0b6f-8b3b-4944-b2ea-b5cb84c40076",
                        "name": "Child 1 of subteam 2",
                        "alias": "",
                        "parentUniqueId": "27bdb8ed-de87-411d-b506-815727afda8d",
                        "children": []
                    }
                ]
            },
            {
                "teamUniqueId": "51ae9a98-34db-4f4b-89c4-383c58c73268",
                "name": "Subteam 3",
                "alias": null,
                "parentUniqueId": "b3410181-6f1f-4a1c-a137-04da39964870",
                "children": []
            }
        ]
    }
]

... retour au début

4k. Lire : utilisateurs

Description générale: Avec l'appel API read : users, il est possible de récupérer tous les utilisateurs présents dans votre environnement. Les ID uniques des utilisateurs que vous récupérez avec cet appel API peuvent être utilisés comme entrée pour d'autres appels API, par exemple, pour affecter un utilisateur à une équipe spécifique ou pour supprimer l'utilisateur.


Informations sur l'API

  • Type : GET
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/user
  • Autorisation : token qui a été généré pour aujourd'hui

Réponse

La réponse comprend tous les utilisateurs de votre environnement et chaque utilisateur.

  • L'identifiant unique de l'utilisateur, qui peut servir d'entrée pour d'autres appels API, tels que l'affectation d'un utilisateur à une équipe ou la suppression de cet utilisateur.
  • Toutes les informations personnelles concernant l'utilisateur.
    • Prénom
    • Nom
    • Adresse email
    • Titre
    • Fractionnement du numéro de téléphone dans l'indicatif de pays et le numéro de téléphone lui-même
    • Code langue : la langue de la plateforme de cet utilisateur. Il peut adapter lui-même cette langue dans son profil.
  • Est administrateur : indique si cet utilisateur est un administrateur (vrai) ou non (faux)
  • La date de la dernière connexion représente la dernière fois que cet utilisateur est entré dans la plate-forme.
  • Équipes : les identifiants uniques de toutes les équipes auxquelles l'utilisateur est lié. Utilisez l'appel API read:teams pour lier l'ID unique au nom et à l'alias de l'équipe. Pour les administrateurs, ce champ sera vide, car les administrateurs ne sont pas liés à une équipe spécifique, mais peuvent tout voir.

Exemple :

[
    {
        "uniqueId": "b0dc633d-80b8-494d-b3ea-04596548fcbf",
        "firstName": "John",
        "lastName": "Doe",
        "emailAddress": "john.doe@hellocustomer.com",
        "title": "Support agent",
        "phoneCountryCode": "032",
        "phoneNumber": "45623214",
        "isAdministrator": false,
        "languageCode": "EN",
        "lastLoginDate": "2024-03-19T15:51:11.443",
        "teams": [
            "47980219-e7a2-4286-03db-08dc2effc495"
        ]
    },
    {
        "uniqueId": "66afddee-e52e-4676-bcdf-ecf2f1f9a8ef",
        "firstName": "Janneke",
        "lastName": "Jansen",
        "emailAddress": "janneke.jansen@hellocustomer.com",
        "title": "",
        "phoneCountryCode": "",
        "phoneNumber": "",
        "isAdministrator": true,
        "languageCode": "NL",
        "lastLoginDate": null,
        "teams": []
    }
]

... retour au début

4l. Ajouter : utilisateur

Description générale: L'appel API add : user permet d'ajouter un utilisateur à votre environnement.


Informations sur l'API
  • Type : POST
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/User
  • Autorisation : token qui a été généré pour aujourd'hui

Corps
Dans le corps du texte, vous pouvez ajouter toutes les informations nécessaires :
  • Champs obligatoires :
    • Prénom
    • Nom
    • Adresse email
    • Est administrateur : vrai (si cette personne peut être administrateur) ou faux
    • Code langue : toutes les langues disponibles comme langue de plate-forme peuvent être choisies (DE, EN, ES, FR, IT, NL et PT)
  • Champs facultatifs :
    • Indicatif téléphonique : première partie du numéro de téléphone qui indique le pays. Pour la Belgique, il s'agit de 032
    • Numéro de téléphone : le reste du numéro de téléphone
    • Titre

Voici un exemple de corps permettant d'ajouter un utilisateur à votre environnement

{
  "firstName": "Jessice",
  "lastName": "Day",
  "emailAddress": "jessica.day@hellocustomer.com",
  "isAdministrator": false,
  "phoneCode": "032",
  "phoneNumber": "45623214",
  "title": "CCO",
  "languageCode": "EN"
}

... retour au début

4m. Affectation d'un utilisateur à une (des) équipe(s)

Description générale: Cet appel permet d'affecter un utilisateur à une ou plusieurs équipes.

  • Utilisez l'appel API read:users pour obtenir l'ID unique de l'utilisateur que vous souhaitez affecter à une ou plusieurs équipes.
  • Utilisez l'appel API read:teams pour obtenir les identifiants uniques des équipes auxquelles vous souhaitez ajouter l'utilisateur.

Informations sur l'API
  • Type : PUT
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/User/{userUniqueId}/teams
  • Autorisation : token qui a été généré pour aujourd'hui

Corps

Dans le corps du texte, indiquez une ou plusieurs équipes auxquelles vous souhaitez ajouter l'utilisateur.

INFO

  • Si un utilisateur fait déjà partie d'une équipe et que vous souhaitez changer d'équipe, n'incluez que la nouvelle équipe à laquelle vous souhaitez ajouter l'utilisateur dans le corps du message.
  • Si un utilisateur fait déjà partie d'une équipe et que vous souhaitez l'ajouter à une autre équipe, indiquez dans le corps du message l'équipe actuelle et la nouvelle équipe à laquelle vous souhaitez ajouter l'utilisateur.
  • Voici un exemple de corps pour ajouter un utilisateur à une équipe
{
  "teams": [
    "228c4366-0a93-40f0-c0fb-08dc2f6cecc4"
  ]
}
  • Voici un exemple de corps pour ajouter un utilisateur à trois équipes
{
  "teams": [
    "228c4366-0a93-40f0-c0fb-08dc2f6cecc4",
    "6a9ad8c4-8b52-4616-8f2d-4c3bdb739592",
    "e1d61e0e-a09a-42db-8465-669bcfcd57c0"
  ]
}

... retour au début

4n. Supprimer : utilisateur

Description générale: L'appel API delete : user vous permet de supprimer un utilisateur de votre environnement. Cet utilisateur n'aura plus accès à la plate-forme après avoir effectué cet appel API. Utilisez l'appel API read:users pour obtenir l'ID unique de l'utilisateur que vous souhaitez supprimer.


Informations sur l'API

  • Type : DELETE
  • URL: https://api-v4.hellocustomer.com/tenant/{tenantUniqueId}/user/{userUniqueId}
  • Autorisation : token qui a été généré pour aujourd'hui

... retour au début


5. Questions fréquemment posées

5a. Où trouver le site touchpointuniqueid?

La plupart des appels à l'API exécutent une action liée à une enquête spécifique. Par conséquent, vous avez besoin de l'adresse touchpointuniqueid.

Vous pouvez le trouver dans 'Touchpoints' dans le panneau 'enquête settings'. Utilisez l'icône de duplication pour copier facilement l'identifiant unique de enquête .

5b. Où trouver le tenantuniqueid?

Pour presque tous les appels API, vous aurez besoin du tenantuniqueid. Cet identifiant représente l'environnement Hello Customer spécifique de votre entreprise.

Vous pouvez le trouver dans 'Touchpoints' dans le panneau 'enquête settings'. Utilisez l'icône de duplication pour copier facilement l'identifiant unique de enquête .

5c. Quels codes linguistiques dois-je utiliser ?

Pour les différents appels API, vous pouvez utiliser les codes de langue de la norme ISO.

Langue Code langue
Arabe AR
Bulgare BG
Tchèque CS
Danois DA
Allemand DE
Grec EL
Anglais FR
Espagnol ES
Estonien ET
Finlandais FI
Français FR
Irlandais GA
Croate RH
Hongrois HU
Italien IT
Lituanien LT
Letton LV
Maltais MT
Néerlandais NL
Norvégien NON
Polonais PL
Portugais PT
Roumain RO
Russe RU
Slovaki SK
Slovène SL
Suédois SV
Turc TR
Chinois ZH
Cela a-t-il répondu à votre question ? Merci pour les commentaires Il y a eu un problème lors de la soumission de votre commentaire. Veuillez réessayer plus tard.

Vous avez encore besoin d'aide ? Contactez nous Nous contacter