Évènement JSON
Contenus de cette page
Astuce : Les Evènements JSON ne sont disponibles que pour les utilisateurs qui ont acheté l’accès à l’API Qualtrics. Si vous souhaitez bénéficier de cette fonction, adressez-vous à votre Commercial ou au Service des comptes.
À propos de l’évènement JSON
Avez-vous déjà souhaité qu’une requête effectuée sur votre site web déclenche la création d’un ticket dans Qualtrics ? Avez-vous déjà voulu créer une intégration transparente entre Qualtrics et votre propre système interne ? Avez-vous déjà voulu déclencher une tâche dans l’onglet Flux de travail, mais avec un évènement qui se produit en dehors de Qualtrics ?
Les évènements JSON permettent à des logiciels externes de lancer des flux de travail via une requête HTTP. Au lieu d’attendre qu’un événement dans Qualtrics déclenche une action supplémentaire dans la plateforme, vous pouvez simplement configurer un évènement JSON pour recevoir des demandes d’un tiers.
Astuce : Vous devez générer une clé API avant que cette fonction ne soit disponible. Si vous disposez déjà d’une clé API, vous n’avez pas besoin d’en générer une nouvelle.
Attention: La mise en place d’un évènement JSON nécessite des connaissances avancées en programmation. Bien que notre équipe d’assistance soit heureuse de vous aider à mettre des informations dans l’évènement, nous ne pouvons pas vous aider sur les aspects de programmation. Vous pouvez plutôt tenter de vous adresser à notre communauté d’utilisateurs dédiés.
Limites
L’évènement JSON n’est pas compatible avec les suivis et configurations suivants :
- Tout ce qui n’est pas HTTP (par exemple, file d’attente de messages, SMS).
- Appels HTTP sortants.
- Traiter le XML (le corps de la requête XML sera ignoré).
- Traiter tout ce qui n’est pas du JSON.
- S’authentifier autrement que par un en-tête X-API-TOKEN ou notre authentification de base HTTP modifiée. Astuce : OAuth et d’autres formes d’authentificateurs sont incompatibles avec les évènements JSON.
- Toute analyse JSON qui ne peut être satisfaite par l’utilisation de requêtes JSONPath sur le corps JSON.
- Appels dépassant la limite de débit de l’API de 3 000 par minute.
- Charges utiles supérieures à 100 KB.
- 10 champs de saisie manuelle. Astuce : Une fois que les informations sont saisies avec l’Évènement, elles sont ajoutées au corps du JSON. La capture d’évènements est le seul moyen d’ajouter plus de 10 champs.
Types d’authentification pris en charge
Auth à base de jetons / Auth à base d’en-têtes
Vous pouvez vous authentifier en transmettant votre clé API dans l’en-tête de la demande sous la forme X-API-TOKEN.
Exemple: Dans l’exemple POST suivant, nous spécifions dans cURL l’URL de base, le Content-Type et le Token dans l’en-tête. L’ID de l’enquête et le format de l’exportation sont spécifiés dans le corps
.curl -X POST -H 'X-API-TOKEN : yourapitokenhere' -H 'Content-Type : application/json' -d '{
”
surveyId" : "SV_012345678912345",
"format" : "csv"
}' 'https://yourdatacenterid.qualtrics.com/API/v3/responseexports'
Auth de base HTTP
L’authentification de base est généralement une version encodée en Base64 de nom d’utilisateur:mot de passe. Cependant, pour une meilleure sécurité, Qualtrics utilise une chaîne encodée en Base64 de nom d’utilisateur:x-api-token.
Pour utiliser l’authentification de base, vous devez définir des en-têtes dans la requête HTTP. L’en-tête spécifique est Authorization.
Exemple : Disons que votre nom d’utilisateur Qualtrics est demo@qualtrics.com et que votre clé API est f8gIK7G6GFH985Y4. Vous écrivez d’abord,
demo@qualtrics.com:f8gIK7G6GFH985Y4Ensuite, après l’encodage Base64, cela apparaîtrait comme suit,
Basic ZGVtb0BxdWFsdHpY3MuY29tOmY4Z0lLN0c2R0ZIOTg1WTQ=L’en-tête Authorization que vous ajoutez à votre requête HTTP aura donc la valeur Basic ZGVtb0BxdWsdHJpY3MuY29tOmY4Z0lN0c2R0ZIOTg1WTQ=.
Astuce : Consultez ces outils pour encoder base64 et décoder base64.
Mise en place d’un évènement JSON
Astuce : Cliquez sur votre évènement JSON pour modifier les paramètres et les champs JSON.
Attention : Un événement JSON ne peut être déclenché via l’API qu’à partir du compte qui a créé l’événement. Si un compte différent est utilisé pour déclencher l’API pour un évènement JSON, vous pouvez toujours recevoir une réponse d’API 202-success, mais cela signifie qu’un clé API valide a été utilisée pour faire une demande valide, mais ne signifie pas nécessairement que la clé api correcte a été utilisée, ou que l’évènement JSON a été déclenché correctement. Si vous recevez un message API 202-success, vous devrez vérifier la plateforme pour confirmer que la bonne API a été utilisée.
Capturer les évènements
Lorsque vous créez un évènement API externe, vous pouvez avoir besoin d’analyser les données du corps du message. Cependant, il est parfois difficile d’analyser ces informations. Si vous voulez savoir ce que votre API externe envoie, suivez les étapes suivantes.
Syntaxe de JSONPath
Le tableau ci-dessous présente quelques principes de base de la syntaxe JSONPath. Notez qu’elles ne sont pas établies par Qualtrics, mais qu’il s’agit de normes utilisées avec JSON.
Attention: La mise en place d’un évènement JSON nécessite des connaissances avancées en programmation. Bien que notre équipe d’assistance soit heureuse de vous aider à mettre des informations dans l’évènement, nous ne pouvons pas vous aider sur les aspects de programmation. Vous pouvez toujours essayer de demander à notre communauté d’utilisateurs dévoués.
| JSONPath | Description | Exemple |
|---|---|---|
| $ | L’objet/élément racine | $.stores[0].name |
| @ | L’objet/élément actuel | $.stores[ ?(@.name===”ACME Store”)] |
| . | Opérateur enfant | $.eventDescription |
| .. | Opérateur descendant récursif | $.stores[0]..price |
| * | Carte joker | $.stores[*].name |
| [] | Opérateur d’indice | $.stores[0].name |
| [,] | Opérateur de l’Union | $.stores[0,1] |
| [début:fin:étape] | Opérateur de tranche de tableau | $.stores[0:10:2] |
| ?() | Applique un filtre | $.stores[ ?(@.name==”ACME Store”)] |
| () | Expression scripturale | $.stores[(@.length-1)] |
Exemple de syntaxe JSONPath
Dans cet exemple, nous allons vous montrer comment, étant donné un objet JSON, la table JSONPath peut être utilisée.
Il s’agit de notre objet JSON :
{
"eventDescription" : "Revenu mensuel",
"stores" : [
{
"name" : "Magasin Acme",
"total" : 1000000,
"topItem" :
{ "price" : "50", "description" : "Enclume" }
},
{
"name" : "Le stand des bananes",
"total" : 250000,
"topItem" :
{ "price" : "4", "description" : "Le Gob" }
},
{
"name" : "Pizza Planet",
"total" : 80000,
"topItem" :
{ "price" : "15", "description" : "Pepperoni" }
}
]
}
Maintenant, nous devrions ajouter les valeurs de retour que nous voyons dans le tableau JSONPath pour que ce soit plus clair.
$ -> ; Acme Store
@ -> ; [
{
"name" : "Acme Store",
"total" : 1000000,
"topItem" :
{ "price" : "50", "description" : "Enclume" }
}
]
. -> ; Revenu mensuel
. -> ; 50
-> ; ["Acme Store", "The Banana Stand", "Pizza Planet"]
[] -> ; Acme Store
[,] -> ; [
Unknown macro : { "name"}
,
Unknown macro : { "name"}
]
**Changez l'exemple de [start:end:step] en "$.stores[1:3:1]"
[start:end:step] -> ; [
{
"name" : "Le stand des bananes",
"total" : 250000,
"topItem" :
{ "price" : "4", "description" : "Le Gob" }
},
{
"name" : "Pizza Planet",
"total" : 80000,
"topItem" :
{ "price" : "15", "description" : "Pepperoni" }
}
]
?() -> ; [{
"name" : "Acme Store",
"total" : 1000000,
"topItem" :
{ "price" : "50", "description" : "Enclume" }
}]
() -> ; [
{
"nom" : "Pizza Planet",
"total" : 80000,
"topItem" :
{ "price" : "15", "description" : "Pepperoni" }
}
] Exemple d’API en Node Javascript
L’exemple ci-dessous est un modèle de base que vous pouvez suivre pour formater vos données d’évènements.
Attention: La mise en place d’un évènement JSON nécessite des connaissances avancées en programmation. Bien que notre équipe d’assistance soit heureuse de vous aider à mettre des informations dans l’évènement, nous ne pouvons pas vous aider sur les aspects de programmation. Vous pouvez toujours essayer de demander à notre communauté d’utilisateurs dévoués.
var request = require('request-promise') ;
var surveyId = "SV_XXXXXXXXXXXX" ;
var triggerId = "OC_XXXXXXX" ;
var brandId = "YOUR_BRAND_ID" ;
var userId = "UR_XXXXXXXXXXXXX" ;
var datacenter = "xx1" ;
var apiToken = "YOUR_QUALTRICS_API_TOKEN" ;
var url = "https ://" + datacenter + ".qualtrics.com/inbound-event/v1/event/JSON/triggers" +
"?contextId=" + surveyId + "&userId=" + userId + "&brandId=" + brandId + "&triggerId=" + triggerId ;
var payload = {
"text" : "This is some text",
"object" : {
"number" : 4
},
"array" : ["a", "b", "c", "d"]
} ;
var options = {
url : url,
json : true,
body : payload,
headers : {
"Content-Type" : "application/json", // OBLIGATOIRE ! !!
"X-API-TOKEN" : apiToken
}
} ;
request.post(options).then(function (ret) {
console.log("success :", url, payload) ;
}).catch(function (err) {
console.log("error :", url) ;
console.log(err) ;
} ;) Exemple : Intégration avec Freshdesk
Astuce : Cette tâche est distincte de la tâche Freshdesk.
L’évènement JSON peut être utilisé pour intégrer Freshdesk en tant que règle Webhook dans le Dispatch’r. Cela signifie que les évènements dans Freshdesk peuvent alors déclencher des tâches dans Qualtrics, comme la création d’un ticket ou la distribution d’une enquête.
Astuce: le support de Qualtrics peut vous aider à configurer votre évènement JSON et à le connecter via Freshdesk. Cependant, il se peut qu’ils ne puissent pas répondre à certaines questions concernant les fonctionnalités de Freshdesk. Si vous avez des questions sur la côte à côte de Freshdesk, essayez de consulter leur documentation sur les règles de Dispatch’r.
Astuce : Pour en savoir plus sur les Webhooks de Freshdesk, consultez la documentation liée sur leur site d’assistance.
Exemple : Intégration avec ServiceNow
Astuce : Il s’agit d’une tâche distincte de la Tâche ServiceNow.
L’évènement JSON peut être utilisé pour intégrer ServiceNow. Cela signifie que les évènements dans ServiceNow peuvent déclencher des tâches dans Qualtrics, comme la création d’un ticket ou la distribution d’une enquête.
Astuce: Le support de Qualtrics peut vous aider à configurer votre évènement JSON et à le connecter via ServiceNow. Cependant, il se peut qu’ils ne puissent pas répondre à certaines questions concernant les fonctionnalités de ServiceNow. Si vous avez des questions sur la façon de vous connecter et d’activer votre instance de développeur ServiceNow, essayez de consulter leur documentation sur les Instances de développeur personnel.
Exemple : Intégration avec Microsoft Dynamics via Microsoft Flow
Astuce : Il s’agit d’une tâche distincte de celle de Microsoft Dynamics.
L’Évènement JSON permet aux évènements de Microsoft Dynamics de déclencher des tâches dans Qualtrics, comme la création d’un ticket ou la distribution d’une enquête. Par exemple, lorsque vous supprimez un compte dans Microsoft, vous pouvez distribuer au propriétaire du compte une enquête Qualtrics qui pose des questions de sortie. (par exemple, “Nous sommes désolés de vous voir partir ! Comment s’est passé votre séjour parmi nous ? Comment pouvons-nous nous améliorer ?)
Pour intégrer l’Évènement JSON aux actions qui se déroulent dans Microsoft Dynamics, vous devez en fait effectuer la configuration dans Microsoft Flow au lieu de Dynamics. Ne vous inquiétez pas : Microsoft Flow est fourni gratuitement avec chaque compte Microsoft Dynamics. Vous pouvez donc vous connecter à Flow à l’aide de vos informations Dynamics ici.
Astuce: le support de Qualtrics peut vous aider à configurer votre évènement JSON et à le connecter via Microsoft Flow et Microsoft Dynamics. Cependant, ils ne peuvent pas répondre à certaines questions concernant les fonctionnalités de Microsoft. Si vous avez des questions concernant la côte à côte de Microsoft, essayez de consulter leur documentation pour Flow et leurs ressources pour Dynamics.
Astuce : Microsoft Flow est préféré pour ces étapes car il est capable d’envoyer plus d’informations à Qualtrics dans le corps JSON. Si vous configurez cela dans Microsoft Dynamics au lieu de Flow, seuls les champs modifiés au cours de l’évènement Dynamics seront envoyés à Qualtrics. Par exemple, si vous choisissez de déclencher sur la base d’une mise à jour de l’enregistrement et que seul le champ “e-mail” est modifié, le “nom” et l'”adresse” ne seront pas envoyés à Qualtrics, même si vous demandez spécifiquement ces champs dans le corps du message. L’Évènement enverra à Qualtrics tout ce que vous avez demandé, que ce champ ait été modifié ou non lors de l’évènement déclencheur.
Exemple : Intégration avec Genesys PureCloud
Astuce : pour configurer cette intégration, vous devez avoir accès à Genesys Cloud Architect et à Genesys Web Service Data Actions.
À l’aide d’évènements JSON, vous pouvez intégrer Genesys PureCloud pour envoyer aux clients une enquête de suivi après avoir terminé une interaction d’assistance par téléphone ou par chat.
FAQs
L'événement JSON me permet-il de m'intégrer à _ ?
L'événement JSON me permet-il de m'intégrer à _ ?
- Peut être configuré pour effectuer des appels HTTP POST sortants (par exemple, webhooks, application personnalisée)
- Peut s'authentifier en transmettant un jeton d'en-tête
- Définit l'en-tête Content-Type sur "application/json" et met en forme les corps de la demande comme JSON valide (facultatif pour les données d'événement)
Combien d'événements par minute puis-je apporter à mon événement JSON (op_start) avant d'être limité ?
Combien d'événements par minute puis-je apporter à mon événement JSON (op_start) avant d'être limité ?
Qu'est-ce qu'un flux de travail ? / Où sont les actions ?
Qu'est-ce qu'un flux de travail ? / Où sont les actions ?
Aucune modification n’a été apportée à la fonctionnalité de workflow dans le cadre de cette mise à jour.
C'est génial! Merci pour votre avis!
Merci pour votre avis!
Comment savoir si mon workflow d'événement JSON échoue ?