Envoyer des invitations avec les Business Generated Links (pour les développeurs)

Ce guide est destiné aux développeurs qui veulent créer des Business Generated Links. Ici, vous pouvez apprendre à générer des liens chiffrés en utilisant le langage de programmation de votre choix.

IMPORTANT

La méthode d'invitation « Business Generated Links » n'est disponible que pour les nouveaux clients Business de Trustpilot dans des secteurs spécifiques.

Remarque : Trustpilot a créé des ressources au sujet de l'Authenticated Encryption sur Github pour vous aider à démarrer. Vous pouvez les consulter ici.

Guide pour tous les langages de programmation

Les Business Generated Links utilisent la suite de chiffrement AEAD (Authenticated Encryption with Associated Data) et une approche appelée Encrypt then MAC (EtM). Trustpilot utilise une clé pour chiffrer le payload (encryptkey) et une autre clé pour le MAC part (authkey) afin d'assurer l'intégrité des données.

Sur votre compte Trustpilot Business, allez à Collecter des avis > Inviter des clients > Business Generated Links pour trouver les deux clés.

Créer des Business Generated Links

  1. Les clés copiées à partir de votre compte Trustpilot Business sont affichées dans un format base64-encoded . Donc, la première chose que votre application doit faire est un base64-decode des clés.
  2. Créez l'objet payload au format JSON et insérez les informations clients. Les champs suivants sont obligatoires : e-mail, nom et référence (numéro de référence). Voici un exemple :
{
  "email":"xyz@domaine.fr",
  "name":"Jean Dupont",
  "ref":"1234",
  "skus":["sku1","sku2","sku3"],
  "tags":["tag1","tag2","tag3"]
}
Remarque : les tags ne doivent pas contenir d'espaces.
  1. Chiffrez le payload pour vous assurer qu'il ne puisse pas être lu par des tiers. Chiffrez avec AES-CBC à l'aide d'une taille de clé de 256 bits, une taille de bloc de 128 bits et le PKCS7 padding mode
  • Générez un Initialization Vector (IV) en fonction de la taille du bloc (128 bits)
  • Chiffrez le JSON avec l'encryptkey et IV
  • Créez une signature pour le ciphertext.
  • Pour cela, nous utilisons HMAC-SHA256 et l'authkey. Déterminez le HMAC en hachant le IV suivi du ciphertext. Voici un exemple : HMAC = HMAC-SHA256( IV + ciphertext )
  1. Effectuez maintenant l'opération base64-encode sur le vecteur IV + ciphertext + HMAC. Comme ceci : base64_payload = base64( IV + ciphertext + HMAC )
  2. Enfin, étant donné que base64 inclut les caractères barre oblique (/) et le plus (+), il est nécessaire de URL-encode le payload au-dessus avant de l’ajouter au lien final.
  3. Le lien final devrait ressembler à ceci :
  payload = urlencode( base64_payload )
  https://www.trustpilot.com/evaluate-bgl/<domain>?p=<payload>
  1. Remplacez le domaine avec votre nom de domaine et le payload avec le payload que vous avez généré à l'étape 5.

Le diagramme suivant montre les étapes nécessaires pour formater, chiffrer et préparer les données payload correctement avant leur distribution :

Image_1.png

Comment vérifier un Business Generated Link

Il y a deux manières de vérifier qu'un Business Generated Link a été créé correctement :

Testez votre lien dans un navigateur

Collez votre lien dans un navigateur et effectuez une recherche. Créez ensuite un avis test. Sélectionnez une note en étoile, ajoutez un titre et un texte pour votre avis. Si le bouton Poster votre avis est actif, votre processus de chiffrement a été effectué avec succès. Si on vous demande de vous connecter en utilisant Facebook, Google ou votre e-mail, alors votre processus de chiffrement a échoué. Ne postez pas votre avis test. Voici un exemple :

Image_2.png

Testez votre lien avec notre command line interface (CLI)

Vous pouvez installer notre interface en ligne de commande (CLI) sur votre ordinateur de développement. Si vous pouvez déchiffrer votre payload avec le CLI, vous avez chiffré le payload correctement.

Codification des Business Generated Links pour les avis produits

Pour collecter des avis produits avec les Business Generated Links, ajoutez les SKUs des produits à votre payload. Voici un exemple de payload qui inclut des SKUs de produits. C'est un array JSON simple :

{
  "email":"xyz@domaine.com",
  "name":"Jean Dupont",
  "ref":"1234",
  "skus":["sku1","sku2","sku3"]
}

Comment localiser un Business Generated Link pour un pays spécifique

Pour localiser le lien, remplacez « www. » par le code du pays en question. Par exemple :

https://fr.trustpilot.com/evaluate-bgl/?p= https://es.trustpilot.com/evaluate-bgl/?p=

Envoyer des invitations à laisser un avis sur des établissements avec les Business Generated Links

Si vous utilisez les Business Generated Links pour envoyer des invitations à laisser un avis sur des établissements, vous devez inclure le champ de l'établissement lorsque vous ajoutez les données clients à l'objet du payload. Utilisez l'identifiant de l'établissement que vous avez assigné à cet établissement spécifique.

Voici un exemple :

{
 "email":"xyz@domaine.fr",
 "name":"Jean Dupont",
 "ref":"1234",
 "locationId": "id1",
 "skus":["sku1","sku2","sku3"],
 "tags":["tag1","tag2","tag3"]
}

Remarque : l'identifiant de l'établissement est sensible à la casse.