Table of Contents

Constructor de flujos avanzado: Webhook

¿Cuándo se puede utilizar el Webhook en el Constructor de Flujos?

Las funciones avanzadas de Constructor de Flujos son un complemento del plan normal y se cobran por separado.

Por defecto, este icono se muestra con el logo "PRO", como se muestra a continuación.

Este icono puede seguir siendo utilizado para construir un flujo bajo el plan regular y el flujo puede ser guardado con éxito. Sin embargo, cuando queramos seleccionar estos flujos avanzados para usarlos como Acción de Palabra Clave o Acción por Defecto, habrá una ventana emergente pidiéndonos que nos actualicemos para poder usar estas características avanzadas del constructor de flujos.

Después de actualizar WATI al plan PRO, podemos usar estos flujos avanzados en Acción de Palabra Clave o Acción por Defecto.

Significado y uso

Webhooks: Por medio de los webhooks, tu puedes recuperar (GET) o enviar (POST) datos de un lugar a otro. Supuestamente, tienes tu propia base de datos.

Para utilizarlo: Nada más arrastra y suelta el icono del webhook o cuando extiendas el flujo selecciona la función de webhook.

Características

  1. URL y Método

Aquí es donde puedes elegir:

  • Método GET
  • Método POST

Y su punto final de la URL de la API externa.

También puedes hacer que tu URL sea dinámica insertando variables desde el botón de variables que se muestra en la imagen de arriba.

Para añadir variables, debe hacerlo siempre en la Ruta de la URL.

Ejemplo: URL ⟶ https://webhook-wa-testing.clare.ai/16d6942a-64cb-43f3-8e8a-2bddace647f3?name={{name}}

  1. Personalizar cabeceras

Las cabeceras en las solicitudes de webhooks HTTP se utilizan generalmente para especificar el propósito de este webhook o el tipo de contenido que contiene.

El uso de las cabeceras es completamente opcional, y por defecto está desactivado.

Como se muestra en la imagen de arriba, puede establecer las cabeceras como pares clave-valor, y luego cuando establezca la solicitud se enviará en Cabeceras.

Ejemplo: key = Content-Type , value = application/x-www-form-urlencoded

por lo que se enviará como:

Content-Type : application/x-www-form-urlencoded

  1. Personalizar el cuerpo

En esto puedes enviar información en el cuerpo de la petición del webhook, esto también es completamente opcional y se establece como desactivado por defecto.

Esto se escribe en formato JSON, de lo contrario habrá un error.

Un ejemplo de cómo debería ser el cuerpo de la petición

{

"name" : "@name",

"address" : "@address"

}

  1. Establece tu variable de prueba

Configura manualmente tus variables de prueba aquí.

  1. Prueba de solicitud

Puede probar la solicitud de la API haciendo clic en el botón "Probar la solicitud".

  1. Guardar las respuestas como variables

También puedes guardar la respuesta de una solicitud como variables cada vez que actives el método webhook.

Ahora puedes elegir entre convertirla en un atributo personalizado o guardarla como una variable.

Si la respuesta de tu API es un JSON con valor-clave pagado, puedes almacenar cada uno de los valores pasando el nombre de la clave.

Por ejemplo, si desea almacenar "Hola de Webhook" de esta respuesta

Necesitas almacenarlo como se indica a continuación.

Una vez hecho esto, puede escribir su variable o atributo personalizado y guardar toda la respuesta.

Almacenamiento de respuestas dentro de un objeto

Si quiere almacenar el valor de la respuesta que está dentro de un objeto, necesita usar el objectkey.keyname

Ejemplo -

{ 
"Result": {
"MobileClientInfoStatus": "OpenQuote",
"PolicyId": "00000000-0000-0000-0000-000000000000",
"QuoteId": "xxxxx",
"CustomerId": "xxxxxx",
"QuoteNumber": "xxxxxx",
"PolicyNumber": null,
"LmsStatus": false,
"BucketKey": null,
"Quote": null
},
"MessageValidation": null,
"QuoteReferrals": null
}

Si tu respuesta es como la anterior, y quieres almacenar el QuoteId, sólo tienes que utilizar Result.QuoteId

Almacenamiento de respuestas dentro de un objeto

Si su respuesta está dentro de un array de cualquier objeto como el de abajo -

[
{
"tracking_data": {
"track_status":1,
"shipment_track" : [
{
"id":1278937320,
"current_status":"Delivered"
}
]
}
}
]

Puede utilizar esto para almacenar - $.[0].tracking_data.shipment_track[0].current_status

  1. Enrutamiento de la respuesta

Puede utilizar el enrutamiento de la respuesta en su flujo para que siempre que un estado de la solicitud coincida con el estado esperado siga el flujo de acuerdo con eso.

Ejemplo

200 - Solicitud correcta

400 - Solicitud incorrecta

Aquí puede dividir su flujo de acuerdo con los códigos de estado de la respuesta.

Se mostrará así en el flujo:

Ahora, puede configurar los mensajes que los siguen. Supongamos que para el estado = 200, enviaré un mensaje diciendo HTTP Request Succesful.

Esto es todo acerca de su función de flujo webhook.

Gracias.

How did we do?

Qué funciones están disponibles en el generador de flujo avanzado

Generador de flujo avanzado: actualizar atributo

Contáctanos