Fale conosco
WhatsApp

3 - Cadastrar um endpoint

A aba Endpoints tem a lista de endereços cadastrados à esquerda e o formulário Configuração do Endpoint à direita. Uma filial pode ter vários endpoints — cada um com seus próprios filtros, autenticação e política de tentativas.

1. Selecionar a filial

O campo Emitente/Filial, no topo da tela, define de quem são os endpoints listados. Ele vale para as duas abas. Trocar a filial recarrega a lista e o histórico.

O endpoint pertence à filial, não à empresa. Se o cliente emite por três filiais e quer ser avisado das três, são três cadastros — ou o sistema dele só vai receber as notas de uma. É o engano mais comum na primeira configuração.

2. Os campos, um a um

Campo Para que serve
Descrição Texto livre para você identificar o cadastro na lista (ex.: "ERP do cliente — produção"). Não vai na notificação
URL O endereço que receberá a chamada. Único campo obrigatório
Método HTTP POST ou GET. Ver a seção 3
Nível detalhe Resumido ou Completo — quanto de informação vai no corpo. Ver capítulo Eventos e o conteúdo enviado
Documentos Lista marcável: NFe, NFCe, CTe, CTeOS, MDFe. Só os marcados notificam
Eventos Lista marcável: Autorizacao, Cancelamento, Encerramento
Headers (JSON) Cabeçalhos HTTP extras, em formato JSON. Ver a seção 4
Assinar corpo com HMAC-SHA256 Liga a assinatura do corpo. Ver a seção 5
HMAC secret O segredo compartilhado usado na assinatura. Exibido mascarado
Timeout (s) Quanto esperar pela resposta antes de considerar falha. Padrão 30
Tentativas máx. Quantas tentativas antes de desistir. Padrão 5
Ativo Desmarcado, o endpoint para de receber notificações — sem perder o cadastro

Os filtros Documentos e Eventos são cruzados: um endpoint com NFe + NFCe e Autorizacao recebe autorização de NF-e e de NFC-e, e nada mais. O Encerramento só ocorre em MDF-e, então marcá-lo sem marcar MDFe não tem efeito.

3. POST ou GET

  POST (recomendado) GET
Como os dados vão Corpo da requisição, em JSON Query string na URL
Conteúdo Payload completo, incluindo blocos aninhados (destinatário, valores) Só os campos simples — o que está aninhado não vai
Assinatura HMAC Disponível Indisponível — não há corpo para assinar

Use GET apenas quando o sistema do cliente não souber receber POST. Além de perder a assinatura e os blocos aninhados, dados de nota fiscal passam a trafegar na URL — e URL costuma ser gravada em log de servidor, de proxy e de firewall.

4. Headers (JSON)

Serve para atender a autenticação que o endpoint do cliente exigir. O conteúdo é um objeto JSON simples, com um par por cabeçalho:

{ "Authorization": "Bearer eyJhbGciOi...", "x-api-key": "9f3c2b1e-..." }

Deixe em branco se o endpoint não exige autenticação. O Content-Type não precisa ser informado — o sistema já envia application/json no POST.

Se o JSON estiver malformado, os cabeçalhos são simplesmente ignorados e a chamada segue sem eles — o envio não quebra. Na prática isso aparece como 401 ou 403 vindo do endpoint. Ao investigar uma falha de autenticação, conferir este campo primeiro.

5. Assinatura HMAC-SHA256

Marcando Assinar corpo com HMAC-SHA256 e preenchendo o HMAC secret, cada chamada leva o cabeçalho X-TryERP-Signature com a assinatura do corpo.

Isso responde a uma pergunta que o sistema do cliente não consegue responder sozinho: "esta chamada veio mesmo do TryERP, ou alguém descobriu a URL?" Quem conhece o segredo consegue recalcular a assinatura; quem não conhece, não.

O segredo é combinado entre as duas pontas — pode ser qualquer texto longo e aleatório. Ele não trafega na chamada: o que viaja é o resultado do cálculo. O procedimento de validação está no capítulo Guia para o desenvolvedor do endpoint.

6. Testar envio

O botão Testar envio manda ao endereço informado uma notificação de exemplo, com "evento": "TESTE" e uma chave de acesso fictícia de 44 zeros. Usa exatamente o que está na tela — URL, método, headers, HMAC e timeout — mesmo que você ainda não tenha salvo.

O resultado aparece numa mensagem com o código HTTP e o início da resposta.

O teste não entra na fila e não aparece no histórico: é uma chamada avulsa, só para validar conectividade, autenticação e assinatura. Pode ser repetido à vontade sem sujar o registro de entregas.

7. Salvar, criar outro, excluir

  • Salvar grava o endereço em edição. A URL é obrigatória e a filial precisa estar selecionada
  • Novo limpa o formulário para um cadastro novo, já com todos os documentos e eventos marcados e os padrões de timeout e tentativas
  • Excluir apaga o endpoint selecionado na lista, com confirmação

Para suspender temporariamente as notificações, desmarque Ativo em vez de excluir. Excluir perde a configuração, e o histórico das notificações daquele endpoint deixa de ter a quem se referir.

8. Faça e não faça

Faça Não faça
Testar antes de salvar, na estação que vai emitir Cadastrar e assumir que funciona porque a URL "está certa"
Marcar só os documentos e eventos que o cliente pediu Deixar tudo marcado "por garantia" — gera chamada que o cliente descarta
Usar https:// Usar http:// na internet, ainda mais sem HMAC
Usar HMAC quando o endpoint é público Confiar que ninguém vai descobrir a URL
Timeout curto (10–30 s) Timeout alto, que prende o envio esperando um endpoint lento
Um cadastro por filial que emite Um cadastro só, esperando receber de todas as filiais

Próximo capítulo: Eventos e o conteúdo enviado — o que exatamente sai em cada notificação.