<< Clic para mostrar Tabla de Contenidos >> Ejemplo de conector Asistido |
Esta sección ilustra un ejemplo a manera de paso a paso, para crear un conector de tipo Asistido REST.
En el eje,plo, se envía un mensaje de texto (SMS) a un número telefónico dado, por intermedio de los servicios de Plivo desde un proceso de Bizagi.
Para mayor información sobre esta funcionalidad, consulte los conectores Asistidos REST.
Recuerde que para integrar un sistema/aplicación que provea servicios en la nube como los de Plivo, usted necesita una cuenta autorizada y que tenga saldo para enviar mensajes SMS (o llamadas de texto a voz)., o en su defecto, utilizar una cuenta de evaluación.
Lo anterior incluye cualquier configuración relacionada a la configuración de autorización en la cuenta, de manera que por ejemplo, los números telefónicos utilizados para estos propósitos hayan sido verificados.
En resumen y específicamente para la conexión con Plivo, se necesita de una cuenta, de la cuál se utilizarán sus credenciales en pasos de configuración posteriores.
Las credenciales necesarias para esta integración son proporcionadas por Plivo (para consulta en https://console.plivo.com/accounts/login/?next=/dashboard/).
En este ejemplo, se utilizarán: Auth Token y Auth ID.
Pasos
Los pasos a nivel general, que se ilustran en este ejemplo son:
1. Crear el conector: Los pasos necesarios para producir el conector, utilizando el Connector Editor).
2. Probar el conector: Los pasos realizados en Bizagi Studio para contar con un proceso que utilice dicho conector.
El paso #2 considera un proceso de ejemplo que ilustra el potencial de este conector puntual. Para este paso, usted debe conocer sobre el uso y opciones básicas de Bizagi Studio, y tenga presente que usted no necesariamente debe utilizar este mismo proceso para probar este conector. |
1. Crear el conector
Para empezar a crear el conector de Plivo, nótese que su API inicialmente resalta cómo la integración puede lograrse mediante la autenticación básica (esto significa en este punto, sin la necesidad de librerías de conectividad adicionales).
1.1 Consultar la documentación del API de Plivo.
Consulte la descripción inicial del tipo de autenticación (en https://www.plivo.com/docs/api/request/), además de otros datos importantes de especificación del API como por ej la codificación del mensaje que se usa -content type):
Consulte cómo se realiza la integración en https://www.plivo.com/docs/getting-started/send-a-single-sms/.
Desde allí, considere la siguiente información importante:
URL de punto de invocación (Endpoint) y tipo de acción.
•URL: https://api.plivo.com/v1/Account/{auth_id}/Message/
•Action Type: POST
Argumentos (entradas)
•src: Número telefónico de origen.
•dst: Número telefónico del destinatario.
•text: Texto que se envía.
Respuesta (salidas)
•message: La respuesta entregada por el servicio de Plivo.
•Otros como message_uuid y API_ID, no son relevantes para nuestro ejemplo.
1.2. Crear un nuevo conector Asistido REST.
Acceda al Connector Editor y cree un conector nuevo siguiendo estos pasos.
a.Registre la información básica del conector.
b.Cree una acción de tipo POST y seleccione Basic como el método de autenticación de la acción.
c.Diríjase a la pestaña de Headers y defina el content type de tipo application/json. Después, incluya los parámetros dentro de la cadena de la URL usando corchetes para envolver el nombre de la variable que representa a ese parámetro. Esto lo puede hacer directamente sobre la URL, o en la pestaña de Params. En este caso, solamente el ID único que proporciona Plivo: {{auth_id}}.
d.Defina la estructura de entrada (recuerde que no es necesario incluir la totalidad de los campos; solamente aquellos que su conector soporte (p.e que bien sean obligatorios, o que tengan sentido como configurables dentro de su conector).
e.Defina la estructura de salidas (de nuevo, no necesariamente debe especificarlos todos sino solamente los que considere que aportan a su conector).
f.Guarde el conector.
2. Probar el conector
Una vez que haya creado el conector, su instalación, configuración y uso se lleva a cabo desde Bizagi Studio.
Para ilustrar este propósito y todo el potencial de su uso, presentamos un proceso que registra un nuevo cliente (p.e en un portal web de un banco), y envia un mensaje SMS al número telefónico que proporcione, confirmando su registro.
El proceso es el siguiente:
El detalle técnico detrás de este proceso, considera que una vez que el cliente se registre, el sistema genera y envía automáticamente un token vía SMS pero que expira después de un día (para que el cliente use esta información a su vez para ingresar al portal, p.e una contraseña inicial aleatoria).
2.1 Implementando el proceso.
Basado en el modelo BPMN del proceso anterior, los detalles de implementación consideran las siguientes definiciones:
a.Utilice este modelo de datos:
b.Defina la forma para la tarea llamada Registro de cliente (Client registration).
c.Defina la forma que permite ingresar nueva información de un cliente (asegúrese de activar la opción de permitir nuevos registros -Allow new records):
d.Usted puede crear definiciones de constantes, las cuáles son administrables desde el portal de trabajo. Estos valores pueden ser utilizados directamente desde expresiones.
CONSTANTE |
DESCRIPCIÓN |
---|---|
SourcePhone |
El número telefónico que se usa como origen del SMS, que podría variar en el tiempo. |
Minimum Retries |
El número de reintentos para enviar tokens de seguridad, antes de que sea necesario que el cliente inicie un nueva solicitud. |
Auth_Id |
El ID de autenticación que entrega Plivo. A pesar de que su uso no es estándar en servicios web, es la manera que Plivo presenta para autenticar usuarios y por ello, su valor podría configurarse desde las constantes administrables. |
SMSMessage |
El mensaje plantilla que se envía junto con el token. |
SMS_FailureMessage |
El mensaje que se muestra en caso de que el cliente agote sus intentos máximos y deje caducar los tokens. |
e.Configure la compuerta de reintentos (Retries exceeded?) con un número de reintentos que considere conveniente.
Nótese que cuando los reintentos no se han excedido, entonces sucede un nuevo intento de envío de SMS con token.
De lo contrario, un SMS con el mensaje de error acerca de reintentos superados se envía.
f.Defina una regla para generar un token, asigne el mensaje a enviar dependiendo de si se han superado los reintentos o no. Para la tarea de registro del cliente (Client registration task), asigne los valores iniciales del caso (usuario y fecha), el ID de autenticación de Plivo, y el número registrado que origina el mensaje.
//Case information
<CustomerAccountCreation.Currentuser> = Me.Case.WorkingCredential.UserId;
<CustomerAccountCreation.AccCreationDate> = DateTime.Today;
//Connector information
<CustomerAccountCreation.Input_SourcePhone> = CHelper.resolveVocabulary(Me,"SourcePhone");
<CustomerAccountCreation.Input_Auth_Id> = CHelper.resolveVocabulary(Me,"Auth_Id");
g.Defina una regla para la tarea de generación de token (Generate token): Mediante una cadena aleatoria de caracteres alfanuméricos que se almacena en una columna Temporary Token de una entidad auxiliar (p.e Web Portal Credentials entity).
Esta expresión debe ser usada en el On Exit de la tarea.
Al generar el token, recuerde incrementar el valor para su uso siguiente a futuro.
h.Declare una variable para la generación del token.
Token = "";
for(var i = 0; i<10; i++){
var newCharacter = CHelper.Math.Rand(0,9);
Token = Token+""+newCharacter;
}
<CustomerAccountCreation.Customer.WebPortalCredentials.TemporaryToken> = Token;
Incremento del valor de reintento:
<CustomerAccountCreation.Retries> = <CustomerAccountCreation.Retries> + 1;
i.Tarea de envío de token (Send token): Asigne el mensaje a enviar.
<CustomerAccountCreation.Input_Message> = CHelper.resolveVocabulary(Me,"SMSMessage");
j.Tarea de notificación de fallo (Notify creation failure): Asigne el mensaje de error a enviar.
<CustomerAccountCreation.Input_Message> = CHelper.resolveVocabulary(Me,"SMS_FailureMessage");
2.2 Configurar el conector.
Ahora que el proceso está adecuado para usar el conector, conéctelo al proceso mediante estos pasos.
a.Vaya a la vista de Experto y dé clic en Sistemas Externos. Seleccione Conectores API y abra su conector.
b.Haga clic derecho sobre la versión de su conector para agregar una Nueva Configuración de Sistema.
c.Ingrese un nombre y una descripción a la configuración, y asegúrese de seleccionar también el método de autenticación soportado ("Basic Authentication") de la lista desplegable. Configure los parámetros: Auth ID que entrega Plivo como usuario, y de manera similar, el Auth Token given como contraseña. Estas credenciales se utilizarán a partir de este punto para las acciones que presenta el conector.
d.De vuelta en la vista de asistente (wizard view), seleccione el cuarto paso (Activity Actions). Adicione una acción de actividad de tipo conector que se ejecute a la salida (on Exit) de la tarea:
e.Seleccione el conector y luego la acción a ejecutar.
f.Mapee los datos de entrada.
g.Mapee los datos de salida y dé clic en Finalizar (Finish).
En este punto, se ha configurado el uso del conector y resta únicamente verificarlo en ejecución.
Ejecución
Inicie el portal de trabajo de Bizagi para ejecutar y probar el conector.
Para ello, cree un nuevo caso, y adicione la información del nuevo cliente, con un número telefónico que usted pueda verificar (y que esté autorizado en Plivo).
Dé clic en Siguiente (Next) al finalizar.
Seguidamente, podrá corroborar que un mensaje de texto es enviado al número telefónico del cliente registrado.
Last Updated 1/3/2024 3:00:57 PM