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, mas un par de actividades extras exclusivas para su desarrollo, las mismas serán explicadas en cada caso de uso.

Contenido

Table of Contents

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

Expand
titleTipos de start activity

1 - Start Activity - Para flujos de Telefonía

2 - Bot Start Activity - Para flujos de Bots

3 - BotFunction Start Activity - Para crear extensiones de bots

4 - Webhook Start Activity - Para recibir información desde un tercero

5 - 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

AGENT, MESSAGE, TO, ATTACHMENTS, CAMPAIGN, GUID, SMS_GUID

Expand
titleDetalle de variables
  • AGENT
    nombre del agente si hay interaccion

  • MESSAGE
    mensaje

  • TO
    numero destinatario

  • ATTACHMENTS
    array de objetos, cada uno conteniendo un attachment

    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 interaccion

  • GUID
    guid de la interaccion

  • SMS_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

...

titleDetalle de variables

BODY

  • type: Obj

  • example:

Code Block
{ "name": "Daniel" }

HEADERS

...

type: Obj

...

uContact permite la creación de webhooks entrantes para poder realizar acciones personalizadas cuando se ejecuten mediante llamadas HTTP el Webhook específico. Se pueden crear tantos webhooks como se deseen y cada uno se ejecuta llamando a una ruta específica. A su vez, es posible devolver un resultado personalizado, tanto el código de respuesta, cuerpo y headers.

Los Webhooks se crean utilizando el diseñador de flujos de uContact y cada uno tiene un nombre único. Los mismos van a ser ejecutados al realizar una llamada de tipo GET, POST, PUT o DELETE a una ruta en específico. Solo es posible recibir peticiones de tipo “application/json” y “application/x-www-form-urlencoded”.

Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#DEEBFF

https://<instancia>.ucontactcloud.com/IntegraChannels/resources/webhook/<nombre del webhook>

Variables disponibles

Al ejecutar un flujo de webhook se setean variables globales disponibles disponibles desde javascript que contienen la información de la petición: método, body y headers.

METHOD

El método HTTP de ejecución de la petición. Los valores pueden ser GET, POST, PUT, DELETE

  • type: String

BODY

type: Object

Info

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

Code Block
{ "name": "Daniel", "age": 23 }

FORM_PARAMS

Info

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

  • type: Object

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

HEADERS

  • type: Object

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
titleDetalle de aplicación ReceiveNewMessage
Image Removed
  • message
    Mensaje, si corresponde

  • attachment
    Url de attachment

  • from
    Numero que envia el mensaje

  • did
    Numero al que se envia el mensaje, tiene que coincidir con el did de la campaña para que entre a la campaña

  • id
    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 y invalid_number.

...

QUERY_PARAMS

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

  • type: Obj

Ejemplo para la solicitud https://(Instancia).ucontactcloud.com/IntegraChannels/resources/webhook/test?phone=123123&name=John

Code Block
{
  "phone":"123123",
  "name":"John"
}

Acciones disponibles

Se pueden ejecutar todas las acciones disponibles en forma de actividades en el diseñador, consultas a la base de datos, ejecución de métodos de la API de uContact, inyección de mensajes entrantes y ejecución de javascript.

Respuesta

Si no se utiliza la actividad SetWebhookResponse en el flujo de webhook, por defecto la respuesta será 200 con el body vació. En cambio al utilizarla se puede tener total control de la respuesta producida.