Graphlogic-latam
  • Getting Started
    • 🚀Guía de documentos
    • 📑Tutoriales de bots
      • 📋Creación de un robot de encuestas sencillo
      • ☔Creación de un bot con integración del servicio meteorológico
      • 🗣️Crear un bot con reconocimiento de voz
    • ❓PREGUNTAS FRECUENTES
    • 📔Qué preparar antes de crear tu Bot
      • 🔘Definir el objetivo y la funcionalidad necesaria
      • 💾Preparar los datos para el robot
      • 🧍Estilo de comunicación y humanización del bot
    • 📕Qué es Graphlogic.ai
    • 🗓️Historia de los comunicados
    • ▶️Cómo empezar a utilizar la Plataforma
      • 👨‍🦱Cuenta de usuario de la plataforma
        • 👨‍🦱Registro y autorización
        • 🏢Cuenta de usuario y empresa
        • 👨‍👨‍👦Funciones y gestión de usuarios en la empresa
        • 💵Suscripción y pago
  • 💻Vista general de las pestañas de la plataforma
    • 📁Pestaña Panel de control (Carpetas)
    • 📊Ficha Recursos
  • 🛠️Cómo crear tu Bot
    • 💡Proyecto: creación, edición, clonación y supresión
    • 🧾Agente y sus versiones
    • 🕵️‍♂️Agente: creación, edición y supresión
    • 📗Creación de un agente en Excel
    • 🔁Agente: exportación, importación, clonación y sustitución
    • 🗳️Visión general de BotBuilder y sus pestañas
      • 🗒️Pestaña Diseñador de agentes
      • 🎴Pestaña Intentos
      • 📖Pestaña Vocabularios
      • ↗️Ficha Solicitudes externas
      • ⬇️Fuentes de datos de preguntas y respuestas
    • 🚧Cómo construir el guión de un Agente
      • 🗃️Creación y tipos de ranuras y sub ranuras
      • 🎚️Desplazamiento y clonación de ranuras y ramas de script
      • 🧾Navegación por el árbol de guiones
      • 🖊️Cómo crear y configurar las franjas horarias
        • ▶️Inicio de un guión | Ranura de inicio
        • ⬇️Correos y notificaciones | Ranura para solicitudes entrantes
        • ⌚Activación del chatbot con un temporizador | Ranura del temporizador
        • 🛎️Correos en WhatsApp | Ranura de notificación
        • 📎Envío de archivos a usuarios bot | Ranura para archivos adjuntos
        • 📃Respuestas de texto | Ranura de texto
        • ⬆️External Request slot (Sending Requests to APIs from script)
        • 🗣️Transferencia del diálogo al operador | Cambiar ranura de modo de chat
        • 🧎Esperar el mensaje del usuario Bot | Esperar el espacio de reacción
        • 📚Bifurcación del script en función de las condiciones| Ranura de regla de transición y subranura de c
        • 7️⃣Botones en los mensajes del bot | Ranura de menú de botones +Subranuras de botones y Fallback
        • 🧏‍♂️Comprobación del formato de los datos introducidos por el usuario del bot| Ranura Expresión regular
        • 💡Reconocimiento de intenciones | ranura NLU + subranuras Intent y Fallback
        • 🤸‍♂️Transiciones a partes aleatorias del guión | Ranura de salto
        • 📑Recogida de datos del usuario Bot | Slot Llenado de slot
        • 💾Crear y guardar variables de contexto | Ranura de memoria
        • 📘Reconocimiento de entidades | Ranura para sinónimos
        • 🔄Implementación de bucles en un script | Repetición de slotGraphlogic.ai documentación
        • 🪩Reconocimiento de idiomas
        • 👩‍💻Generar una respuesta basada en una fuente de datos |Q&A
    • 🗨️Reconocimiento del lenguaje natural en los agentes
      • 🗣️Reconocimiento del lenguaje natural
      • 📈Las 5 intenciones principales
      • 🔒Reconocer entidades | Vocabularios
    • ✒️Sintaxis
    • ↕️Orquestación de agentes
    • ☎️Transferencia a un operador
    • 📌Opción de punto de guardado
    • ↘️Estado de la comunicación. Opción Continuar conversación
  • 🔀Cómo utilizar el contexto del chat en su agente
    • 🔡Variables de contexto
    • ✅Variables de contexto del sistema
    • 🖥️Variables de contexto del canal
    • 🚹Variables de contexto del usuario
  • ✅Cómo formar con éxito a su agente
    • ✅Requisitos para el éxito de la formación de agentes
    • 📋Probar el script del Agente
    • 👨‍💻Comprobación y mejora del reconocimiento de agentes: selección del umbral de confianza
    • ⚙️Formación adicional del Agente desde la pestaña Análisis
  • ⚛️Cómo desplegar su Agente en los canales
    • 🤖Publicar un proyecto
    • 🖥️Despliegue del proyecto en los canales
    • 🗨️Mensajeros
      • Telegram
      • 360Dialog (WhatsApp)
      • 360Dialog (nube)
      • Viber
      • Line messenger
      • VK Teams
      • 📇Widget
      • Facebook Messenger
    • 👨‍💻Plataformas omnicanal
      • Jivo
      • Chat2Desk
      • Bitrix24
      • Livetex
      • Edna Chat Center
      • Edna Pulse
      • Webim (External Bot API 1.0)
      • Webim (API de bots externos 2.0)
      • Omnidesk
    • Mensajeros de empresa
      • Microsoft Teams
    • API de mensajería
      • Chat API
      • 🗣️API del buzón de voz
        • API de voz
    • Compatibilidad con Markdown en los canales de fin de agente
  • Uso de agentes
    • Límites
  • 📈Cómo comprobar Analytics para sus Agentes
    • Ficha Análisis y filtros
    • Historial del chat
    • Informe del contexto del chat
    • Informe de estadísticas de slot
    • Informe Stop Slots
    • Informe de uso del proyecto
  • 🧷Información complementaria
    • 🖥️Capacidades funcionales y no funcionales de la Plataforma
    • Otros
      • 🏅Buenas prácticas en el diseño de diálogos
      • 💻Requisitos del sistema para trabajar con la consola de usuario
      • 📚Recursos
    • Solicitud de agrupación de diálogos
  • Integración de canales
  • 🔑Copia de los recursos e infraestructuras necesarios
  • 📝Tarea de incorporación
