Vai al contenuto principale
DiffHook/Documenti
GuideCreazione di monitor

Creazione di monitor

I monitor sono la risorsa principale di DiffHook. Ciascun monitor controlla un URL e attiva eventi quando il contenuto cambia.

Campi obbligatori

CampoTipoDescrizione
labelstringaNome abbreviato del monitor
urlstringaL'URL da monitorare

interval_minutes: la frequenza con cui controllare (facoltativo; si applicano le impostazioni predefinite). I valori validi includono 5, 15, 30, 60, 360, 1440 (minuti).

notification_config: oggetto JSON opzionale con sostituzioni per monitor, ad es. { "webhook_url": "https://…", "email": "alerts@…" }. Se omesso, per la consegna HTTP viene utilizzato il webhook predefinito dell'area di lavoro da Integrazioni.

Campi facoltativi

label: un nome leggibile mostrato nel dashboard. Il valore predefinito è l'URL.

css_selector — Limita il diff a un elemento DOM specifico. Riduce il rumore proveniente dalle barre di navigazione, dai banner dei cookie e da altri elementi standard.

{
  "css_selector": "#pricing-table"
}

js_rendering: utilizza un browser Chromium headless per eseguire il rendering della pagina prima di scattare uno snapshot. Obbligatorio per le app React/Vue/Angular che eseguono il rendering dei contenuti lato client. Più lento e dispendioso in termini di risorse: attivalo solo quando la pagina richiede effettivamente JavaScript per visualizzare il suo contenuto.

Selettore JSON per API JSON

I monitoraggi dell'API JSON possono definire l'ambito delle differenze in un campo o elenco specifico impostando json_selector.

Moduli di selezione supportati:

  • $ → oggetto radice
  • $.field → un campo sulla radice
  • $.a.b.c → campo annidato
  • $.items[*] → campo array ([*] è opzionale e trattato come l'array stesso)

Usa identity_key quando il tuo selettore si risolve in un array di oggetti. Questo ordina gli elementi in base a una chiave stabile prima della differenza, evitando così rumorose differenze di solo riordino.

{
  "json_selector": "$.items",
  "identity_key": "id",
  "track_additions_only": true
}

Esempio: monitoraggio di una pagina dei prezzi

Esempio di richiesta interattiva (dalle specifiche OpenAPI: cambia lingua, copia o Provalo):

Aggiornamento di un monitor

Puoi aggiornare qualsiasi campo modificabile con una richiesta PUT. Cambiano solo i campi forniti:

Mettere in pausa un monitor

La messa in pausa di un monitor interrompe il polling. I monitor in pausa non contano ai fini del limite del piano: né il conteggio dei monitor, né il budget di controllo mensile. Ciò rende la messa in pausa lo strumento giusto ogni volta che desideri arrestare temporaneamente un monitor senza perderne la configurazione o liberare uno slot permanente.

Scenari utili: finestre di manutenzione, flussi di lavoro stagionali o quando sei vicino al budget di controllo e desideri liberare capacità senza eliminare un monitor.

Riprendere un monitor

La ripresa riattiva un monitor in pausa. DiffHook convalida i limiti del piano al momento del ripristino: se il ripristino ti spinge oltre il conteggio dei monitor attivi, il budget di controllo mensile o il budget di controllo del rendering JS, la richiesta viene rifiutata con 403. Aggiorna il tuo piano o metti prima in pausa un altro monitor.