Invia un webhook a ogni evento
Avvisi un altro sistema di un evento e si assicuri che lo riceva, anche davanti a un errore 500 o a un’attesa scaduta di cinque secondi: ogni consegna è firmata, ritentata con pause crescenti e messa da parte con i dettagli se i tentativi finiscono. Paga solo l’uso, senza abbonamento.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
collega il KIT al gestionale
Perché una consegna richiede più di un tentativo
Ogni prodotto che dialoga con altri sistemi prima o poi deve chiamare l’indirizzo di un’altra applicazione e fidarsi che la chiamata arrivi. Lanciare quella chiamata è una riga di codice; farla sopravvivere a un ricevente che si riavvia, a un errore 500 o a un’attesa scaduta di cinque secondi è dove i team perdono una settimana senza accorgersene. La versione semplice, un solo tentativo e nessuna ripetizione, fallisce in silenzio al primo intoppo di rete. Questo strumento è lo strato di consegna che i team continuano a ricostruire: lei indica l’indirizzo di destinazione, il contenuto e le intestazioni aggiuntive che servono, e lo strumento firma il messaggio, lo consegna e insiste se l’altra parte non risponde bene.
Come viene protetta ogni consegna
Ogni consegna porta una firma creata con un segreto condiviso, così il ricevente può confermare che il contenuto viene da lei e non è stato alterato lungo il percorso. Se la destinazione risponde con un errore o non risponde in tempo, il tentativo si ripete dopo pause sempre più lunghe, dando a un sistema che si sta riavviando il tempo di riprendersi. Quando i tentativi sono esauriti, la chiamata non viene scartata: viene messa da parte e le torna indietro con i dettagli dell’ultima risposta. Un errore comune è un ricevente che non verifica la firma, lasciando la porta aperta a chiamate contraffatte.
Domande frequenti
Cosa succede se il mio sistema non risponde alla richiesta?
Il tentativo viene registrato come fallito; collegando questa capacità al ritentativo automatico, il sistema può riprovare l’invio più volte prima di rinunciare.
Posso usarlo al posto di un’email verso una persona?
È pensato per collegare sistemi tra loro, non per raggiungere una persona: se in fondo c’è qualcuno che deve leggere l’informazione, un’email o un messaggio su Slack restano la scelta più adatta.
Come fa il sistema ricevente a sapere che il messaggio viene da me?
Ogni consegna porta una firma creata con un segreto condiviso. Il ricevente la verifica per confermare che il contenuto viene davvero da lei e non è stato modificato lungo il percorso, così può rifiutare le chiamate contraffatte.
E se tutti i tentativi falliscono?
La chiamata non va persa. Esauriti i tentativi, viene messa da parte e le viene segnalata con i dettagli dell’ultima risposta, così può correggere la causa e reinviarla invece di scoprire il buco settimane dopo.
Perché non inviare la chiamata dal mio codice?
Inviarla è una riga di codice; farla sopravvivere a un ricevente che si riavvia, a un errore 500 o a un’attesa di cinque secondi è dove i team perdono una settimana senza accorgersene. Qui trova nuovi tentativi, firma e un posto per i fallimenti già pronti.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
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)Esempio di richiesta
{
"url": "https://example.com/hook"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "notify.webhook",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
notify.webhook manda una richiesta HTTP con i dati di un evento all’indirizzo che indichi tu, così il tuo gestionale, CRM o sistema interno riceve l’informazione in tempo reale e in formato strutturato, senza passare da un’email da leggere o da un controllo manuale periodico.
Quando un’email non è lo strumento giusto
Un’email va bene se in fondo c’è una persona che la legge. Ma se in fondo c’è un altro sistema — il gestionale, un CRM, uno script interno — leggere e interpretare un’email è un giro inutile. notify.webhook manda direttamente i dati dell’evento a un indirizzo HTTP che indichi tu: il sistema ricevente li legge in formato strutturato e agisce subito, senza intermediari da leggere a mano.
Cosa contiene la richiesta in arrivo
Il tuo sistema deve solo esporre un indirizzo capace di ricevere quella richiesta e rispondere con un codice di conferma. Ogni invio è una richiesta POST con i dati dell’evento in formato JSON: cosa è successo, quando, e le informazioni rilevanti a seconda del caso. Non serve installare nulla di particolare: qualunque linguaggio in grado di ricevere richieste HTTP funziona.
Collegarlo ad altre capacità del KIT
Combinato con il ritentativo automatico in caso di errore, garantisce che l’evento non si perda anche se il tuo sistema è momentaneamente irraggiungibile o sotto manutenzione programmata durante la notte. Il webhook diventa particolarmente utile come ultimo passaggio di un flusso: un documento viene letto, un testo viene analizzato, e il risultato finale arriva al tuo sistema tramite webhook invece che via email.
Prezzo per ogni invio
Non c’è canone di attivazione né costo separato per ogni sistema collegato: se lo stesso evento deve raggiungere due indirizzi diversi, conta come due invii distinti al prezzo pubblicato. Ogni webhook consegnato costa $0.002, un prezzo fisso senza componente variabile legata alla quantità di dati inviati. Mille eventi al mese costano $2.00, indipendentemente da quanto sono corposi i singoli payload JSON.
Casi di integrazione
Nuovo ordine che aggiorna il gestionale
Rossi & Figli S.r.l. di Milano riceve un webhook ogni volta che arriva un nuovo ordine dal sito, e il gestionale interno crea automaticamente la riga corrispondente senza intervento manuale.
Documento elaborato che avvisa il CRM
Web Agency Nuvola S.r.l. di Padova collega la lettura di un modulo cliente a un webhook verso il proprio CRM: appena il modulo viene interpretato, la scheda del cliente si aggiorna da sola.
Errore di elaborazione segnalato allo strumento interno
Quando un’elaborazione fallisce, Consulenza IT Marchetti S.r.l. riceve un webhook verso il proprio sistema di monitoraggio interno, così Alessandro Ferrari vede l’anomalia prima ancora che un cliente se ne accorga.
Domande tecniche
Che formato ha il payload del webhook?
JSON, con i campi relativi all’evento — tipo di evento, orario, dati rilevanti. La struttura esatta dipende da quale evento genera l’invio.
Serve un certificato o un’autenticazione particolare sul mio endpoint?
L’indirizzo deve essere raggiungibile via HTTPS. Puoi aggiungere un’intestazione o un token concordato per verificare che la richiesta arrivi davvero dal servizio.
Quanto costa ricevere mille webhook al mese?
$2.00, a $0.002 per invio, indipendentemente dalla dimensione del payload JSON di ciascuna richiesta.