Powered by GitBook
On this page
  • Objeto e información general
  • Características de la ranura de notificación en diferentes canales
  • Características de la ranura de notificación en diferentes canales
  • Creación y configuración de ranuras
  • Atributos de las ranuras
  • Ficha Datos entrantes
  • Ficha Destino
  • Características de la ranura de notificación en diferentes canales
  • Subslots Notificación fallida, Notificación sin cuenta y Notificación correcta
  • Atributos de las subranuras
  • Fallo de notificación
  • Notificación Sin cuenta
  • Notificación Webhook Slot Request
  • Funcionamiento de los Slot
  • 1. Tramitación de la solicitud de correo entrante
  • 2. Ejecución de la tarea de mailing
  • 3. Transición a ramas de subranura y respuestas del canal
  1. Cómo crear tu Bot
  2. Cómo construir el guión de un Agente
  3. Cómo crear y configurar las franjas horarias

Correos en WhatsApp | Ranura de notificación

PreviousActivación del chatbot con un temporizador | Ranura del temporizadorNextEnvío de archivos a usuarios bot | Ranura para archivos adjuntos

Last updated 2 months ago

Objeto e información general

Notificación es un Slot diseñado para enviar correos. El Slot permite enviar un mensaje cuando el Chat con el Usuario Bot aún no ha sido creado (no hay chat_id), o el Chat ha sido creado, pero el Agente no puede ser el primero en escribir en el Chat después de un cierto tiempo de espera (limitación de algunos canales). El Slot permite procesar estados para un envío.

Nota: Actualmente funciona con 360Dialog (WhatsApp), Edna Pulse y Chat2Desk.

La Ranura de Notificación recibe una Solicitud de Envío con datos para envío desde un sistema externo (CRM, por ejemplo), genera y envía la solicitud al Canal Proyecto, luego recibe una respuesta del Canal Final y, dependiendo del estado recibido, la Conversación pasa a una de las Subranuras.

Una Solicitud de Envío correcta a través de la Ranura de Notificación creará un Chat si no existe en la Plataforma, incluso si el Usuario Bot no existe en el Canal Final (por ejemplo, el número de teléfono del destinatario en la Solicitud de Envío es correcto, pero la persona no está registrada en WhatsApp).

La Ranura de Notificación es una Ranura Compleja y no puede existir sin tres Ranuras Hijo: Notification fail, Notification no account y Notification success, que inician sus propias ramas a las que se hará la transición tras recibir el estado de envío.

No es posible añadir otras ranuras para niños.

⁠

La sublote de fallo de notificación está pensada para continuar el script si no ha sido posible enviar un mailing al canal final.

La subranura Notificación sin cuenta está pensada para continuar el script después de un envío que se ha realizado correctamente al canal final, pero éste ha informado de que no se ha encontrado al destinatario (por ejemplo, el destinatario no tiene una cuenta de WhatsApp cuando envía mensajes a través de WhatsApp).

La subslot de éxito de notificación está destinada a continuar el Script después de que se haya enviado con éxito un mailing al Canal Final y se haya recibido un estado o respuesta de éxito del Usuario Bot.

Características de la ranura de notificación en diferentes ch

Características de la ranura de notificación en diferentes canales

⁠

Características de la ranura de notificación en diferentes canales

360Dialog (WhatsApp)

Identificador del interlocutor en el canal final

Número de teléfono en formato

Clave ID en el cuerpo de la solicitud de mailing

phone_number

Formato del identificador del interlocutor en el canal final

1. Campo de tipo "texto";
2. De 10 a 18 dígitos (de 11 a 19 incluido +);
3. Se permite un signo + al principio.

Ejemplo de solicitud de mailing

POST <URL>
headers: {"Content-Type": "application/json"}
body: {
    "phone_number": "79291642944",
    "is_urgent": true,
    "extra": {
        "foo": 42
    }
}    

Éxito de la notificación

Debido a las peculiaridades del funcionamiento de Edna, el orden de recepción de los estados-respuesta al mailing puede ser confuso, o los estados pueden llegar después de la respuesta del interlocutor, por lo tanto, para ir a la rama de éxito de la Notificación, tenemos en cuenta el primero de los siguientes eventos recibidos del canal después de enviar el mailing

* estado enviado en respuesta al mailing
* estado entregado en respuesta al mailing
* estado leído en respuesta al envío
* Mensaje del interlocutor

Debido a las peculiaridades de Edna, si antes de que el Interlocutor responda a la lista de correo, el Agente intenta enviar nuevos mensajes utilizando el método de envío regular en lugar del mailing (si hay Ranuras de Texto, Adjuntos, Botón de Menú después de la Sub-Ranura de éxito de Notificación), entonces el canal responderá con un error y no los aceptará.

Fallo de notificación

La aplicación Slot permite introducir texto en el campo Contenido que no se corresponde con la plantilla de distribución acordada. Al enviar un mailing con un mensaje de este tipo, si hay un diálogo Activo, entonces llegará el texto y el éxito, y si no lo hay, entonces un error y la rama fallida

Notificación sin cuenta

T

Comprobar la disponibilidad del chat

Comprobar la disponibilidad del chat en WhatsApp
360dialog proporciona un método especial para comprobar la disponibilidad de la cuenta:

1. Si el método devuelve información sobre la ausencia de una cuenta, entonces el Script sigue la rama Notification no account Subslot:
  a. en la variable de contexto notification_raw_status se escribe
{‘description’:’no account on <phone number\key identifier of the interlocutor>’,
'channel_response': cuerpo de la respuesta del canal tal cual (objeto)
} (if application/json = object, if text = str; otherwise, null is written).
  b.  'no_account' se escribe en la variable de contexto notification_status.
  c. Comprobar cuenta <número de teléfono>: No se escribirá ninguna cuenta en el historial de chat
2. Si se encuentra la cuenta, se realiza el mailing 

Edna Pulse

Identificador del interlocutor en el canal final

Número de teléfono en formato

Clave ID en el cuerpo de la solicitud de mailing

phone_number

Formato del identificador del interlocutor en el canal final

1. Campo de tipo "texto";
2. De 10 a 18 dígitos (de 11 a 19 incluido +);
3. Se permite un signo + al principio.

Ejemplo de solicitud de mailing

POST <https://platform_domain/api/notification/42282::0a04b116e59032ef014d649602cc0b54/chat'>
headers: {"Content-Type": "application/json"}
body: {
"phone_number": "79291642944",
"is_urgent": true
}

Éxito de la notificación

Debido a las peculiaridades del funcionamiento de 360dialog, el orden de recepción de estados-respuesta al mailing puede ser confuso, o los estados pueden llegar después de la respuesta del interlocutor, por lo tanto, para ir a la rama de éxito de la Notificación, tenemos en cuenta el primero de los siguientes eventos recibidos del canal después de enviar el mailing

* estado enviado en respuesta al mailing
* estado entregado en respuesta al mailing
* estado leído en respuesta al envío
* Mensaje del interlocutor

Debido a las peculiaridades de 360dialog, si antes de que el Interlocutor responda a la lista de correo, el Agente intenta enviar nuevos mensajes utilizando el método de envío normal en lugar del mailing (si hay Ranuras de Texto, Adjuntos, Menú Botón después de la Sub-Ranura de éxito de Notificación), entonces el canal responderá con un error y no los aceptará.

Fallo de notificación

Si el campo Contenido de la ranura contiene los datos de una plantilla de distribución inexistente o incoherente y, al mismo tiempo:

* no Diálogo activo con el destinatario del correo: la respuesta incluirá: 'status': 'UNDELIVERED', 'error': 'not-template-match', exit to Notification fail.
* hay un diálogo Activo: el destinatario recibirá el texto especificado en el campo Contenido y saldrá en Notificación correcta

Notificación sin cuenta

T

Comprobar la disponibilidad del chat

Comprobar la disponibilidad del chat en WhatsApp
360dialog proporciona un método especial para comprobar la disponibilidad de la cuenta:

1. Si el método devuelve información sobre la ausencia de una cuenta, entonces el Script sigue la rama Notification no account Subslot:
  a. en la variable contextual notification_raw_status se escribe
{‘description’:’no account on <phone number\key identifier of the interlocutor>’,
'channel_response': cuerpo de la respuesta del canal tal cual (objeto)
} (if application/json = object, if text = str; otherwise, null is written).
  b.  'no_account' se escribe en la variable de contexto notification_status.
  c. Comprobar cuenta <número de teléfono>: No se escribirá ninguna cuenta en el historial de chat
2. Si se encuentra la cuenta, se realiza el mailing

Chat2Desk

Identificador del interlocutor en el canal final

Número de teléfono en formato

Clave ID en el cuerpo de la solicitud de mailing

phone_number

Formato del identificador del interlocutor en el canal final

1. Campo de tipo "texto";
2. De 10 a 18 dígitos (de 11 a 19 incluido +);
3. Se permite un signo + al principio.

Ejemplo de solicitud de mailing

POST <https://platform_domain/api/notification/42282::0a04b116e59032ef014d649602cc0b54/chat'>
headers: {"Content-Type": "application/json",

"Authorization: 3cb81e05cf1679e1af9e5d9164ab89"}

El token de autorización se toma de la cuenta personal de Chat2Desk

body: {
"phone_number": "79291642944",
"is_urgent": true
}

Éxito de la notificación

T

Fallo de notificación

T

Notificación sin cuenta

Por el momento, el canal Chat2Desk no implementa un método para comprobar la presencia de una cuenta de WhatsApp. Si el número especificado no tiene una cuenta de WhatsApp registrada, el Script sigue la rama de fallo de notificación

Comprobar la disponibilidad del chat

T

Creación y configuración de ranuras

La configuración de las franjas horarias varía en función del canal final. Para obtener información detallada sobre cómo crear una franja horaria de notificación y configurar los envíos en distintos canales finales, lea los artículos:

Atributos de las ranuras

Ficha General

La pestaña General contiene los ajustes básicos de la ranura.

  1. Nombre - el nombre de la Ranura, que se mostrará en el Árbol de Script. La longitud máxima de un valor de campo es de 40 caracteres.

  2. Canal de destino - Canal final a través del cual se realizará el mailing.

  3. Chatbot webhook - un webhook al que el Agente recibirá una Solicitud de Envío.

    1. El valor aparecerá en el campo después de guardar y volver a abrir la Ranura. El webhook empezará a funcionar después de que el Agente esté entrenado.

  4. Botón de copia de webhook: al hacer clic en el botón, la dirección del webhook se copia en el portapapeles.

  5. Botón GENERAR NUEVO WEBHOOK.

    1. El botón se convierte en clicable sólo cuando el campo webhook Chatbot se llena con el valor webhook.

    2. Cuando se pulsa el botón, se genera un nuevo webhook.

    3. Los cambios realizados tras la regeneración del webhook surten efecto una vez que el Agente ha sido reentrenado.

Ficha Datos entrantes

La pestaña Datos entrantes está destinada a la configuración del análisis sintáctico del cuerpo de la solicitud de envío para el uso posterior de los datos recibidos en el script.

  1. PARSE REQUEST BODY - una matriz de pares Context key - Request key.

    1. Clave de contexto - nombre de la variable de contexto para el análisis sintáctico;

    2. Clave de solicitud: la clave del cuerpo de la solicitud de envío, cuyo valor se escribirá en la clave de contexto o expresión.

Importante: el acceso a la clave de un objeto, si su nombre coincide con el nombre de los métodos Reservados de los objetos, se produce a través de corchetes y comillas.

Ejemplo: {{ data["keys"] }}

Ficha Destino

En la pestaña Destino, se configura el envío del mailing al Canal de Destino seleccionado en la pestaña General, en función de sus necesidades.

Características de la ranura de notificación en diferentes canales

360Dialog (WhatsApp)

Pestaña de destino para el canal Whatsapp (Dialog360)

  1. PARÁMETROS GENERALES - ajustes generales para enviar un mensaje:

    1. Nombre de la plantilla - el nombre de la plantilla en 360dialog utilizada para la distribución (campo Nombre en la cuenta de Whatsapp (360dialog)). Más detalles: 360Dialog (WhatsApp)

      1. Valores permitidos:

        1. String;

    2. Namespace - el nombre del parámetro de la cuenta en 360dialog (campo Namespace) requerido en la Solicitud de Envío.

      1. Valores permitidos:

        1. String;

    3. Código de idioma: el nombre del parámetro "idioma de la plantilla" (campo Idiomas) de la cuenta en 360dialog, necesario en la solicitud de envío.

      1. Valores permitidos:

        1. String;

        2. Expression

  2. PARÁMETROS DE LA PLANTILLA - parámetros para la sustitución en la plantilla de distribución especificada en el campo Nombre de la plantilla, matriz de pares parámetro-valor:

    1. La sintaxis corresponde a la documentación de WhatsApp.

    2. Parámetro de plantilla - tipo de parámetros. El orden de especificación de los parámetros en el Slot debe corresponder al orden de los parámetros en la plantilla.

      1. Posibles valores del campo:

        1. Parámetros para la sustitución de medios en la plantilla:

          1. image - para la sustitución de imágenes;

          2. documento - para la sustitución de documentos;

          3. vídeo - para la sustitución de vídeo.

          4. Sólo se permite 1 parámetro de medios en la plantilla.

        2. Parámetros para la sustitución de texto y botones en la plantilla:

          1. body - para la sustitución de datos de texto.

          2. El número de parámetros de este tipo no está limitado.

          3. button_url - para la sustitución de botones.

          4. El número máximo de botones que admite Whatsapp (360dialog) es 3.

    3. Valor - el valor exacto, Expresión, o Variable de Contexto que debe ser sustituido en la plantilla.

      1. Se pueden utilizar las variables del campo Clave contextual de la pestaña Datos entrantes, ya que el análisis sintáctico de los datos se realiza antes de que se forme la solicitud en el Canal final.

Importante: cuando haga referencia a una clave de objeto cuyo nombre coincida con Métodos reservados de objetos, utilice corchetes y comillas.

Ejemplo: {{ data["keys"] }}

Edna Pulse

  1. Content — a JSON object with the content of the distribution.

    1. Format (optional elements that need to be added only if there is corresponding content in the distribution template are highlighted in red italics):

{
    "whatsappContent": {
        "contentType": "TEXT",
        "header": {
                "headerType": "<"Type of header (video/image/document)”>",
                "text": "<header text>",
                "headerExampleMediaUrl": "<link to example header file>"
            },
        "text": "Mailing text",
        "footer": {
                "text": "<footer text>"
            },
        "keyboard": {
            "rows": [
                {
                    "buttons": [
                        {
                            "text": "<button text>",
                            "buttonType": "<URL for link-button>",
                            "url": ""
                        },
                        {
                            "text": "",
                            "buttonType": "",
                            "phone": ""
                        }
                    ]
                }
            ]
        }
    }
}
  1. It is necessary to specify the data of the agreed distribution template, otherwise the recipient will not receive the mailing.

Chat2Desk

  1. Transport — the value of this field is always wa_dialog.

  2. Attachment URL — URL of the attachment in the message template, if available.

  3. Content — information about the message template. Format:

    1. Without parameters in the template @HSM@ <template name>|<language code> The language code is taken from the Chat2Desk account. Example: @HSM@ test_simple|ru

    2. With parameters in the template: @HSM@ test_simple|ru {{ var1 }} {{ var2 }}

Subslots Notificación fallida, Notificación sin cuenta y Notificación correcta

  1. Al crear una ranura, se generan automáticamente tres ranuras secundarias: Notificación fallida, Notificación sin cuenta y Notificación correcta.

  2. Estas Ranuras Hijo no se pueden modificar y sólo se pueden eliminar con una Ranura Padre.

  3. La ubicación de las Ranuras Hijo se determina automáticamente; no se pueden mover:

    1. El fallo de notificación es siempre la subranura más alta de una determinada ranura compleja;

    2. Notificación ninguna cuenta es siempre el segundo en orden Subslot en un determinado Complejo Ranura;

    3. El éxito de la notificación es siempre la sub-ranura más baja de una determinada ranura compleja.

  4. No se pueden añadir nuevas Subslots a la notificación de ranura padre.

Atributos de las subranuras

Fallo de notificación

⁠

  1. Nombre - el nombre de la Ranura, que se mostrará en el Árbol de Script. La longitud máxima de un valor de campo es de 40 caracteres.

Notificación Sin cuenta

  1. Nombre - el nombre de la Ranura, que se mostrará en el Árbol de Script. La longitud máxima de un valor de campo es de 40 caracteres.

Notificación de éxito

  1. Nombre - el nombre de la Ranura, que se mostrará en el Árbol de Script. La longitud máxima de un valor de campo es de 40 caracteres.

Notificación Webhook Slot Request

  1. La Ranura de Notificación permite al Agente aceptar una Solicitud de Envío en forma de Solicitud Entrante al webhook del Chatbot (desde la pestaña General), incl. a un Chat inexistente (en este caso el Chat será creado).

⁠

  1. La solicitud de envío debe incluir el identificador del destinatario en el canal de destino, que forma parte del channel_chat_id y se utiliza para generar el chat_id (por ejemplo, el número de teléfono en el caso de 360Dialog (WhatsApp)). A partir de este identificador, la Plataforma determinará el chat o, si no existe, creará un nuevo chat para enviar la solicitud.

  2. La solicitud de envío puede ser urgente o no urgente (parámetro "is_urgent"):

    1. valor verdadero - para una Solicitud de Envío urgente - se ejecuta inmediatamente e interrumpe el Diálogo Activo.

    2. valor falso - para una Solicitud de Envío no urgente - se ejecuta después de cerrar el Diálogo.

    3. si no se encuentra la clave is_urgent, se utiliza el valor por defecto false.

  3. Importante: en la ranura de notificación, la búsqueda del parámetro "is_urgent" se realizará sólo en el cuerpo de la solicitud, a diferencia de la ranura de solicitud entrante, en la que la búsqueda del parámetro "is_urgent" se realiza tanto en el cuerpo como en los parámetros de solicitud de la URL.

  4. Requisitos para la solicitud de envío:

    1. Solicitud POST con un cuerpo JSON válido y cabecera "Content-Type": "application/json".

    2. El cuerpo de la Solicitud de Envío en el primer nivel del JSON debe incluir un identificador válido del Usuario Bot en el Canal Final, el nombre de la clave depende del tipo de Canal Final.

  5. El límite por defecto de solicitudes de envío es de 20 solicitudes por segundo por empresa. El límite se puede cambiar a través del soporte técnico.

  6. Ejemplo de solicitud de envío en 360Dialog (WhatsApp): POST <http://localhost:10040/notification/13::9de6d0fbc9a547659457a0f7a0e21eda/chat> headers: {"Content-Type": "application/json"} body: { "phone_number": "79291642944", "is_urgent": true, "extra": { "foo": 42 } }

  7. Ejemplo de solicitud de envío en Edna Pulse: POST <https://admin.chatme.ai/api/notification/42282::0a04b116e59032ef014d649602cc0b54/chat'> headers: {"Content-Type": "application/json"} body: { "phone_number": "79291642944", "is_urgent": true }

  8. Ejemplo de solicitud de envío en Chat2Desk: POST <https://admin.chatme.ai/api/notification/42282::0a04b116e59032ef014d649602cc0b54/chat'> headers: {"Content-Type": "application/json", "Authorization: 3cb81e05cf1679e1af9e5d9164ab89"} body: { "phone_number": "79291642944", "is_urgent": true }

