Invia un webhook a ogni evento
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.
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.
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
Ogni invio è una richiesta POST con i dati dell’evento in formato JSON: cosa è successo, quando, e le informazioni rilevanti a seconda del caso. Il tuo sistema deve solo esporre un indirizzo capace di ricevere quella richiesta e rispondere con un codice di conferma. Non serve installare nulla di particolare: qualunque linguaggio in grado di ricevere richieste HTTP funziona.
Collegarlo ad altre capacità del KIT
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. 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.
Prezzo per ogni invio
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. 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.
Casi d'uso
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 frequenti
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.
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.
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.
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.
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 '{"input":"…"}'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({
"input": "…"
})
});
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={
"input": "…"
},
)
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" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
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
{
"input": "…"
}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. |