Referência do manifesto do aplicativo
O arquivo de manifesto do aplicativo (manifest.json) define as propriedades de um aplicativo e seus pontos de integração com o Flowlu. Ele descreve como o aplicativo é identificado, quais permissões ele solicita e onde ele é incorporado na interface.
{
"appId": "com.example.weather", // Identificador exclusivo do aplicativo
"name": "Weather Forecast", // Nome do aplicativo
"version": "1.0.0", // Versão do aplicativo (Major.Minor.Patch)
"description": "Mostra a previsão do tempo na cidade selecionada.",
"author": {
"name": "Example Inc.",
"contact": "[email protected]"
},
"iconUrl": "https://example.com/icon.png", // URL do ícone do aplicativo
"categories": ["Utilities"], // Categorias/seções do Marketplace
"tags": ["weather", "forecast"],
"permissions": [ // Direitos de acesso solicitados
"crm.contacts.read",
"tasks.create"
],
"integrationPoints": { // Pontos de integração do aplicativo:
"menu": { // -> item no menu principal
"section": "CRM",
"title": "Weather Forecast",
"icon": "https://example.com/menu_icon.png"
},
"dashboard": { // -> widget na área de trabalho (dashboard)
"widgetTitle": "Weather Today",
"size": "small"
},
"cards": [ // -> widget em cartões de objeto (ex: cliente)
{
"entity": "client",
"widgetTitle": "Weather in Client's Region"
}
]
},
"entrypointURL": "https://app.example.com/", // URL da interface web principal do aplicativo
"webhookURL": "https://app.example.com/webhook", // (opcional) URL para callbacks
"apiEndpoints": { // (opc.) métodos de API adicionais do aplicativo
"getForecast": {
"url": "https://app.example.com/api/forecast",
"method": "GET"
}
},
"configuration": { // (opc.) esquema de configuração do aplicativo
"configSchema": {
"type": "object",
"properties": {
"apiKey": { "type": "string", "title": "Chave de API do serviço meteorológico" }
},
"required": ["apiKey"]
},
"defaultConfig": {
"apiKey": ""
}
},
"platformVersion": "1.0" // Versão compatível da plataforma Flowlu
}
Principais campos do manifesto
Identificação do aplicativo
Os campos appId, name e version identificam o aplicativo.
- appId é um identificador exclusivo ou namespace, usado internamente e em referências como a URL do aplicativo.
- version segue o versionamento semântico (SemVer) e é usado para rastrear atualizações.
Descrição e metadados
- description é um breve resumo do que o aplicativo faz.
- categories e tags classificam o aplicativo no catálogo do Marketplace.
- author contém o nome do desenvolvedor ou empresa e detalhes de contato.
Ícone e recursos visuais
O campo iconUrl aponta para o ícone do aplicativo (PNG ou SVG), exibido no Marketplace e onde quer que o aplicativo esteja integrado na interface. Recursos visuais adicionais, como capturas de tela ou pré-visualizações, podem ser definidos para o catálogo.
Permissões
O campo permissions lista os direitos de acesso que o aplicativo solicita, nomeando quais módulos ou dados do Flowlu ele precisa, como ler contatos do CRM ou criar tarefas.
Um administrador aprova cada permissão solicitada durante a instalação, e o aplicativo é instalado apenas se todas forem confirmadas. Durante a execução, o Flowlu aplica essas permissões rigorosamente: qualquer solicitação de API fora do escopo aprovado é rejeitada automaticamente.
Pontos de integração
A seção integrationPoints define onde o aplicativo aparece na interface do Flowlu. Cada ponto é configurado como uma seção separada no manifesto. Os mais comuns incluem:
- header: a barra de navegação superior.
- menu: o menu de navegação principal.
- tabs: uma aba em páginas de entidade, como uma oportunidade de vendas ou uma tarefa.
- cards: um widget dentro de um cartão de entidade, como um perfil de cliente.
Pontos adicionais suportados incluem reports (tipos de relatórios personalizados), dashboard (widgets de painel), mobile (integrações de aplicativos móveis) e contactCenter (integração do módulo de comunicações). A lista completa está em Pontos de integração suportados.
URLs de serviços externos
Para aplicativos que dependem de um aplicativo externo, o manifesto pode incluir:
- entrypointURL: a URL principal da interface do aplicativo, carregada em um iframe incorporado ou em uma aba separada.
- webhookURL: uma URL opcional para a qual a plataforma envia eventos, como notificações de instalação e desinstalação e eventos do CRM.
- apiEndpoints: um conjunto opcional de métodos de API adicionais que o próprio aplicativo fornece. O Flowlu pode chamá-los quando necessário, por exemplo, para recuperar dados do aplicativo.
Configurações
A seção configuration é usada quando um aplicativo precisa de configurações definidas pelo usuário no momento da instalação.
- configSchema é um JSON Schema que descreve os parâmetros esperados. O Flowlu o utiliza para gerar automaticamente um formulário de configuração durante a instalação.
- defaultConfig define valores padrão para esses parâmetros.
Isso permite que um aplicativo solicite os dados necessários (como uma chave de API para um serviço externo) e os armazene de forma segura.
Validação do manifesto
Mantenha o manifesto pequeno e fácil de ser analisado pela plataforma. Quando um aplicativo é enviado, o Flowlu valida o manifesto do aplicativo em relação ao esquema JSON atual e rejeita a instalação ou publicação se um campo obrigatório estiver faltando ou formatado incorretamente. Siga o esquema do manifesto na documentação e valide conforme você desenvolve.