Al iniciar el Workflow Designer podemos ver las Start Activity
Estas son la actividad inicial de cualquier flujo, al arrastrar una hacia la mesa de trabajo, se define qué tipo de flujo será.
Tipos de start activity
1 -Start Activity - Para flujos de Telefonía.
Bot Start Activity - Para flujos de Bots.
BotFunction Start Activity - Para crear extensiones de bots.
Webhook Start Activity - Para recibir información desde un tercero.
ChannelProvider Start Activity - Para enviar información hacia un tercero.
Tip |
---|
Una vez que se coloque la start activity deseada, se desplegarán las actividades relacionadas a su canal y necesarias para la creación del flujo. |
ChannelProvider Start Activity
Campo de configuración
name
Va a ser el nombre del proveedor, el mismo va a aparecer en las campañas de sms/whatsapp y en los discadores del mismo canal.
Tip |
---|
Si el nombre del proveedor contiene la palabra "whatsapp" en la unified inbox va a aparecer con iconos de whatsapp y el agente va a tener la posibilidad de enviar attachments |
Variables disponibles
AGENTAGENT
title | Detalle de variables |
---|
nombre del agente si hay interaccionMESSAGE
mensajeTO
numero destinatarioATTACHMENTS
array de objetos, cada uno conteniendo un attachmentCode Block language json [ { "extension":"png", "path":"20210226/8b5eb91a-2799-4c30-a712-9cfbbd333f49.1584030188436.png", "url":"https://example.ucontactcloud.com/attachments/20210226/8b5eb91a-2799-4c30-a712-9cfbbd333f49.1584030188436.png", "type":"image/png" } ]
CAMPAIGN
campaña de la interaccionGUID
guid de la interaccionSMS_GUID
guid unico del mensaje
MessageResult
Para informarle al sistema que el sms fue enviado bien o con error se debe usar la aplicación MessageResult, la misma requiere dos parámetros:
result
Resultado del envio (puede ser cualquier valor)id
Id unico del mensaje en caso que corresponda (este id es normalmente devuelto en la llamada a la API del proveedor)
Tip |
---|
Para crear un proveedor personalizado, lo más común es que se use la aplicación ExecWebService. |
Webhook Start Activity
Campo de configuración
name
Es el nombre del webhook que al mismo tiempo se va a corresponder con la ruta de POST para poder ejecutar el flujo
POST https://instance.ucontactcloud.com/IntegraChannels/resources/webhook/{name}
Variables disponibles
BODY , HEADERS
expandtitle | Detalle de variables |
---|
BODY
type: Obj
example:
Code Block |
---|
{ "name": "Daniel" } |
HEADERS
type: Obj
example:
Code Block |
---|
{
"Accept"🙁
"/"
],
"Cache-Control"🙁
"no-cache"
],
"Connection"🙁
"close"
],
"User-Agent"🙁
"PostmanRuntime/7.26.8"
]
} |
ReceiveNewMessage
El webhook se puede ejecutar para ejecutar muchas aplicaciones diferentes, desde la ejecución de una consulta, una llamada a un webservice, hasta la inyección al sistema de un sms/whatsapp entrante.
Tip | ||
---|---|---|
Para esto ultimo se utiliza la aplicación ReceiveNewMessage | ||
Expand | ||
|
message
Mensaje, si correspondeattachment
Url de attachmentfrom
Numero que envia el mensajedid
Numero al que se envia el mensaje, tiene que coincidir con el did de la campaña para que entre a la campañaid
Id unico del mensaje
MessageStatus
Esta actividad le permitirá actualizar los estados de los mensajes de WhatsApp, se le deben enviar dos parámetros:
id
Id único del mensaje (este id es el mismo que se envía en MessageResult).status
Los estados a actualizar pueden ser:sent
,delivered
,read
,error
,invalid_session
yinvalid_number
.
Log de flows
Se utiliza log4j2 como libreria para el log de flows, y el archivo donde se puede ver todo lo relacionado a los bots se encuenta en var/log/IntegraFlows.log
Este archivo no solo loguea los errores, sino que de manera similar a lo que se hace en el https://integra-scm.atlassian.net/l/c/nY4voq0m , loguea todas las actividades que se van recorriendo a medida que se recorre el flow.
El formato en que se imprime la información en IntegraFlows.log es el siguiente:
AAAA-MM-DD HH:mm:ss - [Número de thread] - [Nombre del flow - guid del flow] [Número de paso de la actividad]
Primero se va a loguear la ejecución de la actividad y luego se loguean los parámetros de la actividad que se ejecuto.
Cuando el flow finaliza se imprime el mensaje FINISH.
Ejemplo: