Développer
Schéma JSON
Traduction en révision — la version anglaise fait foi jusqu’à la révision. Lire en anglais →
Le schéma de dossier UGP v1.0, JSON Schema 2020-12, à /schema/v1.0/record.json : identité, les huit axes, le résultat dérivé et les champs d’audit.
Schéma : /schema/v1.0/record.json, JSON Schema 2020-12.
La forme d’un dossier
ugp_version, profile, profile_status, record_scope
identity { make, model, …, blacklist { status, basis, source, checked_at } }
axes
cosmetic { value, basis, zones { AA, A, B, C, … } [defects], mapped_from? { scale, value, crosswalk } }
functional { status, faults[] }
battery { health_pct, basis, cells[], replaced }
locks { value, types[] }
operator { value, carrier }
data { value, method, technique, tool, certificate_id, standard_rev }
parts { value, manifest[] }
kit { value, components[] }
result { status, reasons[], grade, premium, core_code, ctia_derived? }
audit { grader_id, graded_at, method, verification_tier, conformance, tolerance_table }Trois règles qui comptent dans le code
resultest dérivé. Le grade, le statut et le code de base dansresultconcordent avec la dérivation des §11 et §12; ne les acceptez jamais d’une saisie de l’utilisateur. Recalculez-les à partir deaxeset comparez. §4.4- Conservez les observations brutes. Gardez les listes de défauts par zone, les codes de défaillance, les relevés de batterie et l’état des pièces, et pas seulement les valeurs agrégées, afin qu’un dossier puisse être réévalué lorsqu’une tolérance change. §4.3
- Chaque valeur a une base. Mesurée, étayée, déclarée ou inconnue. Une batterie déclarée et une batterie mesurée ne donnent pas la même dérivation (seule une valeur mesurée de 90 % ou plus peut être Premium). §4.2
Versions et profils
ugp_versionfixe la version selon laquelle le dossier a été évalué; les différends sont tranchés en fonction de celle-ci. §14.6profile_statusvautprovisionalpour les catégories d’appareils dont le module de profil n’est pas encore publié. §1.2audit.tolerance_tablevautphone-1.0-provisionaltant que les nombres A–D sont provisoires. §5.5record_scopevautunitoulot. §14.5identity.blacklist.statusvautclear,reportedouunchecked;basisindique commentcleara été établi :measuredouevidenced(une vérification) oudeclared.uncheckeddonne le statut non évalué (NOT GRADED) avec le motiflost_stolen_unchecked; uncleardéclaré ajoute l’indicationlost_stolen_declared. §9.3axes.cosmetic.mapped_from(scale,value,crosswalk) n’est renseigné que pour un grade transposé du fournisseur, avec la base esthétiquedeclared. Il ajoute l’indicationsupplier_mappedet l’extension de code de base~src:supplier. §13.6
Tester votre implémentation
Validez chaque dossier par rapport au schéma, puis vérifiez que votre dérivation reproduit chacun des exemples de référence. Les exemples sont publiés à côté du schéma, à /schema/v1.0/golden/. Annexe E