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.

...

Ejemplificaremos una situación en la que el uso de la API de notificación es conveniente. Un usuario le pide al bot que restablezca su contraseñareinicie un servidor, por lo que la habilidad llama a una aplicación externa para cumplir la solicitud. El sistema externo completa el reinicio del servidor. Con la API de notificación, la aplicación externa informa al usuario que se completó su solicitud a través del chat.  En este caso, se debe llamar a la siguiente API proporcionando la dirección URL, los encabezados y los parámetros necesarios para recibir la respuesta.

...

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

Encabezados

...

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}]"
    }
}

Response


Once the POST request is executed, the following response is received in the JSON formatRespuesta

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

Code Block
languagexml
titleResponse Code BlockBloque del código de respuesta
linenumberstrue
{
    "status": "Success",
    "statusCode": 0,
    "statusLine": null,
    "errors": null,
    "resultData": "39136311-ca49-43fd-990a-9d998858761f",
    "warnings": null,
    "timestamp": 1577094803197,
    "reasonPhrase": null,
    "metaInfo": null
}
  • The Timestamp is the date and time of the message being displayed in UNIX or epoch format.
  • Status is the result of your request. For more details, see Status Codes.
  • Error shows if any errors that may have occurred when displaying the message.

Status Codes

Status codes convey the results of your request. The following status code applies to the Post API. 

...

If the request is a success with status code 200, Luma notifies the users regarding the outage; else, Luma prompts the users to check the errors in the request and to retry after fixing the errors.

Triggering Notification API from a Skill

A Skill can call the Notification API and the API response could be accessed using @resp.data.

...

  • 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 StatusCodes.
  • “Error” muestra si se ha producido algún error al mostrar el mensaje.

Códigos de estado

Los códigos de estado transmiten los resultados de su solicitud. El siguiente código de estado se aplica a la API POST. 

NombreDescripción
200Esto indica que la solicitud se ha completado correctamente. Sin embargo, si no se devuelven resultados, significa que el cuerpo de la respuesta solo contiene una matriz de resultados vacía.
204Indica que la API REST se niega a devolver cualquier mensaje de estado  en el cuerpo del mensaje de respuesta.
400Esto indica que la solicitud puede contener errores como una  sintaxis de solicitud mal formada, parámetros de mensaje de solicitud no válidos o enrutamiento de solicitud engañoso, etc. Identifique el error y vuelva a enviar la solicitud con la modificación requerida.

Si la solicitud es correcta y recibe el código de estado 200, Luma notifica a los usuarios sobre la interrupción; de lo contrario, Luma les solicita que comprueben los errores de la solicitud y que vuelvan a intentarlo después de corregirlos.

Activar la API de notificación desde una habilidad

Una habilidad puede llamar a la API de notificación y se puede acceder a la respuesta de la API mediante @resp.data.

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  Depurar habilidades e  Historial de conversaciones.
                                                                                                                                                      

...

Ver notificaciones de Luma

...

Una vez que la solicitud de la API de notificación sea correcta, el mensaje se entregará a todos los usuarios registrados que se especifican como parte de la solicitud de la API de notificación.