Envio de webhooks
Avise outro sistema sobre um evento e garanta que ele receba, mesmo diante de um erro 500 ou de uma espera esgotada de cinco segundos: cada entrega vai assinada, é repetida com pausas crescentes e, se as tentativas acabarem, fica guardada com os detalhes. Pague pelo uso, sem assinatura.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
avise outro sistema no segundo do evento
Por que uma entrega precisa de mais de uma tentativa
Todo produto que conversa com outros sistemas acaba precisando chamar o endereço de outra aplicação e confiar que a chamada chegue. Disparar essa chamada é uma linha de código; fazê-la sobreviver a um destino que reinicia, a um erro 500 ou a uma espera esgotada de cinco segundos é onde as equipes perdem uma semana sem perceber. A versão simples, uma única tentativa e nenhuma repetição, falha em silêncio na primeira oscilação da rede. Esta ferramenta é a camada de entrega que as equipes vivem reconstruindo: você informa o endereço de destino, o conteúdo e os cabeçalhos extras que precisar, e ela assina a mensagem, entrega e continua tentando se o outro lado não responder bem.
Como cada entrega é protegida
Cada entrega leva uma assinatura feita com um segredo compartilhado, para que o destino confirme que o conteúdo veio de você e não foi alterado no caminho. Se o destino responder com erro ou não responder a tempo, a tentativa se repete após pausas crescentes, o que dá fôlego a um sistema que está reiniciando. Quando todas as tentativas acabam, a chamada não é descartada: fica separada e volta para você com os detalhes da última resposta. Um erro comum é o destino não conferir a assinatura, o que deixa a porta aberta para chamadas falsas.
Empurrar em vez de ficar perguntando
a cada minuto — o famoso polling, que desperdiça chamadas o dia inteiro para descobrir que nada mudou. Menos tráfego, menos atraso, menos código de verificação. Para integração entre sistemas que não se conhecem, é o padrão que a web inteira adotou.
Como disparar uma entrega
Com isso, seu código sabe se o aviso chegou ou se precisa de outra tentativa, sem manter fila, worker nem conexão aberta. Uma chamada, uma entrega, um resultado verificável.
Preço por entrega, sem letra miúda
A cobrança é por uso e o preço fica publicado nesta página, então a conta da integração se faz antes de escrever a primeira linha de código. Sem assinatura: mês parado é mês sem custo.
Casos de uso
Admissão concluída avisa a folha
Quando o RH da Distribuidora Horizonte Verde conclui uma admissão, o sistema de folha de pagamento recebe o aviso com os dados do contrato. Márcia Regina Oliveira não redigita mais cadastro em dois lugares.
Perguntas frequentes
Como sei se o destino recebeu?
Um 200 confirma a entrega; um erro aparece para o seu código decidir o que fazer.
E se o sistema de destino estiver fora do ar?
A entrega retorna o erro em vez de sumir em silêncio. Para não ficar tratando isso à mão, combine com o retry automático do KIT, que refaz a tentativa sozinho até o destino voltar.
Preciso de contrato ou conta para usar?
Não. A compra é direta, sem cadastro, com pagamento via PayPal em dólar. Integra hoje, paga o que usar.
Como o sistema de destino sabe que a mensagem veio de mim?
Cada entrega leva uma assinatura feita com um segredo compartilhado. O destino confere essa assinatura para confirmar que o conteúdo veio mesmo de você e não foi alterado no caminho, e assim pode recusar chamadas falsificadas.
E se todas as tentativas falharem?
A chamada não se perde. Esgotadas as tentativas, ela é separada e devolvida para você com os detalhes da última resposta, para que você corrija a causa e reenvie, em vez de descobrir o buraco semanas depois.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/notify/webhook \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/hook"}'const res = await fetch("https://api.kit.forhosting.com/notify/webhook", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://example.com/hook"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/notify/webhook",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://example.com/hook"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/notify/webhook", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://example.com/hook"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.com/hook"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/notify/webhook", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"url": "https://example.com/hook"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "notify.webhook",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
O notify.webhook entrega avisos de máquina para máquina: quando algo acontece no seu sistema, a API faz um POST no endpoint que você indicar, com o payload que você definir. É integração em tempo real sem fila própria nem worker dedicado — US$ 0,002 por entrega, pago por uso.
Empurrar em vez de ficar perguntando
Sem webhook, o sistema de destino vive perguntando "já aconteceu?" O webhook inverte a direção: quem sabe do evento avisa quem precisa saber, no segundo em que ele acontece.
Como disparar uma entrega
A chamada em /notify/webhook leva dois ingredientes: a URL de destino e o corpo JSON que você quer entregar. A API faz o POST e o resultado da tarefa informa como o outro lado respondeu — o código HTTP retornado pelo endpoint.
Boas práticas de quem recebe
Quem projeta os dois lados com essas regras dorme melhor. Se você também está do lado que recebe webhooks, três hábitos evitam dor de cabeça: responda rápido com um 200 e processe o conteúdo depois, porque endpoint lento vira entrega perdida; valide a origem antes de confiar no payload; e trate entregas repetidas sem efeito colateral, porque redes falham e avisos podem chegar duas vezes.
Preço por entrega, sem letra miúda
Cada entrega custa US$ 0,002 — fixo, sem cobrança por tamanho de payload nem por destino. Dez mil avisos no mês somam US$ 20; mil, US$ 2.
Casos de integração
Venda nova avisa o ERP
A cada pedido fechado na loja online, o sistema dispara um webhook para o ERP com número, itens e valor. O faturamento começa no mesmo segundo — antes, a sincronização rodava de hora em hora e a expedição esperava.
Ponte entre sistema novo e legado
A TecnoSul Soluções Digitais precisava que um sistema legado reagisse a eventos do produto novo, sem mexer no código antigo. Um endpoint simples no legado e webhooks do lado novo resolveram a ponte em um dia.
Pedido despachado avisa a transportadora
Quando o pedido sai do depósito, a transportadora parceira recebe o webhook com volume, peso e endereço de entrega. A coleta é agendada sem telefonema e sem planilha trocada por e-mail.
Perguntas técnicas
Que formato tem o aviso entregue?
Um POST HTTP com o corpo JSON que você definir na chamada. O destino não precisa de nada especial: qualquer endpoint capaz de receber um POST está pronto.
O preço muda com o volume?
Não: US$ 0,002 por entrega, linear do primeiro ao milionésimo aviso. Dez mil entregas custam US$ 20, e a conta é essa antes e depois de crescer.
O conteúdo do payload fica retido?
Ele é processado para realizar a entrega — essa é a única finalidade. Mesmo assim, mande no payload o necessário: identificadores em vez de dossiês.