Versions Compared

Key

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

Este artículo describe cómo utilizar la API de notificación para enviar notificaciones desde aplicaciones externas a los usuarios del agente virtual. Las notificaciones son útiles para notificar a los usuarios sobre una interrupción, un anuncio de la empresa o que se completó una solicitud o un servicio, entre otras opciones.

...

NombreValorEjemplo de punto de conexión
URL predeterminada{{ENDPOINT}}/api/v1/bulk/notificationhttps://luma2.serviceaide.com/gateway/api/v1/bulk/notification

...

La sección del cuerpo/la solicitud de la API incluye lo siguiente:

NombreDescripción
Destinatarios

Proporcione los detalles de los destinatarios que recibirán las notificaciones.  Esto incluye: 

  • Contact Channel Authentication (CCA): autenticación del canal de contacto, que incluye el ID del canal y el ID del alcance del canal.
  • Users (Usuarios): lista de usuarios que se notificarán.
  • Groups (Grupos): información de los grupos.
  • ChannelID (ID del canal) (opcional, use el canal predeterminado): información del canal donde se debe notificar al usuario.
  • BotExternalId ID del bot externo (opcional, use el bot predeterminado): ID del agente virtual que se notificará.
Response Type (Tipo de respuesta)Especifique el formato en el que desea recibir la respuesta. Actualmente, solo se admite el formato JSON. 
MensajeEspecifique el mensaje que desea que Luma envíe a los usuarios. Por ejemplo, “Ya reinicié el servidor. Si tiene un problema, cree un ticket de Soporte”.


Use los elementos anteriores, incluida la URL, los parámetros y los encabezados, para crear la solicitud de notificación a los usuarios. En este ejemplo, usaremos una solicitud JSON, como se especifica a continuación. 

Code Block
languagexml
titleBloque del código de la solicitud
linenumberstrue
curl -X POST 'http://localhost:90/gateway/api/v1/bulk/notification' \
--header 'Content-Type: application/json' \
--header 'Luma-tenant-externalId: ' \
--header 'Luma-api-access-key: ' \
--data-raw '{      "agentChannels": [
       {
          "agentExternalId": null,
          "channelTypes": [
          "WEB_WIDGET",
          "TEST_WIDGET"
        ]
     }
],
       "configuration": {
             "id": null,
              "name": "ISM Outage",
              "recipient": {
              "users": [
                {
                   "id": -3,
                    "userName": null
                  },
               {
                    "id": null,
                     "userName": "admin@dev.com"
               },
              {
                    "id": null,
                     "userName": "admin@betatwothree.com"
              }
          ],
     "groups": [
        {
           "id": 1,
            "name": null
          },
        {
          "id": null,
          "name": "Administrators"
         }
      ],
     "contactChannels": [
         {
           "id": null,
            "channelScopeId": "8560f2ef-3dea-4701-ae4a-a66101784acb",
             "channelScopeContactId": "89d83c3e-a14a-11e9-870d-a44cc82a824c",
             "agentChannel": {
                 "id": null,
                  "channelType": "TEST_WIDGET"
               }
         }
       ]
     },
   "message": "[   {           \"format\": \"CAROUSEL\", \"content\": {\"cards\": [{\"title\": \"Create Support Issue : \", \"buttons\": [{\"type\": \"postBack\", \"title\": \"Create Ticket in ISM\", \"value\": \"val1\"}], \"subtitle\": null}], \"title\": \"Hey, I have rebooted the server, If you have an issue please create a support ticket\"}, \"sendButtonTextAsPayload\": true}]"
    }
}

En el ejemplo anterior, el campo 'message' (mensaje) se utiliza para diseñar el mensaje de la notificación que se enviará al usuario. La plantilla JSON del campo crea un mensaje con formato correcto con encabezados, subtítulos, mensaje y botones procesables.

Para enviar un mensaje de texto simple, puede utilizar el campo 'textmessage' (mensaje de texto) en lugar del campo message (mensaje). Se puede usar el campo textmessage (mensaje de texto) para enviar un mensaje de texto simple al usuario sin ningún formato especial o acción vinculada. En el ejemplo, agregaremos un mensaje de texto simple. 

Code Block
languagexml
titleBloque del código de la solicitud
linenumberstrue
curl -X POST 'http://localhost:90/gateway/api/v1/bulk/notification' \
--header 'Content-Type: application/json' \
--header 'Luma-tenant-externalId: ' \
--header 'Luma-api-access-key: ' \
--data-raw '{      "agentChannels": [
       {
          "agentExternalId": null,
          "channelTypes": [
          "WEB_WIDGET",
          "TEST_WIDGET"
        ]
     }
],
       "configuration": {
             "id": null,
              "name": "ISM Outage",
              "recipient": {
              "users": [
                {
                   "id": -3,
                    "userName": null
                  },
               {
                    "id": null,
                     "userName": "admin@dev.com"
               },
              {
                    "id": null,
                     "userName": "admin@betatwothree.com"
              }
          ],
     "groups": [
        {
           "id": 1,
            "name": null
          },
        {
          "id": null,
          "name": "Administrators"
         }
      ],
     "contactChannels": [
         {
           "id": null,
            "channelScopeId": "8560f2ef-3dea-4701-ae4a-a66101784acb",
             "channelScopeContactId": "89d83c3e-a14a-11e9-870d-a44cc82a824c",
             "agentChannel": {
                 "id": null,
                  "channelType": "TEST_WIDGET"
               }
         }
       ]
     },
   "message": null,
   "textMessage": "You server reboot is complete. We recommend you to test your applications and contact the support team in case of any issue"
    }
}

Respuesta

Una vez que se ejecuta la solicitud POST, se recibe la siguiente respuesta en formato JSON. 

...

  • La marca de tiempo es la fecha y hora del mensaje que se muestra en formato UNIX o epoch.
  • El estado es el resultado de su solicitud. Para obtener más información, consulte 1756790899Códigos de estado.
  • “Error” muestra si se ha producido algún error al mostrar el mensaje.

...

Cuando se utiliza la API de notificación como parte del flujo de la conversación en la habilidad, el desarrollador o el administrador puede verificar o depurar la respuesta de la API de notificación en la utilidad de depuración desde el widget de prueba o puede acceder a los datos desde las secciones Conversation History (Historial de conversaciones) del agente virtualPara obtener más información sobre cómo depurar una habilidad o acceder al historial de conversaciones, consulte los artículos  artículos Depurar habilidades e   Historial de conversaciones.                                                                                                                                                

Ver notificaciones de Luma

...