Gestire le versioni dei payload webhook
Convalida l’attuale involucro webhook senza versione per tipo di evento, distingui la versione del file da quella dello schema e gestisci in sicurezza i campi aggiuntivi.
Ultima revisione
Gli screenshot mostrano l’interfaccia in inglese.
L’attuale involucro webhook di dosya non ha un campo di versione dello schema. La sua struttura esterna stabile comprende id, type, created, workspace_id e data; data.version in un caricamento è la versione del file, non dello schema del payload.

Passaggi
- Verifica la firma sul corpo originale della richiesta, interpreta il JSON e richiedi al livello principale la stringa
id, il tipo supportatotype, il numerocreated, la stringaworkspace_ide l’oggettodata. - Accetta solo i tipi di evento attuali
file.uploaded,file.deletedeshare.accessed. Invia gli input malformati o non supportati a una quarantena persistente invece di indovinare lo schema. Allega l’ID evento solo seidal livello principale ha superato la convalida; altrimenti registra un ID di tracciamento generato dal ricevitore. - Per
file.uploaded, convalidafile_id,name,sizein byte,folder_idnullable,versionintero eis_new_versionbooleano. Usa quella versione solo per ordinare le revisioni del file indicato. - Per
file.deleted, convalidafile_id,nameepermanentbooleano. Uno spostamento nel cestino inviafalse, mentre un’eliminazione definitiva di file o cartella inviatrueper ogni file cancellato. - Per
share.accessed, richiedishare_id, il dato sensibiletoken,accessed_ate unaccess_typepari aview,downloadodownload_all. Unviewdi gruppo può avere siafile_idsiafolder_idimpostati sunull; convalida gli identificativi consentiti da quel tipo di accesso anziché richiederne uno per tutti. Non scrivere il token nella diagnostica. - Ignora i campi aggiuntivi non necessari al ricevitore, poi prova con una proprietà extra e una proprietà obbligatoria mancante. Il primo esempio deve essere elaborato; l’input malformato deve essere posto visibilmente in quarantena senza effetti parziali.
Poiché oggi non esiste una versione dello schema per l’instradamento, il codice che richiede payload.version rifiuterà ogni evento dosya valido. Distingui i casi per type e mantieni isolata la convalida specifica per evento, così potrai aggiungere consapevolmente un contratto futuro.

Risultato previsto
I payload attuali superano la convalida specifica per tipo, le proprietà aggiuntive non interrompono l’elaborazione e data.version resta un numero di revisione del file. Gli eventi malformati vengono rifiutati visibilmente senza esporre il token di condivisione o applicare operazioni parziali.
Ogni payload segnala una versione sconosciuta. Rimuovi il requisito della versione dello schema al livello principale: l’implementazione attuale non emette quel campo.
Un nuovo campo causa un rifiuto. Sostituisci il confronto di uguaglianza rigorosa degli oggetti con la convalida dei campi obbligatori, mantenendo i controlli di tipo sui campi usati dal ricevitore.
Guide correlate
Ti è stata utile?
Caricamento delle valutazioni…
Quando voti, salviamo un cookie tecnico per un massimo di 180 giorni, così puoi cambiare la tua risposta.
Domande e risposte
Fai una domanda sui passaggi di questa guida. Le domande vengono revisionate prima della pubblicazione.
Non inserire dati dell’account, credenziali o file privati nelle domande pubbliche. Usa l’assistenza privata in questi casi.
Caricamento delle domande…
Accedi al tuo account dosya per fare una domanda.