Monitoraggio visivo
Il KIT fotografa una pagina a intervalli regolari e confronta gli scatti: se l'aspetto cambia — un banner nuovo, un layout che si rompe, un prezzo in vetrina — te lo segnala mostrandoti dove. Utile quando conta come appare la pagina all'occhio, non solo cosa dice il codice. La funzione è in beta.
Come funziona
A ogni controllo il KIT scatta una foto della pagina e la confronta con quella precedente. Se le due immagini differiscono oltre una certa soglia, ricevi un avviso con l'indicazione della zona cambiata. È il modo giusto quando ti interessa l'aspetto: un'immagine sostituita, un menu che sparisce, un elemento che scivola fuori posto. Cose che il testo della pagina non racconta, ma che l'occhio del visitatore nota subito.
Visivo o testuale?
Se ti basta sapere che una parola o una data sono cambiate, il monitoraggio del testo costa meno ed è più che sufficiente. Il monitoraggio visivo serve quando conta la resa grafica: verificare che la tua home non si sia rotta dopo un aggiornamento, o accorgersi di un cambio di vetrina che nel codice quasi non si vede. Scegli il visivo quando l'immagine vale più delle parole.
Prezzo, limiti e beta
$0.040 a controllo, prezzo pubblicato, a consumo senza abbonamento. Essendo in beta e basato sul confronto tra immagini, le pagine con elementi che cambiano da soli — caroselli, banner rotanti, animazioni — possono generare falsi allarmi. In quei casi conviene monitorare una zona più stabile o alzare un po' la soglia di differenza.
Casi d'uso
La tua home dopo un aggiornamento
Dopo ogni modifica al sito, il monitoraggio visivo ti avvisa se qualcosa si è rotto graficamente, prima che se ne accorgano i visitatori.
La vetrina che cambia
Segui una pagina in cui conta l'immagine — una vetrina, una locandina, un banner promo — e ti accorgi subito quando viene sostituita.
Landing di una campagna
Durante una campagna tieni d'occhio la landing: se un elemento sparisce o si sposta su un certo schermo, lo scopri all'istante.
Domande frequenti
In cosa è diverso dal monitoraggio del testo?
Il monitoraggio del testo nota le parole che cambiano; questo nota come cambia l'aspetto. Per un prezzo o una data basta il testo; per la grafica serve il confronto tra immagini.
Perché è in beta?
Perché confrontare immagini è delicato: elementi che si muovono da soli possono sembrare cambiamenti veri. Preferiamo avvisarti così regoli la soglia o scegli una zona più stabile.
Come evito i falsi allarmi con caroselli e banner?
Monitorando una porzione più ferma della pagina o alzando la soglia di differenza, così le animazioni non fanno scattare l'avviso a ogni giro.
Quanto costa?
$0.040 a controllo, prezzo pubblicato. A consumo, senza abbonamento: il conto dipende da quanto spesso vuoi fotografare la pagina.
Le immagini della pagina vengono conservate?
Servono a confrontare uno scatto con il successivo e a mostrarti la differenza. Non ne facciamo altro uso oltre al monitoraggio che hai impostato.
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/web/monitor-visual \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/web/monitor-visual", {
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/web/monitor-visual",
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/web/monitor-visual", 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/web/monitor-visual", 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": "web.monitor_visual",
"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.
Limiti
timeout_sec | 30 |
max_crawl_pages | 25 |
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. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |