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.
...
Nombre | Valor | Ejemplo de punto de conexión |
---|---|---|
URL predeterminada | {{ENDPOINT}}/api/v1/bulk/notification | https://luma2.serviceaide.com/gateway/api/v1/bulk/notification |
...
La sección del cuerpo/la solicitud de la API incluye lo siguiente:
Nombre | Descripción |
---|---|
Destinatarios | Proporcione los detalles de los destinatarios que recibirán las notificaciones. Esto incluye:
|
Response Type (Tipo de respuesta) | Especifique el formato en el que desea recibir la respuesta. Actualmente, solo se admite el formato JSON. |
Mensaje | Especifique 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 | ||||||
---|---|---|---|---|---|---|
| ||||||
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
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 virtual. Para 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 e Historial de conversaciones.
Ver notificaciones de Luma
...