Flujo de migración y desvinculación de entradas para Motics en la Billetera de Google

En esta página, se describe cómo implementar un flujo de traslado y desvinculación de tickets para Motics. Para proporcionar una buena experiencia del usuario, este debe poder mover su ticket de Motics de un dispositivo a otro dentro de ciertos límites definidos por la entidad emisora. La entidad emisora debe restringir el ticket a un dispositivo. El usuario debe borrar el ticket original antes de guardarlo en un dispositivo nuevo. Si el usuario no puede borrar el ticket original (quizás porque perdió el dispositivo), la entidad emisora debe desvincular el ticket del dispositivo anterior.

El flujo Transferir y desvincular debe cumplir con los siguientes requisitos:

  • Un ticket de Motics solo puede usarse en un dispositivo a la vez.
  • El usuario debe poder mover el ticket de Motics a un dispositivo nuevo en los siguientes casos:
    • Acceso al dispositivo anterior, por ejemplo, cuando se actualiza a uno nuevo
    • Sin acceso al dispositivo anterior, por ejemplo, cuando se pierde un dispositivo o se lo roban
  • La cantidad de traslados o activaciones de tickets debe estar limitada por controles adecuados de la entidad emisora de tickets de Motics, según se define en los requisitos comerciales de la PTO.

Experiencia del usuario

En esta sección, se describen con más detalle las dos situaciones diferentes de la experiencia del usuario, dependiendo de si el usuario aún tiene acceso a su dispositivo anterior cuando intenta mover un ticket de Motics.

El usuario tiene acceso al dispositivo anterior

En esos casos, el usuario puede iniciar el flujo de movimiento desde su dispositivo anterior:

  1. El usuario borra el boleto de Motics de la app de la Billetera en su dispositivo anterior.
  2. El usuario encuentra el correo electrónico de confirmación de la entidad emisora en su nuevo dispositivo o accede a la tienda web o al portal de venta de entradas y hace clic en un vínculo Guardar en la Billetera de Google para volver a guardar el ticket en la app de la Billetera de Google.

El usuario no tiene acceso al dispositivo anterior

Cuando el usuario no tiene acceso a su dispositivo anterior, debe iniciar el flujo de desvinculación y traslado desde el portal de venta de entradas de la tienda web o comunicándose con el servicio de asistencia al cliente de la entidad emisora, que puede iniciar el flujo de desvinculación en nombre del usuario.

  1. El usuario encuentra el correo electrónico de confirmación de la entidad emisora con instrucciones para llamar al servicio de atención al cliente y obtener asistencia, o inicia un flujo de desvinculación desde el sitio web de la entidad emisora o el portal de venta de entradas. Podría ser un botón de desvinculación en el portal de venta de entradas.
  2. La entidad emisora desvincula el ticket del dispositivo anterior en nombre del usuario (más detalles en la sección Responsabilidades de la entidad emisora).
  3. El ticket no se podrá usar (no se escaneará el código de barras) en el dispositivo original en cuanto la entidad emisora lo desvincule.
  4. La entidad emisora debe incluir el ticket anterior en la lista de bloqueo para garantizar que los dispositivos de inspección ya no puedan analizarlo.
  5. El ticket se borrará automáticamente del dispositivo original en cuanto vuelva a estar en línea (mejor esfuerzo).
  6. El usuario encuentra el correo electrónico de confirmación de la entidad emisora en su nuevo dispositivo o accede a la tienda web o al portal de venta de entradas y hace clic en un vínculo Guardar en la Billetera de Google para volver a guardar el ticket en la app de la Billetera de Google.

Responsabilidades de la entidad emisora

  • Durante la configuración inicial, la entidad emisora debe insertar transitClass con multipleDevicesAndHoldersAllowedStatus=ONE_USER_ONE_DEVICE.
  • El correo electrónico de confirmación que la entidad emisora envía al usuario en el momento de la compra debe contener instrucciones para mover el ticket a un dispositivo nuevo.
  • El correo electrónico de confirmación debe contener un identificador para el ticket de ayuda en el proceso de asistencia.
  • A fin de minimizar el volumen de contactos al mínimo, la entidad emisora también debe tener un botón de desvinculación en su tienda web o portal de tickets, en el que los usuarios puedan administrar sus tickets.
  • La entidad emisora es responsable de limitar la cantidad de veces que se puede activar un ticket. Esto se hace para evitar que los usuarios cambien de dispositivo (ambos con la misma cuenta en la Billetera) de un dispositivo a otro de forma indefinida con el mismo ticket.
    • La entidad emisora debe realizar un seguimiento de cuántas veces se llama al extremo de activación para el mismo objectId y rechazar la solicitud de activación si se excede el límite.
    • Dado que cada entidad emisora tiene sus propias reglas sobre la cantidad de veces que se puede mover un ticket, Google exige que las entidades emisoras se encarguen de la limitación de los traslados de tickets.
  • Si el usuario desea desvincular el ticket comunicándose con el servicio de asistencia al cliente, haz lo siguiente:
    • Si el usuario no puede quitar el ticket del dispositivo anterior, la entidad emisora desvincula el ticket llamando a transitObject:patch con {hasLinkedDevice:false} para el objectId del ticket.
      • La entidad emisora deberá encontrar el objectId del ticket en cuestión. Deberían buscar esto en función del identificador que se le proporcionó al usuario en el correo electrónico de confirmación.
  • Si el usuario inicia el flujo de desvinculación en la tienda web o el portal de entradas, haz lo siguiente:
    • La entidad emisora desvincula el ticket llamando a transitObject:patch con {hasLinkedDevice:false} para el objectId del ticket.
  • La entidad emisora debe incluir el ticket anterior en la lista de bloqueo para que los dispositivos de inspección ya no puedan analizarlo.

Responsabilidades de Google

En respuesta a recibir la llamada a transitObject:patch con {hasLinkedDevice:false}, Google revocará el certificado existente (si hay uno) con el servidor de Motics. Si el usuario aún tiene su dispositivo anterior con el ticket original, el código de barras ya no funcionará, ya que se borrará del dispositivo anterior, siempre que esté en línea o vuelva a estar en línea.

Diagrama de secuencias

Figura 1. Flujo de desvinculación de ticket de Motics Flujo de desvinculación de tickets de Motics

En la Figura 1, se muestran las llamadas a transitObject:patch y pruneTree() que se realizan para desvincular un ticket cuando el usuario ya no tiene acceso a su dispositivo anterior.