Pular para o conteúdo

Visão geral de aplicativos

Um aplicativo da owiew é um sistema seu, hospedado por você, que conversa com a owiew por API e por webhook. Nenhum código seu roda dentro da owiew.

O aplicativo é um sistema externo com dois canais, que podem ser usados juntos ou separados:

  • Entrada (webhook de saída da owiew): a owiew envia eventos assinados para uma URL https do seu sistema. Seu sistema só precisa receber e verificar a assinatura. Um aplicativo que só faz isso é chamado de receptor e nunca tem credencial para chamar a owiew.
  • Leitura (API de apps): o seu backend obtém um token de curta duração e chama a rota /apps/v1. Esse aplicativo usa o fluxo OAuth e tem credencial própria.

Os dois canais usam o mesmo vocabulário de escopos. O escopo concedido pelo administrador autoriza a rota da API e o evento de webhook que o exige.

A loja é a página Aplicativos dentro de cada projeto. Ela lista os aplicativos que o projeto pode instalar e os que já estão instalados.

  • Privado por padrão. Todo aplicativo nasce privado. Ele só aparece na loja de uma empresa ou de um projeto que esteja na lista de destinos autorizados do aplicativo. Quem não está na lista não vê o aplicativo, e a owiew responde ao pedido como se ele não existisse.
  • Instalação por consentimento. Um administrador do projeto instala o aplicativo e confere, numa tela própria, o que ele pede: projetos, escopos com o texto de cada um, risco e aviso de dados pessoais. Nada acontece antes do consentimento.
  • Controle do cliente. O administrador desinstala quando quiser, e o aplicativo perde o acesso em poucos minutos.

Uma instalação pode abranger vários projetos do mesmo administrador. Os escopos pertencem à instalação e valem para todos os projetos consentidos. O recorte por projeto vem do token (na leitura) e do campo projeto_id do evento (no webhook). Cada token vale para exatamente um projeto.

Parte Estado
Troca de credencial por token de app, com verificação offline pela chave pública Disponível
Rota GET /apps/v1/instalacao Disponível
Instalação por consentimento, desinstalação e aplicativo receptor Disponível
Webhook assinado: assinatura, repetição, idempotência e proteção contra SSRF Disponível
Evento de teste instalacao.teste.v1 Disponível
Eventos de dados (projeto.metricas.diarias.v1, conversao.registrada.v1, relatorio.publicado.v1) Planejado: estão no catálogo, mas ainda não podem ser assinados
Rotas de leitura de dados em /apps/v1 além de instalacao Planejado
Portal do desenvolvedor com cadastro por conta própria Planejado

As páginas marcam como planejado tudo o que ainda não funciona. Não escreva código contra o que está marcado assim.