El token de autorización se toma de la cuenta personal de Chat2Desk: Chat2Desk

Funcionamiento de los Slot

La operación Slot comienza en el momento en que la Plataforma recibe una Solicitud de Envío de un sistema externo.

1. Tramitación de la solicitud de correo entrante

Las siguientes operaciones se realizan en el orden especificado:

  1. Comprobación del tamaño del cuerpo de la solicitud de envío:

    1. Se comprueba el tamaño del cuerpo de la solicitud de envío:

      1. Si el tamaño supera los 100 KB:

        1. El cuerpo de la solicitud se sustituye por {}.

      2. En caso contrario, pase a la siguiente operación.

  2. Comprobación del límite de solicitudes de envío:

    1. Si se supera el Límite de solicitudes de envío:

      1. Se detiene el procesamiento de la solicitud.

      2. Enviar una respuesta a la solicitud de envío con el estado: Estado HTTP: 404.

  3. Comprobación del método de la solicitud de envío:

    1. Si el método utilizado para la solicitud de envío no es un método POST:

      1. Se detiene el procesamiento de la solicitud.

      2. Enviar una respuesta a la solicitud de envío con el estado: Estado HTTP: 405.

  4. Comprobando el encabezado content-type: application/json:

    1. Si la solicitud de envío no tiene el encabezado content-type: application/json:

      1. Se detiene el procesamiento de la solicitud.

      2. Enviar una respuesta a la solicitud de envío con el estado: Estado HTTP: 400.

  5. Validación de la corrección de JSON:

    1. Si se encuentra un JSON no válido en el cuerpo de la solicitud de envío:

      1. Se detiene el procesamiento de la solicitud.

      2. Enviar una respuesta a la solicitud de envío con el estado: Estado HTTP: 400.

  6. Encontrar el ID de usuario del bot:

    1. Si el ID de usuario del bot no se encuentra o no es válido:

      1. Se detiene el procesamiento de la solicitud.

      2. Enviar una respuesta a la solicitud de envío con el estado: Estado HTTP: 405.

  7. Encontrar el Canal Proyecto activo:

    1. Si el Canal del Proyecto para la ranura de notificación está borrado o inactivo:

      1. Se detiene el procesamiento de la solicitud.

      2. Enviar una respuesta a la solicitud de envío con el estado: Estado HTTP: 404. BODY: "status": "No hay ningún canal activo para el evento recibido".

  8. Determinar o crear un Chat:

    1. El sistema encuentra un chat existente basado en el ID de usuario del bot ("phone_number") o genera uno nuevo si no lo encuentra.

  9. Encontrar el parámetro "is_urgent":

  10. Creación de una tarea de mailing:

    1. Una tarea de mailing se crea con un ID de tarea único, que se registra en las variables de contexto del sistema notification_task_id.

  11. Poner en cola o iniciar la tarea de envío.

