Visão Geral
Os endpoints são executados sob demanda, a partir de chamadas externas realizadas por:- Flows dinâmicos;
- IDRs/Chatbots, por meio da ação “API – Chamada Externa”;
- Ferramentas externas, como Postman ou sistemas integrados.
Principais Benefícios
- Flexibilidade total: Crie APIs sob medida para validações e regras específicas.
- Integração inteligente: Enriqueça decisões em tempo real em flows e IDRs.
- Agilidade: Reduza o tempo de implementação concentrando a lógica na plataforma.
- Manutenção simplificada: Centralize a lógica em um único ponto.
Como Localizar
Para acessar os Endpoints Customizados:- Acesse o Invenio Center.
- No canto superior direito, clique no ícone do seu perfil.
- Selecione a opção Integrações.
- Escolha a opção Endpoints Customizados.
Gerenciamento de Endpoints
Criação
Testes
Regras e Funcionamento
Palavras Reservadas
Não é permitido criar variáveis ou constantes com os seguintes nomes, pois são funções nativas do sistema:loggerloggerHistoryresponserequest
Limitações de Execução
| Limitação | Regra | Erro Retornado |
|---|---|---|
| Tempo Máximo | 10 segundos | { "error": "The JavaScript code took more than 10 seconds to execute" } |
| Retorno | Obrigatório via response() | { "error": "Endpoint has no data returned" } |
Variáveis e Métodos Globais
Objeto request
Contém as informações da requisição recebida:
method: Método HTTP (GET, POST, etc.)headers: Cabeçalhos da requisiçãobody: Corpo da requisiçãoquery: Parâmetros da URL
Métodos Disponíveis
logger(data: any)
Registra informações no log para debugging.
response(data: object, status: number = 200, success: boolean = true)
Responsável por retornar a resposta do endpoint.
Parâmetros:
data: objeto de retorno;status: código HTTP da resposta (padrão: 200);success: indica sucesso ou falha da execução.
Bibliotecas Disponíveis
Para facilitar o desenvolvimento, é possível utilizar bibliotecas externas nos endpoints customizados. Após criar o endpoint, durante a edição, basta acessar a opção Editar dados e selecionar as bibliotecas desejadas.| Nome | Exemplo de uso | Documentação |
|---|---|---|
| Axios | axios.get() | Documentação |
| Day.js | dayjs().now() | Documentação |
| Lodash | lodash.sortBy() | Documentação |
| Moment.js | moment().now() | Documentação |
Gerenciamento dos Endpoints Customizados
Na tela inicial de Endpoints Customizados, é possível gerenciar todos os endpoints existentes no ambiente. Ao clicar no ícone de três pontos localizado ao lado de cada endpoint, são exibidas as seguintes opções:- Editar: Direciona para a tela principal de edição do código em JavaScript.
- Deletar: Exclui permanentemente o endpoint do ambiente.
Boas práticas recomendadas
Links Relacionados
Usuários
Como configurar usuários
Ação de Chamada Externa
Como integrar endpoints no IDR
Webhook
Webhook Invenio
⁉️ Perguntas Frequentes (FAQ)
⏱️ Qual o tempo máximo de execução?
⏱️ Qual o tempo máximo de execução?
O tempo máximo de execução de um endpoint é de 10 segundos. Caso esse limite seja ultrapassado, o sistema retornará um erro de timeout.
📤 O retorno da resposta é obrigatório?
📤 O retorno da resposta é obrigatório?
Sim. É obrigatório retornar uma resposta utilizando o método
response(). Caso nenhum retorno seja realizado, o endpoint exibirá um erro de ausência de dados.🚫 Posso usar qualquer nome para minhas variáveis?
🚫 Posso usar qualquer nome para minhas variáveis?
Não. Você deve evitar as palavras reservadas:
logger, loggerHistory, response e request. O uso delas para definir variáveis ou constantes resultará em erro.📝 Como posso documentar a lógica do meu endpoint?
📝 Como posso documentar a lógica do meu endpoint?
Você pode utilizar o recurso de Anotações dentro do próprio endpoint para inserir descrições, observações ou exemplos de uso para outros desenvolvedores.