Verificación de identidad de clientes
Documentación para integrar la autenticación de clientes finales
Introducción
Algunos flujos conversacionales requieren la verificación de identidad de las personas que interactúan con las empresas en los canales digitales. El presente documento explica como llevar a cabo tal verificación.
Requerimientos
Se requiere permitirle a los clientes finales iniciar sesión en una aplicación web y que tal autenticación le permita operar contra el bot de forma segura e identificada.
Implementación
Dado cierto flujo conversacional, el bot puede solicitarle al usuario que ingrese a un enlace para realizar la autenticación. Por ejemplo; https://example.com/sign-in/?mappingHash=MAPPING_HASH_VALUE
. El parámetro mappingHash
es un hash que identifica de forma única la sesión de autenticación.
La página https://example.com/sign-in/?mappingHash=MAPPING_HASH_VALUE
deberá:
Guardar el valor contenido en el parámetro
mappingHash
.Pedirle al usuario que ingrese su usuario y contraseña.
Una vez autenticado el usuario, se deben ejecutar dos consultas a
https://backend.optiwe.com
.Una vez terminadas las consultas, redirigir al usuario a
https://api.whatsapp.com/send/?phone=TELEFONO_DE_LA_EMPRESA
A continuación se detallan las consultas a realizar una vez autenticado el usuario. La documentación de la primera consulta es:
URL:
https://backend.optiwe.com/hash-mappings/MAPPING_HASH_VALUE/
Verb:
GET
Cuerpo de respuesta:
Alguno de los datos devueltos por la consulta serán utilizados en la siguiente petición HTTP.
Notar que una vez ejecutada la segunda consulta, el hash quedará obsoleto. Una vez invalidado el hash, si se volviera a consultar se obtendría la siguiente respuesta:
Status code:
404 Not found
Cuerpo de respuesta:
La segunda petición HTTP debe realizarse estrictamente una vez que el usuario se haya autenticado exitosamente con su usuario y contraseña. La documentación es:
URL:
https://backend.optiwe.com/chat/history/
Verb:
POST
Request headers:
Content-Type:
application/json;charset=UTF-8
Authorization:
Bearer TOKEN_OBTENIDO_EN_PETICION_1
Request body:
Veamos cómo llenar cada uno de los campos:
userUuid
: Tomarlo de la petición número 1messageFrom
: Tomarlo de la petición número 1messagePayload.type
: Siempre debe enviarse con el valorSIGN_IN
messagePayload.signInPayload
: Siempre debe enviarse con el valor{"auth": true}
Una vez ejecutada la segunda petición, hacer una redirección a https://api.whatsapp.com/send/?phone=wanumber
, donde wanumber
se debe tomar de la petición número 1.
Última actualización