Este artigo descreve como usar a API de notificação para enviar notificações dos aplicativos externos para os usuários da agente virtual. É útil enviar notificações aos usuários quando ocorre uma interrupção, em comunicados da empresa, quando uma solicitação ou um serviço é concluído, e assim por diante.
...
Nome | Valor | Exemplo de terminal |
---|---|---|
URL padrão | {{ENDPOINT}}/api/v1/bulk/notification | https://luma2.serviceaide.com/gateway/api/v1/bulk/notification |
...
Nome | Descrição |
---|---|
Autorização | Inclua a chave de acesso à API (API_TOKEN) fornecida aos aplicativos externos. |
ID externa do inquilinotenant | A ID externa do inquilino tenant da Luma. |
Content-Type | Especifique em que formato de dados deseja que a resposta seja fornecida; por exemplo: carga XML, JSON, TEXT. |
...
Nome | Descrição |
---|---|
Destinatários | Forneça os detalhes dos destinatários que receberão as notificações. Isso inclui:
|
Tipo de resposta | Especifique o formato em que deseja receber a resposta. No momento, há suporte apenas para o formato JSON. |
Mensagem | Especifique a mensagem que você deseja que a Luma envie aos usuários. Por exemplo, "Reiniciei o servidor. Caso encontre algum problema, crie um ticket de suporte" |
...
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}]" } } |
No exemplo acima, o campo message é usado para criar a mensagem de notificação a ser enviada ao usuário. O modelo JSON no campo cria uma mensagem bem formatada com cabeçalhos, subtítulos, mensagem e botões acionáveis.
Para enviar uma mensagem de texto simples, você pode usar o campo textmessage em vez do campo message. O campo textmessage pode ser usado para enviar uma mensagem de texto simples ao usuário, sem nenhuma formatação especial ou ação vinculada. No exemplo, vamos adicionar uma mensagem de texto simples.
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"
}
} |
Resposta
Depois que a solicitação POST é executada, a seguinte resposta é recebida no formato JSON.
...
- O carimbo de data e hora é a data e a hora da mensagem exibida no formato UNIX.
- O status é o resultado de sua solicitação. Para obter mais detalhes, consulte StatusCodesCódigos de status.
- Erro mostra se há algum erro que possa ter ocorrido ao exibir a mensagem.
...
Quando você usa a API de notificação como parte do fluxo de conversa na habilidade, o desenvolvedor ou administrador pode verificar ou depurar a resposta da API de notificação no utilitário de depuração do widget de teste, ou pode acessar os dados nas seções Histórico da conversa da agente virtual. Para obter mais informações sobre como depurar uma habilidade ou acessar o histórico da conversa, consulte estes artigos Depurar habilidades e Histórico da conversa
.
Exibir notificação da Luma
...