2. Ejecución de la tarea de mailing

  1. Inicialización de variables del sistema.

  2. El análisis sintáctico de las variables de usuario en la ranura de notificación analiza los datos de la solicitud de envío en una variable de contexto de acuerdo con la configuración de la pestaña Datos entrantes:

    1. Si los datos no se analizan y la variable de contexto existe, su valor no se modifica.

    2. Si los datos no se pueden analizar y la variable de contexto no existe, no se crea..

  3. Preparando la Petición al Canal ensambla la petición al Canal Final a partir de los parámetros de la pestaña Destino y el ID de Usuario del Bot (número_teléfono):

    1. Si la solicitud no se construye por cualquier motivo, la ejecución de la ranura de notificación finaliza, la solicitud no se envía al canal final y se pasa a la rama de fallo de notificación. En este caso:

      1. el notification_raw_status se establece en {'description':'failed to build request'};

      2. el notification_status se establece en 'failed'.

    2. Si la solicitud se construye correctamente, su cuerpo se almacena en notification_raw_request.

  4. Envío de la solicitud de envío al canal y gestión de las respuestas del canal La ranura de notificación envía la solicitud de envío al canal final seleccionado:

    1. Si el Canal Final aceptó la solicitud y respondió con éxito, entonces:

      1. {'descripción':'recibido por canal', 'channel_response': cuerpo de la respuesta del canal (objeto}se escribe en notification_raw_status

      2. 'enviado' se escribe en notification_status.

    2. Si se envía la solicitud al canal final, pero se recibe como respuesta un código 4xx o 5xx, entonces:

      1. {‘description’:’channel error <response code> ‘channel_response’: cuerpo de la respuesta del canal} se escribe en notification_raw_status;

      2. 'fallido' se escribe en notification_status.

      3. Hay una transición a la rama de fallo de notificación.

  5. Si la solicitud al canal final falla (el canal no está disponible, el ping no funciona, etc.), entonces:

    1. {'description':'canal inaccesible'} se escribe en notification_raw_status.

    2. ‘failed' se escribe en notification_status;

    3. Hay una transición a la rama de fallo de notificación.

3. Transición a ramas de subranura y respuestas del canal

  1. La transición a la rama de fallo de notificación se produce en caso de cualquier problema relacionado con esta tarea de mailing específica, excepto la falta de una cuenta en este ID de usuario de bot. En caso de tal error:

    1. {'description':'channel couldn't sent message', 'channel_response': cuerpo de la respuesta del canal tal cual (objeto)} se escribe en notification_raw_status Si se ha recibido un objeto JSON como respuesta al lanzamiento de un envío, este objeto JSON se guarda en 'channel_response'. Si la respuesta contiene texto, se guarda el texto. En caso contrario, no se guarda ninguno.

    2. 'failed' se escribe en notification_status

  2. La transición a la rama Notificación sin cuenta se produce si no hay ninguna cuenta en el ID de usuario del bot dado (en el caso de WhatsApp, número de teléfono). En este caso:

    1. {'description':'no account on <phone number\key identifier of the interlocutor>', 'channel_response': cuerpo de la respuesta del canal tal cual (object)} (si application/json = object, si text = str) se escribe en notification_raw_status ; en los demás casos, se escribe null).

    2. 'no_account' se escribe en notification_status;

  3. La transición a la rama de éxito de la Notificación se produce al recibir el estado Técnico del envío - los estados de envío, entrega y lectura del mensaje por el Usuario Bot en el mensajero ('enviado', 'entregado', 'leído'), o Mensaje del Usuario Bot.

    1. Si la transición a éxito de la Notificación se produjo debido a la recepción del estado técnico del envío:

      1. {'description':'success','channel_response': cuerpo de la respuesta del canal (object)} se escribe en notification_raw_status (si application/json = object, si text = str; en caso contrario se escribe null).

      2. En espera del resto el estado técnico del mailing se da por terminado, sólo se espera el mensaje del Usuario Bot;

      3. 'entregado' se escribe en notification_status;

    2. Si la transición a éxito de la Notificación se produjo debido a la recepción del Mensaje del usuario del Bot (es decir, el Mensaje del usuario del Bot llegó antes que el estado técnico del mailing):

      1. {'description':'success', 'channel_response': cuerpo de la solicitud recibida del canal (objeto) desde donde se analizó el texto del mensaje del usuario del bot} se escribe en notification_raw_status (si application/json = object, si text = str; en caso contrario se escribe null).

      2. Se pone fin a la espera del estado técnico del mailing (ya no son necesarios)

      3. En este caso, si se establece Esperar Reacción en el Script del Agente inmediatamente después del éxito de la Notificación, entonces se ignora Esperar Reacción y la Conversación pasa a la siguiente Ranura.

      4. ‘entregado' se escribe en notification_status.

Cascade id — the value of the field is pulled from the Channel webhook Token field in the settings of the . More about the settings:

Channel id — channel ID. It is obtained from the Chat2Desk API using the request.

🛠️
🚧
🖊️
🛎️
Expression
Expression
Project Channel
Project Channel
Edna Pulse
GET channels