Skip to main content
A Sensor de Jornada API expõe, em JSON, o que a plataforma mostra no Sensor de Jornada: colaboradores, regras de jornada (triggers) e disparos com o score de cada um. É a mesma API usada pelo conector BOOM. É somente leitura. Criar, editar, duplicar ou excluir triggers, disparo manual, reenvio e envio de notificações pendentes não fazem parte deste contrato.
A especificação OpenAPI está em jornada.openapi.yaml. Valide cada chamada no ambiente de homologação antes de usar em produção.

Servidores

Autenticação

Permissões exigidas: employee:read (visão geral) e survey_template:read (triggers, disparos e respostas). A empresa do companyId precisa ser a do usuário autenticado.

Endpoints

Os dois POST usam esse método apenas porque recebem filtros ou IDs no corpo. Nenhum deles altera dados.

Filtros por endpoint

Visão geral (corpo JSON, companyId obrigatório): Triggers e Disparos: não têm filtros. Query string é ignorada e a lista completa da empresa é devolvida. Respostas (corpo JSON): journeyTriggerAudienceIds, lista de IDs de disparo (os journeyTriggerAudienceId devolvidos em Disparos).

Perfis de acesso

  • Os dados são individuais (nome, e-mail, score por disparo). Não há endpoint agregado nem regra de anonimato mínimo.
  • Perfil sem acesso recebe 403, nunca lista vazia.
  • Triggers descrevem a configuração da empresa e não trazem dado de pessoa.

Papel: colaborador e líder

Um disparo é do líder quando onBehalfOfEmployeeId está preenchido: o líder responde em nome daquele colaborador. Com onBehalfOfEmployeeId = null, o disparo é do próprio colaborador.

”Líder não precisa responder” × “líder não respondeu”

O líder não precisa responder quando o trigger tem sendToManager = false (em triggers de ciclo é sempre true), quando o colaborador não tem gestor imediato ativo ou quando o template não tem perguntas para a Liderança. Ausência de linha não é falta de resposta.

Score, faixas e fases

  • score é inteiro de 0 a 1000 e só existe em disparos ANSWERED com perguntas pontuáveis.
  • countedForScore = false indica que o trigger não conta para o score do colaborador.
  • O score por pergunta dos templates não é retornado. A API devolve o score final do disparo e, em Respostas, só o texto da resposta.
A faixa é uma interpretação da plataforma: a API devolve só o número.

Fases da jornada

ENTRY (Entrada), DEVELOPMENT (Desenvolvimento) e EXIT (Saída) pertencem ao tipo do trigger. Os endpoints devolvem apenas journeyTriggerTypeId, sem a fase e sem o slug do tipo. Os IDs de tipo mudam por ambiente, então não use-os fixos no código. Empresas também podem ter tipos próprios, que não aparecem nesta tabela.

Enums

O trigger só tem o booleano active. Não existe enum de status de trigger.

Paginação e limite de uso

  • Só a visão geral pagina: page começa em 0; o conector usa size = 20 por padrão. A resposta traz page, size, totalElements, totalPages e data.
  • Triggers e disparos devolvem a lista completa da empresa.
  • A aplicação não impõe limite por requisição para JWT e mct_ nestas rotas e não devolve 429. O limite de 120 requisições por 60 segundos vale só para bvt_, que não é aceito aqui. A infraestrutura pode aplicar um limite próprio. Boa prática: no máximo 1 requisição por segundo por token.

Erros

Não existe código interno de erro. Identifique cada erro por HTTP + message.

Exemplos completos

Todos os dados abaixo são fictícios.

Disparo respondido pelo colaborador, e líder que ainda não respondeu

GET /core/v1/journey-dispatch/{companyId} (trecho):
A segunda linha é “líder não respondeu”. Se ela não existisse, o líder simplesmente não precisaria responder. Os exemplos completos de cada endpoint estão na especificação OpenAPI.

cURL

Python

JavaScript


Versionamento

A versão está no path (/core/v1). Campos novos opcionais podem aparecer sem aviso: ignore campos desconhecidos. Remover um campo ou mudar seu tipo só ocorre em uma nova versão de path. O info.version da especificação acompanha este contrato.