Envío de invitaciones con Business Generated Links

Esta función forma parte del módulo adicional Privacy y puede comprarse para el plan Enterprise.

Esta guía es para desarrolladores que desean crear Business Generated Links. Aquí explicamos cómo generar enlaces encriptados utilizando tu lenguaje de programación preferido.

IMPORTANTE

El método de invitación por 'Business Generated Links' solo está accesible para los nuevos clientes Business de Trustpilot de ciertos sectores.

Para ayudarte a empezar, Trustpilot ha creado una serie de recursos sobre el Cifrado autenticado (Authenticated Encryption) en Github. Puedes consultarlos aquí.

Guía para todos los lenguajes de programación

Los Business Generated Links utilizan Cifrado Autenticado con Datos Asociados (AEAD por sus siglas en inglés) y un modelo llamado Encrypt then MAC (EtM). Con el fin de asegurar la integridad de los datos, Trustpilot utiliza una clave para cifrar el payload (encryptkey) y otra clave para el MAC part (authkey).

Desde tu cuenta Business de Trustpilot, ve a Recolectar > Métodos de invitación > Business Generated Links para encontrar las dos claves.

Crear Business Generated Links

  1. Las claves que has copiado en tu Cuenta Business de Trustpilot se muestran en un formato codificado en Base64. Por lo tanto, lo primero que debe hacer tu aplicación es una decodificación Base64 de las claves.
  2. Crea el objeto payload en formato JSON e inserta la información del cliente. Los siguientes campos son obligatorios: email, nombre y ref (número de referencia). Aquí tienes un ejemplo:
    {
      "email":"xyz@dominio.com",
      "name":"Juan Pérez",
      "ref":"1234",
      "skus":["sku1","sku2","sku3"],
      "tags":["tag1","tag2","tag3"]
        }

    Las etiquetas no deben contener espacios.

  3. Encripta el payload para asegurarte de que no pueda ser leído por terceros. Realiza el cifrado con AES-CBC usando una longitud de clave de 256 bits, un tamaño de bloque de 128 bits y el modo de relleno PKCS7
    • Genera un Vector de Inicialización (IV) acorde con el tamaño de bloque (128 bits).
    • Cifra el JSON con el encryptkey y el IV.
    • Crea una firma para el ciphertext.
    • Para ello utilizamos HMAC-SHA256 y la authkey. Determina el HMAC mediante el hashing del IV, seguido del ciphertext. Aquí tienes un ejemplo: HMAC = HMAC-SHA256( IV + ciphertext ).
  4. Ahora, codifica en base64 el IV + ciphertext + HMAC. De esta forma: base64_payload = base64( IV + ciphertext + HMAC ).
  5. Finalmente, dado que base64 incluye la barra obliqua (/) y el signo más (+), es necesario hacer una codificación URL del playload de arriba, antes de incluirlo en el enlace final.
  6. El enlace final debe ser como este:
      payload = urlencode( base64_payload )
      https://www.trustpilot.com/evaluate-bgl/<domain>?p=<payload>
    
  7. Reemplaza el dominio con el nombre de tu dominio y el payload con el payload que generaste en el paso 5.

El siguiente diagrama de flujo muestra los pasos que hay que dar para formatear, encriptar y preparar correctamente los datos del payload antes de su distribución:

Diagrama de flujo sobre los Business Generated Links

Cómo verificar un Business Generated Link

Hay dos maneras de verificar que un Business Generated Link ha sido creado correctamente:

Prueba tu enlace en un navegador

Pega el enlace en un navegador y realiza la búsqueda. Después, crea una opinión de prueba. Selecciona una valoración en estrellas, añade un título y escribe una opinión. Si el botón Publica tu opinión ahora está activo, el proceso de cifrado se ha realizado correctamente. Si se te pide que inicies sesión con Facebook, Google o con tu email, significa que el proceso de cifrado ha fallado. No publiques la opinión de prueba.

Este es un ejemplo de un proceso de cifrado exitoso a la izquierda y uno fallido a la derecha:

Ejemplo de un proceso de cifrado exitoso a la izquierda y uno fallido a la derecha:

Prueba tu enlace con nuestra Command Line Interface (CLI)

Puedes instalar nuestra Command Line Interface (CLI) en tu ordenador para labores de desarrollo. Si puedes descifrar tu payload con el CLI, entonces lo has encriptado correctamente.

Evita el uso de emails de prueba genéricos (p.ej. test@gmail.com). Utiliza una dirección de email única.

Codificación de los Business Generated Links para las opiniones del producto

Para recolectar Opiniones del Producto con los Business Generated Links, añade los SKU de los productos a tu payload. Aquí puedes ver un ejemplo de un payload que incluye los SKU de los productos. Se trata de una sencilla matriz JSON:

{
  "email":"xyz@dominio.com",
  "name":"Juan Pérez",
  "ref":"1234",
  "skus":["sku1","sku2","sku3"]
}

¿Cómo puedo determinar la localización de un Business Generated Link para un país en concreto?

Para determinar la localización del enlace, retira el inicio "www." y pon en su lugar el código correspondiente al país en cuestión. Por ejemplo:

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

Invitar a escribir Opiniones locales con Business Generated Links

Si quieres utilizar Business Generated Links para invitar a tus clientes a escribir opiniones sobre tus establecimientos locales, tienes que incluir el campo de la localización cuando añadas los datos del cliente en el objeto 'payload'. Utiliza el mismo identificador (Id) de localización que el asignado al establecimiento.

Aquí tienes un ejemplo:

{
  "email":"xyz@dominio.com",
  "name":"Juan Pérez",
  "ref":"1234",
  "locationId": "id1",
  "skus":["sku1","sku2","sku3"],
  "tags":["tag1","tag2","tag3"]
}

El identificador de la localización (LocationId) tienen en cuenta las mayúsculas y minúsculas.

Related articles