Ejemplo de conector Asistido

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Asistente de Procesos > Integrar > Integración con aplicaciones > Integrar APIs o código personalizado en Bizagi > Conectores de Bizagi > Crear conectores > Conectores Asistidos REST >

Ejemplo de conector Asistido

Introducción

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.

 

Antes de comenzar

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://manage.plivo.com/dashboard/).

 

example_REST_1

 

En este ejemplo, se utilizarán: Auth Token y Auth ID.

 

example_REST_2

 

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 Editor de Conectores).

2. Probar el conector: Los pasos realizados en Bizagi Studio para contar con un proceso que utilice dicho conector.

 

note_pin

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):

 

example_REST_30

 

Consulte cómo se realiza la integración en https://www.plivo.com/docs/getting-started/send-a-single-sms/.

 

example_REST_3

 

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 Editor de Conectores y cree un conector nuevo siguiendo estos pasos.

 

a.Seleccione Basic como el método de autenticación utilizado por este conector.

 

example_REST_4

 

b.Cree una acción y asegúrese de especificar: El content type de tipo application/json, e 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. En este caso, solamente el ID único que proporciona Plivo: {{auth_id}}.

c.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).

 

example_REST_5

 

 

d.Defina la estructura de salidas (de nuevo, no necesariamente debe especificarlos todos sino solamente los que considere que aportan a su conector).

 

example_REST_6

 

e.Habilite el "Uso de Autenticación" (dado que este método utiliza explícitamente la autenticación).

 

example_REST_7

 

f.Descargue el conector como un archivo .bizc.

 

example_REST_8

 

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:

 

example_REST_13

 

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 1 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:

 

example_REST_14

 

 

b.Defina la forma para la tarea llamada Client registration (Registro de cliente).

 

example_REST_15

 

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):

 

example_REST_16

 

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.

 

example_REST_21

 

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.

 

example_REST_17

 

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.

 

example_REST_18

 

 

 

//Case information

 <MediaPublicity.Newsregistrydate> = DateTime.Today;
 <MediaPublicity.Newsregistryperformer> = Me.Case.WorkingCredential.UserId;

 

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.

 

example_REST_22

 

//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.

 

example_REST_19

 

 

h.Declare una variable para la generación del token.

 

example_REST_20

 

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 envio de token (Send token): Asigne el mensaje a enviar.

 

example_REST_23

 

<CustomerAccountCreation.Input_Message> = CHelper.resolveVocabulary(Me,"SMSMessage");

 

j.Tarea de notificación de fallo (Notify creation failure): Asigne el mensaje de error a enviar.

 

example_REST_24

 

<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 experta (Expert view) y dé clic en sistemas externos (External Systems). Seleccione Connectors y adicione uno nuevo a partir de un archivo (usando Add connector from file).

 

example_custom_21

 

b.Seleccione el archivo .bizc descargado y dé clic en Aceptar (Accept). Seguidamente seleccione ese conector que aparece en el menú, y dé clic derecho sobre la versión (1.0.0) para adicionar una nueva configuración (New System Configuration).

 

example_REST_10

 

c.Ingrese un nombre y 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.

 

example_REST_11

 

d.De vuelta en la vista de asistente (wizard view), seleccione el cuarto paso (Activity Actions). Adicione una acción de actividad de tipo connector que se ejecute a la salidad (on Exit) de la tarea:

 

example_REST_12

 

e.Seleccione el conector y luego la acción a ejecutar.

 

example_REST_25

 

f.Mapee los datos de entrada.

 

example_REST_26

 

 

g.Mapee los datos de salida y dé clic en Finalizar (Finish).

 

example_REST_27

 

 

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).

 

example_REST_28

 

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.

 

example_REST_29