TF Fiscal
Documentação

Webhooks

Registrar webhook

Registra ou atualiza a URL de callback que recebe os resultados de emissão e demais eventos.

POST/openapi/v1/webhooks
Requer os cabeçalhos de assinatura token, timestamp e sign, veja Autenticação.

Uma configuração de callback por aplicação: webHookId é o identificador da aplicação e chamar novamente sobrescreve a configuração. É a mesma configuração editada no console: registrar aqui ou salvar lá tem efeito idêntico, vale o último salvamento, e o formato dos callbacks depende só do tipo de evento. Chamar o registro de novo também restaura a entrega depois que o disjuntor de falhas consecutivas desligou o webhook. O modelo de entrega, a verificação da assinatura e a política de retentativa estão em Webhooks.

Corpo da requisição

id*
obrigatório para atualizar
stringIdentificador do webhook
uri*
stringURL de callback
contentType*
stringFormato do corpo do callback
token*
stringToken de verificação
eventos
arrayEventos assinados

* Campo obrigatório

200
Configuração salva.
webHookId
stringIdentificador do webhook

A plataforma faz POST para uri com corpo JSON (Content-Type: application/json; charset=utf-8). Um HTTP 2xx em até 10 segundos conta como entregue; qualquer outra resposta é reenviada com espera de 1 min, 5 min, 30 min, 2 h e 6 h. Dez falhas consecutivas desligam o webhook; chamar este registro de novo restaura a entrega e zera o contador. Exemplos de verificação da assinatura em Node.js e Java estão em Webhooks.

Cabeçalhos de cada entrega

Deduplique pelo id do evento e verifique a assinatura sobre os bytes originais do corpo.

json
{
"Content-Type": "application/json; charset=utf-8",
"X-Tffiscal-Event": "invoice.authorized",
"X-Tffiscal-Event-Id": "1950000000000001",
"X-Tffiscal-Delivery-Id": "1950000000000002",
"X-Tffiscal-Timestamp": "1758200000",
"X-Tffiscal-Signature": "9f2c...e1",
"token": "dGt6eXp5ZGRra2tzc3Nra2hoaGFha2tha2FhamFoaGFoNzc3Nz",
"x-token": "dGt6eXp5ZGRra2tzc3Nra2hoaGFha2tha2FhamFoaGFoNzc3Nz"
}
X-Tffiscal-Event*
stringCódigo do evento
X-Tffiscal-Event-Id*
stringId do evento
X-Tffiscal-Delivery-Id*
stringId da entrega
X-Tffiscal-Timestamp*
stringTimestamp da assinatura
X-Tffiscal-Signature*
stringAssinatura
token*
quando há token definido
stringToken de verificação
x-token*
quando há token definido
stringCópia do token

* Campo obrigatório