Smart Schema Validation
Jak DiffMon klasifikuje diffy API na schema a value změny včetně severity, fingerprintů a troubleshootingu.
Smart Schema Validation
Smart Schema Validation (SSV) vám pomůže oddělit skutečný API contract drift od běžného value churnu.
Dostupnost plánu: Pro a vyšší.
Místo toho, aby DiffMon jen řekl "změnil se hash", klasifikuje JSON změny do kategorií:
schema_change(drift shape/type)value_change(obsah se změnil, shape zůstává stabilní)mixed(oboje)
Kdy se SSV spouští
SSV se spouští automaticky, když platí vše z následujícího:
- Typ cíle monitoru je
api. - Fetch mode je
content. - Response body lze parseovat jako JSON.
- Nejprve se aplikují JSON select/ignore pravidla.
Pokud tyto podmínky neplatí, DiffMon se vrátí k legacy hash diffingu.
Co uživatelé vidí v aplikaci
V historii monitoru a u incidentů dostanete:
- classification badge (
schema_change,value_change,mixed,unchanged) - přechod schema hashe (
fromSchemaHash -> toSchemaHash) - počitadla schema/value změn
- nejčastěji změněné JSON paths
- severity pro každou změnu (
critical,high,medium,info)
To pomáhá rychlé triáži:
- priorizujte
schema_changeamixed value_changeberte jako nižší riziko, pokud nejde o business-critical oblast
Severity model
SSV emituje severity na každém change recordu:
| Kategorie | Operace | Severity |
|---|---|---|
schema | replace | critical |
schema | remove | high |
schema | add | medium |
value | replace | info |
value | add / remove | info |
Chování webhooků
Pro diff.detected obsahují webhook payloady:
diff_summarysclassification,schema_changes,value_changeschanges[]spath,category,op,severitydiff_fingerprintpro deduplikaci a grouping
To umožňuje stabilní downstream routing a automation bez nutnosti znovu implementovat diff logiku.
Best practices konfigurace
- Pokud potřebujete detekci contract driftu, nechte API monitory v
contentmode. - Pomocí
selectJsonPathszaměřte monitoring na stabilní podmnožinu, například jendata.items. - Pomocí
ignoreJsonPathsvyřaďte známá volatilní pole, například timestampy, ID nebo rotující tokeny. - Než ignore pravidla rozšíříte, projděte si nejčastěji změněné paths.
Troubleshooting
Běžné chyby a varování monitoru:
| Kód | Význam | Akce |
|---|---|---|
SELECT_RULES_INVALID_JSON_PATH | Neplatná syntaxe select JSON path | Opravte formát selectJsonPaths |
IGNORE_RULES_INVALID_JSON_PATH | Neplatná syntaxe ignore JSON path | Opravte formát ignoreJsonPaths |
SELECT_RULES_INVALID_JSON | Response není validní JSON, zatímco jsou nastavená select pravidla | Ověřte formát odpovědi endpointu |
IGNORE_RULES_INVALID_JSON | Response není validní JSON, zatímco jsou nastavená ignore pravidla | Ověřte formát odpovědi endpointu |
SELECT_OR_IGNORE_RULES_INVALID_JSON | Response není validní JSON, zatímco jsou nastavené obě sady pravidel | Ověřte formát odpovědi endpointu |
UNEXPECTED_MIME | Formát odpovědi neodpovídá očekávanému typu a body nejde parseovat jako JSON | Zkontrolujte upstream response/content type |
mime_mismatch_json (warning) | Body se parseovalo jako JSON, ale Content-Type není JSON | Požádejte poskytovatele o opravu content-type hlavičky |
schema_analysis_failed (warning) | Extrakce schématu selhala, hash diff je ale stále k dispozici | Zkontrolujte shape payloadu a logy, pak zkuste znovu |