Como usar os aplicativos do painel?
Com os aplicativos do Dashboard, você pode integrar um aplicativo ao painel do Trino AI para uso dos agentes. Esse
recurso permite criar um aplicativo independente, que pode ser incorporado para fornecer informações dos clientes,
pedidos, histórico de pagamentos anteriores, etc.
Quando incorporado ao painel do Trino AI, seu aplicativo obterá o contexto da conversa e do contato como um evento de
janela. Implemente um ouvinte para o evento de mensagem na sua página para receber o contexto.
Como criar um aplicativo de painel?
Passo 1. Acesse Configurações → Integrações → Painel de aplicativos. Clique no botão "Configurar" correspondente ao
painel de aplicativos.
Etapa 2. Clique em adicionar novo aplicativo, logo após adicione o nome do seu aplicativo e a URL na qual ele está
hospedado.
Quando terminar, uma nova aba com o nome que você deu ao aplicativo aparecerá na janela de conversa.
Ao clicar na nova aba, você poderá ver seu aplicativo buscando dados no painel do Trino AI.
Recebendo dados do Trino AI em seu aplicativo
O Trino AI apresentará a conversa e o contexto do contato como um evento de janela. Isso pode ser acessado no seu
aplicativo implementando um ouvinte para o evento, conforme mostrado aqui:
window.addEventListener("message", function (event) {
if (!isJSONValid(event.data)) {
return;
}
const eventData = JSON.parse(event.data);
});
Solicitação sob demanda de dados do Trino AI
Se precisar solicitar os dados da conversa sob demanda do Trino AI, você pode enviar uma mensagem para a janela pai
usando a API postMessage do JavaScript .
O Trino AI estará ouvindo esta chave: trinoai-dashboard-app:fetch-info.
Exemplo
O código a seguir pode ser usado para consultar o aplicativo do painel. O Trino AI responderá a essa solicitação
fornecendo o conteúdo atualizado da conversa imediatamente.
window.parent.postMessage('trinoai-dashboard-app:fetch-info', '*')
// You would get a message in the on message listener with the appContext payload.
Carga útil do evento
objeto de conversação
{
"meta": {
"sender": {
"additional_attributes": {
"description": "string",
"company_name": "string",
"social_profiles": {
"github": "string",
"twitter": "string",
"facebook": "string",
"linkedin": "string"
}
},
"availability_status": "string",
"email": "string",
"id": "integer",
"name": "string",
"phone_number": "string",
"identifier": "string",
"thumbnail": "string",
"custom_attributes": "object",
"last_activity_at": "integer"
},
"channel": "string",
"assignee": {
"id": "integer",
"account_id": "integer",
"availability_status": "string",
"auto_offline": "boolean",
"confirmed": "boolean",
"email": "string",
"available_name": "string",
"name": "string",
"role": "string",
"thumbnail": "string"
},
"hmac_verified": "boolean"
},
"id": "integer",
"messages": [
{
"id": "integer",
"content": "Hello",
"inbox_id": "integer",
"conversation_id": "integer",
"message_type": "integer",
"content_type": "string",
"content_attributes": {},
"created_at": "integer",
"private": "boolean",
"source_id": "string",
"sender": {
"additional_attributes": {
"description": "string",
"company_name": "string",
"social_profiles": {
"github": "string",
"twitter": "string",
"facebook": "string",
"linkedin": "string"
}
},
"custom_attributes": "object",
"email": "string",
"id": "integer",
"identifier": "string",
"name": "string",
"phone_number": "string",
"thumbnail": "string",
"type": "string"
}
}
],
"account_id": "integer",
"additional_attributes": {
"browser": {
"device_name": "string",
"browser_name": "string",
"platform_name": "string",
"browser_version": "string",
"platform_version": "string"
},
"referer": "string",
"initiated_at": {
"timestamp": "string"
}
},
"agent_last_seen_at": "integer",
"assignee_last_seen_at": "integer",
"can_reply": "boolean",
"contact_last_seen_at": "integer",
"custom_attributes": "object",
"inbox_id": "integer",
"labels": "array",
"muted": "boolean",
"snoozed_until": null,
"status": "string",
"timestamp": "integer",
"unread_count": "integer",
"allMessagesLoaded": "boolean",
"dataFetched": "boolean"
}
objeto de contato
{
"additional_attributes": {
"description": "string",
"company_name": "string",
"social_profiles": {
"github": "string",
"twitter": "string",
"facebook": "string",
"linkedin": "string"
}
},
"availability_status": "string",
"email": "string",
"id": "integer",
"name": "string",
"phone_number": "+91 9000000001",
"identifier": "string || null",
"thumbnail": "+91 9000000001",
"custom_attributes": {},
"last_activity_at": "integer"
}
objeto currentAgent
{
"email": "string",
"id": "integer",
"name": "string"
}
Carga Útil Final
{
"event": "appContext",
"data": {
"conversation": {
// <...Conversation Attributes>
},
"contact": {
// <...Contact Attributes>
},
"currentAgent": {
// <...Current agent Attributes>
}
}
}