Récupérer les custom data

Catégorie
#donnéespersonnalisées 

 

flag in hole Objectif

Permettre l’export et l’utilisation des données personnalisées pendant ou post conversation.

brick De quoi aurais-je besoin ?

memo Marche à suivre 

Avant de commencer

Dans iAdvize, il existe deux types de “Custom Data” :

  • Les custom data “standard

Elles alimentent automatiquement les informations du profil visiteur. Liste des custom data visiteur

Par exemple : cust_email ou cust_name vont alimenter respectivement les champs email et lastname du profil visiteur.

 

  • Les custom data “non standard”

C’est à dire toutes les autres que vous créez et déclarez vous même dans l’admin iAdvize.

Récupérer l’id du visiteur

Que vous récupériez les custom data “standard” ou non, vous aurez besoin nécessairement de l’id du visiteur.
Cette récupération se fera différemment selon le use case de “Bot Externe” ou de “Fin de conversation”.


1
. Use case BOT externe

  • Lorsqu’une conversation démarre, iAdvize appelle le endpoint POST /conversations du bot externe et passe dans le body l’id de la conversation iAdvize qui a été créée.
  • Le bot externe peut utiliser l’idConversation envoyé dans le payload de la requête précédente pour récupérer le legacyVisitorId via la query conversation de GraphQL qui correspond à l’id du visiteur que vous cherchez à récupérer :



2. Use case “Fin de conversation”

  • Lorsqu’une conversation est clôturée, iAdvize appelle le webhook v2.conversation.closed et passe un certain nombre d’informations dans le payload.
  • L’un de ces champs est le  visitorId qui correspond à l’id du visiteur que vous cherchez à récupérer

Option 1 : récupérer les custom data “standard” :

Il vous suffit d’effectuer une requête HTTP de type GET sur la ressource visitor et de préciser également l’ID du visiteur que vous venez de récupérer à l’étape précédente.

Par exemple, la requête
GET /visitor/101097152 vous retournera le résultat suivant :

{
"meta": {
     "status": "success"

},
"data": {
      "id": 101097152,
      "unique_id": "912265878d8bf0ffa2b31099aaaf8daf60a2837777136",
      "external_id": "user-aaa-0001",
      "lastname": "DUPONT",
      "firstname": "Jean",
      "address": "",
      "city": "Nantes",
      "zip": "",
      "country": "",
      "phone": "",
      "email": "",
      "browser": "Chrome 90",
      "created_at": "2021-05-17 16:53:56",
      "website_id": 7114,
      "_link": "/visitor/101097152"
     }
}

 

Option 2 : récupérer les custom data "non standard” :


Voici un exemple de Custom Data dans dans le code.

<script type="text/javascript">

//<![CDATA[

window.idzCustomData = {

"computertype":"Mac Book air M1",

"website":"websitename",

"page_name":"welcomepage",

"virgule": 123.345,

"valeur chiffre": 12,

"booleen": true

};

//]]>

</script>


⚠️ Si vous souhaitez récupérer des custom data “non standard” (celles qui n’alimentent pas les données de la fiche visiteur) via l’API, il vous faut utiliser la query visitorConversationCustomData de l’API GraphQL.

 

Vous aurez besoin de renseigner le champ filtre suivant :

conversationId: valeur type “e6f2c877-0887-49c1-9ad3-74b1684d0382”.

 

Il faut également sélectionner les types (values) de custom data :

 

  • StringValue: chaine de caractère de tout type. Se caractérise par des “ dans le code (ex:”websitename”). 
  • IntValue(integer): nombre entier.
  • FloatValue: nombre avec décimal (sans limite après le . de décimal).
  • BooleanValue: valeur binaire type true/false.

 

Sélectionner la clé (key) ainsi que sa valeur (value).

 

Capture_d_e_cran_2022-09-21_a__12.05.40.png