Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

Dentro del Workflow Designer se encuentran las actividades que permiten crear proveedores y webhooks para uContact.

Note

Los flujos de proveedores y webhooks poseen algunas de las actividades detalladas en los bots, más un par de actividades extras exclusivas para su desarrollo, las mismas serán explicadas en cada caso de uso.

Contenido

Table of Contents
Tip

Una vez que se coloque la start activity deseada, se desplegarán las actividades relacionadas con su canal y necesarias para la creación del flujo.

Info

Para ver más sobre las actividades, ir a https://integra-scm.atlassian.net/wiki/spaces/UVE/pages/2398715907/Actividades+del+Dise+ador+de+flujos#WebhookStartActivity,-ChannelProviderStartActivity-y-BlacklistStartActivity

...

uContact permite la creación de proveedores personalizados que no están incluidos dentro de los que ya posee uContact en todas sus instalaciones. Lista de proveedores de SMS, Lista de proveedores de Whatsapp.

Es posible integrar un proveedor en todas sus funcionalidades o parcialmente, dependiendo de las capacidades del proveedor o del uso que necesitemos en uContact. Por ejemplo, para un discador es posible que solo haga falta implementar el envío, pero para dar atención a clientes sería necesario el envío, la recepción y la actualización de estados (enviado, recibido, visto etc).

Envio de mensajes

Primero es necesario, utilizando el Diseñador de flujos crear un flujo con la actividad ChannelProviderStartActivity. El nombre que asignemos como parámetro de la actividad será el nombre del proveedor y tendrá que ser único.

Luego utilizando las variables disponibles debemos ejecutar la llamada al servicio del proveedor con la actividad ExecWebService.

Cuando tengamos el resultado de la ejecución es necesario con la actividad MessageResult informarle al sistema el resultado de ese envío y el id único de mensaje con el que el servicio respondió. (Esto va a ser útil para actualizar mas adelante el estado del mensaje).

Una vez el flujo sea guardado, va a estar listo para usarse como provedor de campañas de SMS/Whatsapp o como provedor de discadores de SMS/Whatspp para automatizar el envío.

Variables disponibles

AGENT
Nombre del agente si hay interacción.

  • type: String

MESSAGE
Mensaje.

  • type: String

TO
Número destinatario.

  • type: String

ATTACHMENTS
Array de objetos, cada uno conteniendo un attachment.

  • type: Array

Code Block
languagejson
[
  {
    "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 interacción.

  • type: String

GUID
GUID de la interacción.

  • type: String

SMS_GUID
GUID único del mensaje.

Tip

Para crear un proveedor personalizado, lo más común es que se use la aplicación ExecWebService.

WebhookStartActivity

Info

Para llamar al webhook se debe realizar una request del siguiente tipo con los métodos GET POST PUT o DELETE.

https://(Instancia).ucontactcloud.com/IntegraChannels/resources/webhook/(Nombre-del-Webhook)

Variables disponibles

METHOD

  • type: String

  • example: GET, POST, PUT, DELETE

Info

En caso de que la request a uContact sea del tipo application/json

BODY

  • type: Obj

  • example:

Code Block
{ "name": "Daniel" }
Info

En caso de que la request a uContact sea del tipo application/x-www-form-urlencoded

FORM_PARAMS

  • type: Obj

  • example:

Code Block
{ "param1": "param1", "param2": "param2" }

HEADERS

  • type: Obj

  • example:

Code Block
{
	"Accept"🙁
		"/"
	],
	"Cache-Control"🙁
		"no-cache"
	],
	"Connection"🙁
		"close"
	],
	"User-Agent"🙁
		"PostmanRuntime/7.26.8"
	]
}
  • Pueden ser: sent, delivered, read, error, invalid_session e invalid_number.

QUERY_PARAMS

Parámetros pasados por la URL del webhook, los mismos son clave - valor.

Info

https://(Instancia).ucontactcloud.com/IntegraChannels/resources/webhook/Ejemplo?Telefono=123123&Nombre=John

Ejemplo:

  • Tipo: Obj

...

  • type: String

Recepción y actualización de estado

Para recibir mensajes en uContact es necesaria la creación de un flujo de webhook tal como se explica en la siguiente guía. Creación de Webhooks salientes. En este webhook hay que utlizar la actividad ReceiveNewMessage para indicarle al sistema la recepción de un nuevo mensaje. Algo importante a aclarar es que aquí se indica a que número fue envíado el mensaje con el campo ”did”. Para que el mensaje vaya a una campaña en específico es necesario que la campaña posea el mismo “did”.

La actualización de estado de mensajes envíados solo es posible si se proporcionó el id del mensaje saliente devuelto por el proveedor al momento del envío, descrito en el paso anterior. Para indicar el estado del mensaje utilizar la actividad MessageStatus.

Notificación de cierre de interacción

Es posible y opcional ejecutar un evento al momento que una interacción de uContact finalicen en caso de que estas estén asociadas a un proveedor personalizado. Para poder lograr este comportamiento, es necesario crear un flujo como se menciona en el paso de envío de mensajes, con el mismo nombre del proveedor seguido de “-h“. Ejemplo, si mi flujo de proveedor personalizado se llama “provider“, al momento de finalizar una interacción asociada a dicho proveedor uContact ejecutará en caso de que exista el flujo “provider-h“. Normalmente esté flujo será simplemente una ejecución a un servicio externo. Luego, no es necesario agregar nada mas al mismo.

Creación de proveedores de Whatsapp

Las interacciones que utilicen proveedores personalizados se mostrarán en la Unified Inbox del agente con el ícono de SMS. Para que se muestren con el ícono de Whatsapp y junto a este con las opciones para enviar adjuntos, es necesario agregar al nombre la palabra “whatsapp“. De este modo, simplemente con tener un proveedor con el nombre “provider-whatsapp“ ya sería suficiente.

Ejemplos de uso

A continuación se proporcionan dos flujos de ejemplo de una implementación ficticia que es posible realizar en uContact. En el diseñador de flujos es posible utilizar javascript para analizar el contenido del body y realizar acciones complejas en caso de ser necesario. De todas formas se recomienda en caso de ser posible diseñar una api sencilla para reducir la complejidad de los flujos y simplificar el mantenimiento.

View file
nameprovider.json
View file
namewebhook-provider.json

Descargar los archivos y abrirlos con el diseñador de flujos de uContact.