Novedades Twnel – Febrero 2021

by | Feb 23, 2021 | Industria | 0 comments

Soporte para firmas

Con el ánimo de darle más velocidad a los procesos que se realizan a través de Twnel en tu empresa, desarrollamos un input type de firma. Este input type puede ser usado como parte de un flujo de recolección de datos, constancias de entrega e incluso para que los usuarios finales puedan firmar al final de un proceso de registro de venta.

Spec Soporte de firmas
{
    "type": "send_message",
    "input": {
        "type": "signature",
        "method": "keyboard",
        "geotag": true/false,
        "data": [
            { "caption": "SIGNATURE_CAPTION_TEXT" }
        ]
    }
}
Funcionalidad de firma

Opciones para toma de fotos

Te escuchamos, es por eso que ahora tienes la capacidad de escoger la cámara frontal  (para selfies) o la camara de atras para tomar fotos de una locación o documento.

Spec de funcionalidad de opciones para toma de fotos
{
    "type": "send_message",
    "input": {
        "method": "keyboard",
        "type": "media",
        "geotag": true/false,
        "data": [
            { "media_type": "image|audio|video|application/pdf" },
            { "picker": "camera/gallery/all" },
            { "facing": "back/front" }
        ]
    }
}
Funcionalidad de captura de imagenes dentro de twnel

Posibilidad de definir el tiempo de espera en llamadas a un API

Esto además de ayudar a identificar fuentes de errores en tus bots, permite que si llamas un API que va a realizar un proceso que se demora varios segundos, pero que la respuesta no la necesitas en la siguiente transición, puedes usar timeout (con valor 1 segundo, por ejemplo). De esa forma el bot deja de esperar la respuesta del API y puedes redireccionarlo a otra transición.

 

Ejemplo:

Uno de tus proveedores necesita que le suministren datos de tu clientes que serán salvados en su CRM. Uno de esos datos es el documento de identidad. Sin embargo, en lugar de poder guardar un URL para la foto del frente del documento y otra para la de la parte de atrás, el CRM de ellos requiere que las 2 fotos esten en la misma imagen (a la izquierda el frente, y a la derecha el revés).

 

Puedes lograrlo llamando un API que reciba los URLs de ambas fotos y cree, dinámicamente la imagen compuesta. cuyo URL debes mandar al CRM de tu proveedor.

En este caso, ese proceso de unir las 2 fotos toma varios segundos. Sin embargo el flujo conversacional de pronto necesita capturar otra información antes de salvar todo en el CRM. Entonces, al llamar al API que combina las fotos, podemos darle timeout: 1, y re-enrutar inmediatamente el flujo al siguiente paso.

 

Luego, antes de salvar al CRM se puede llamar otro API que retorne el URL de la imagen compuesta. De esa forma se mejoró la experiencia del usuario, pues no tiene que esperar 10 segundos o más para poder continuar, después de tomar las fotos del documento. 

Nuevos “outputs” para el “input type” checkbox

Para el input type checkbox, dentro de los valores del output ahora retornamos también:

  • El arreglo (array) de los ids seleccionados
  • El arreglo de los labels seleccionados

Además del objeto seleccionado como se muestra a continuación:

Spec para Output para input type checkbox
 {
    "info": {
        "output": {
            "version": "1.0",
            "type": "checkbox",
            "data": [
                {"id": "a", "label": "A"},
                {"id": "c", "label": "C"}
            ],
            "answer": {
                "selected": [
                    {"id": "a", "label": "A"},
                    {"id": "c", "label": "C"}
                ],
                "ids": ["a", "c"],
                "labels": ["A", "C"]
            }
        }
    }

Esto es útil para pasar solo la lista de ids o de labels seleccionados, ahorrandote crear una función extra para hacer ese filtro.

Ahora puedes definir qué ejecutar dependiendo de errores específicos

Puedes usar  on_error para definir transiciones condicionales basadas en un error específico. 

Spec para transiciones condicionales basadas en errores específicos
"on_error": {
    "next": {
        "eval": "message_api_error_eval",
        "timeout": "message_api_error_timeout",
        "status": "message_api_error_status",
        "schema": "message_api_error_schema",
        "default": "message_api_error_default"
    }
}

Si sólo un error debe ser ejecutado, 1 sola transición es suficiente como se muestra a continuación.

"on_error": {
  "next": "message_api_error"
}
Novedades Twnel Febrero 2021
Copy link
Powered by Social Snap