Node.js

Conectar con el backend

Integración de la interfaz de usuario con los puntos finales del backend

En el módulo anterior construimos la interfaz de usuario y una pequeña máquina de estados de interfaz de usuario (VerifyUiState). Ahora conectaremos esa UI a nuestro backend.

La idea principal es que la aplicación para Android nunca llamará a Vonage directamente. Solo llamará a tu backend:

  • POST /verification para iniciar el flujo de verificación

  • POST /check-code para validar un código (código SMS por ahora)

  • POST /next forzar el canal alternativo (SMS) inmediatamente (para no esperar ~20 segundos)

Empecemos por la aplicación.

Iniciar verificación (POST /verification)

Cuando el usuario pulsa Iniciar verificación:

  1. La aplicación envía el número de teléfono a /verification

  2. El backend vuelve:

    • request_id (siempre)
    • check_url (opcional, se utiliza más adelante para la autenticación silenciosa)
  3. En esta sección, omitiremos la autenticación silenciosa y solicitaremos inmediatamente el retorno a SMS llamando a /next

  4. La interfaz de usuario pasa a la pantalla SMS (EnterSms(requestId))

Enviar código SMS (POST /check-code)

Cuando el usuario pulsa Enviar código:

  1. La aplicación envía { request_id, code } a /check-code
  2. El backend responde con { verified: true/false }
  3. La interfaz de usuario muestra éxito o "código no válido".

Forzar el retroceso rápidamente (POST /next)

Llamando a /next es opcional desde el punto de vista de la "corrección" (Vonage puede retroceder automáticamente), pero es muy útil para UX:

Si ya sabemos que no vamos a completar la autenticación silenciosa (o aún no la estamos implementando), llamar a /next evita la espera del tiempo de espera de la Autenticación Silenciosa.