Modèles de données
Référence des types et schémas retournés par l'API Registeo. Toutes les valeurs énumérées (régimes, statuts, modes de paiement, champs spécifiques) sont issues du référentiel central servi par GET /referentiel — cette page est générée à partir de cette même source.
ObjetMobilier
Représente un objet enregistré dans le livre de police. Structure retournée par GET /api/objets et POST /api/objets.
type Regime =
| 'OBJETS_OCCASION' // art. 321-7 Code pénal
| 'METAUX_PRECIEUX' // art. L834-6 Code de commerce (douanes)
| 'METAUX_FERREUX_ET_NON_FERREUX' // art. L112-6 CMF + 1649 bis CGI
interface ObjetMobilier {
id: string
numero: number | string // Numéro d'ordre (ex: 1, 42, "2026-1" en mode annuel)
typeOperation: string // "achat", "dépôt", "reprise", "échange"
designation: string
marques: string
provenanceDeclaree: string
quantite: number
prixAchat: number | null // null si les régimes de l'entrée n'imposent pas de prix
modePaiement: string | null // "virement", "chèque", "espèces", "carte", "autre"
dateAchat: string // ISO 8601
regimes: Regime[] // Régimes juridiques applicables à cette entrée
// Vendeur — particulier
vendeurType: string // "particulier" ou "professionnel"
vendeurNom: string
vendeurDateNaissance: string | null
vendeurLieuNaissance: string
vendeurNationalite: string
vendeurAdresse: string
vendeurIdentiteType: string
vendeurIdentiteNumero: string
vendeurIdentiteDelivrance: string
// Vendeur — professionnel
vendeurRaisonSociale: string
vendeurSiret: string
vendeurId: string | null // ID interne du vendeur (répertoire Registeo)
// Documents et photos
vendeurDocuments: Document[] // Documents du vendeur professionnel (Kbis, etc.)
photos: Document[] // Photos de l'objet
signatureKey: string | null // Clé de la signature vendeur
signatureUrl: string | null // URL de téléchargement de la signature
// Champs spécifiques à l'activité ou au régime
champsActivite: Record<string, any> // Voir les sections plus bas
// Stock et mouvements
statut: string // Voir la section Statuts
dateVente: string | null // ISO 8601
prixVente: number | null
sorties: any[] // Sorties directes (legacy)
mouvements: Mouvement[] // Mouvements de stock
// Métadonnées
auditCount: number // Nombre d'entrées dans le journal d'audit
createdAt: string // ISO 8601
deletedAt: string | null // ISO 8601 (null si actif, date si soft-deleted)
}Régimes juridiques
Chaque objet porte un ou plusieurs régimes qui déterminent les règles applicables. Les régimes disponibles dépendent de l'activité configurée sur l'établissement.
| Régime | Court | Prix obligatoire | Espèces | LCB-FT | Stock obligatoire | Champs spécifiques |
|---|---|---|---|---|---|---|
Objets d'occasion (321-7 CP)OBJETS_OCCASION | Occasion | ✓ | Plafonné 1 000 € | — | — | 0 |
Métaux précieux (L834-6 C. com)METAUX_PRECIEUX | Précieux | — | Plafonné 1 000 € | 10 000 € | ✓ | 3 |
Métaux ferreux/non ferreux (L112-6 CMF + 1649 bis CGI)METAUX_FERREUX_ET_NON_FERREUX | Ferreux/NF | ✓ | Interdit | — | — | 0 |
Règles de validation appliquées par l'API :
- Si le champ
regimesest absent à la création, l'objet reprend lesregimesActifsdu profil. - Les valeurs qui ne figurent pas dans
regimesActifsdu profil sont filtrées silencieusement (elles ne sont pas enregistrées). prixAchatest obligatoire pour tout régime dont la colonne Prix obligatoire est cochée ci-dessus (le serveur renvoie400sinon).
Champs spécifiques par régime
Certains régimes attendent des champs supplémentaires sous champsActivite. Ils sont alimentés en plus des champs métier de l'activité.
| Régime | Clé | Libellé | Exemple |
|---|---|---|---|
Précieux | champsActivite.poincon | Poinçon | ex : Tête d'aigle 750, hibou (import) |
Précieux | champsActivite.poidsMetaux | Poids métaux précieux | ex : Or 18k : 4,2 g / Argent : 12 g |
Précieux | champsActivite.titreMetaux | Titre du métal | ex : 750‰ (18 carats), 585‰ (14 carats), 950‰ platine |
Activités
Valeurs acceptées par le champ activite à la création d'un objet ou d'un profil. Chaque activité expose ses propres régimes par défaut, statuts et champs spécifiques.
| Valeur | Libellé | Régimes disponibles | Statuts | Champs métier |
|---|---|---|---|---|
brocanteur | Brocanteur | OBJETS_OCCASION | 3 | — |
antiquaire | Antiquaire | OBJETS_OCCASION | 3 | 3 |
bijoutier | Bijoutier / Horloger | OBJETS_OCCASION, METAUX_PRECIEUX | 6 | 1 |
fripier | Fripier / Friperie | OBJETS_OCCASION | 3 | 2 |
depot-vente | Dépôt-vente | OBJETS_OCCASION | 4 | — |
galeriste | Galeriste | OBJETS_OCCASION | 4 | — |
telephone | Téléphonie / Électronique | OBJETS_OCCASION | 4 | 2 |
automobile | Automobile / Pièces détachées | OBJETS_OCCASION | 3 | 4 |
recyclerie | Recyclerie / Ressourcerie | OBJETS_OCCASION | 3 | — |
recuperation-metaux | Récupération de métaux | OBJETS_OCCASION, METAUX_FERREUX_ET_NON_FERREUX, METAUX_PRECIEUX | 2 | — |
recuperation-vhu | Centre VHU / Démolisseur automobile | OBJETS_OCCASION, METAUX_FERREUX_ET_NON_FERREUX | 2 | 4 |
vente-aux-encheres | Vente aux enchères | OBJETS_OCCASION, METAUX_PRECIEUX | 6 | 1 |
autre | Autre | OBJETS_OCCASION | 2 | — |
Activité hors référentiel : utilisez le préfixe autre: suivi du libellé personnalisé — par exemple autre:Tapissier, autre:Maroquinier. Cela retombe sur la configuration autre du référentiel (régimes par défaut, pas de champs métier spécifiques).
Champs spécifiques par activité
En plus du tronc commun et des champs de régime, chaque activité peut imposer ses propres champs sous champsActivite. La liste exhaustive ci-dessous est computed à partir du référentiel.
| Activité | Clé | Libellé | Exemple |
|---|---|---|---|
| Antiquaire | champsActivite.epoque | Époque / Style | ex : XVIIIe siècle, Art Déco, Empire |
| Antiquaire | champsActivite.dimensions | Dimensions | ex : 120 x 55 x 85 cm |
| Antiquaire | champsActivite.certificat | Certificat / expertise | ex : Expertise Me Dupont 15/03/2026, certificat GIA n°12345 |
| Bijoutier / Horloger | champsActivite.poincon | Poinçon | ex : Tête d'aigle 750, hibou (import) |
| Fripier / Friperie | champsActivite.taille | Taille | ex : M, 40, 38 |
| Fripier / Friperie | champsActivite.marque | Marque | ex : Zara, H&M, Levi's |
| Téléphonie / Électronique | champsActivite.imei | IMEI | ex : 359871092345678 (15 chiffres, *#06#) |
| Téléphonie / Électronique | champsActivite.numeroSerie | Numéro de série | ex : pour tablettes, montres connectées |
| Automobile / Pièces détachées | champsActivite.vin | Numéro VIN | ex : VF3LCYHZPKS123456 |
| Automobile / Pièces détachées | champsActivite.immatriculation | Immatriculation | ex : AB-123-CD |
| Automobile / Pièces détachées | champsActivite.carteGrise | Carte grise | ex : N° 2019AB12345, 1ère mise en circulation 15/03/2019 |
| Automobile / Pièces détachées | champsActivite.controleTechnique | Contrôle technique | ex : Favorable, 10/01/2026 |
| Centre VHU / Démolisseur automobile | champsActivite.vin | Numéro VIN | ex : VF3LCYHZPKS123456 |
| Centre VHU / Démolisseur automobile | champsActivite.immatriculation | Immatriculation | ex : AB-123-CD |
| Centre VHU / Démolisseur automobile | champsActivite.agrementVhu | N° d'agrément VHU | ex : PR 75 000 XXXX |
| Centre VHU / Démolisseur automobile | champsActivite.certifDestruction | N° certificat de destruction | ex : Cerfa 14365 n°… |
| Vente aux enchères | champsActivite.mandatVente | Référence du mandat | ex : Mandat n°2026-042, Me Dupont |
Document
Représente un fichier (photo d'objet, document vendeur) associé à un objet. Retourné dans les champs photos et vendeurDocuments.
interface Document {
key: string // Identifiant unique du fichier
url: string // URL de téléchargement (signée, expiration 1h)
addedAt: string // ISO 8601
}Mouvement
Représente un mouvement de stock (vente, casse, don, restitution, etc.) sur un objet. Retourné dans le champ mouvements d'un objet et dans les réponses de POST /api/objets/{id}/mouvements et PUT /api/objets/{id}/mouvements/{id}/resolve.
interface Mouvement {
id: string
quantite: number
statut: string // Voir la section Statuts
date: string // ISO 8601
prixVente: number | null // Uniquement pour les ventes
acheteurType: 'particulier' | 'professionnel' | null
acheteurNom: string | null // Nom (particulier) ou nom du représentant (pro)
acheteurAdresse: string | null // Adresse de l'acheteur
acheteurRaisonSociale: string | null // Raison sociale si professionnel
acheteurSiret: string | null // SIRET si professionnel
resolvedAt: string | null // ISO 8601 — si non null, le mouvement est annulé
}Statuts
Les statuts disponibles dépendent de l'activité configurée pour l'établissement. Le statut par défaut est en_stock (état implicite : aucun mouvement actif). Tout changement de statut passe par un mouvement de stock.
Les catégories déterminent le comportement :
| Catégorie | Comportement |
|---|---|
disponible | L'objet est en stock, immédiatement vendable. Aucun mouvement actif. |
en_cours | L'objet est temporairement indisponible. Un mouvement est créé. Annulable (resolve) → l'objet revient en stock. |
sorti | L'objet quitte définitivement le stock. Un mouvement est créé. Peut requérir une date et/ou un prix. |
Liste complète des statuts par activité :
| Activité | Valeur | Libellé | Catégorie | Date requise | Prix requis |
|---|---|---|---|---|---|
| Brocanteur | en_stock | En stock | disponible | — | — |
| Brocanteur | vendu | Vendu | sorti | ✓ | ✓ |
| Brocanteur | reserve | Réservé | en cours | — | — |
| Antiquaire | en_stock | En stock | disponible | — | — |
| Antiquaire | vendu | Vendu | sorti | ✓ | ✓ |
| Antiquaire | en_restauration | En restauration | en cours | — | — |
| Bijoutier / Horloger | en_stock | En stock | disponible | — | — |
| Bijoutier / Horloger | vendu | Vendu | sorti | ✓ | ✓ |
| Bijoutier / Horloger | en_reparation | En réparation | en cours | — | — |
| Bijoutier / Horloger | en_expertise | En expertise | en cours | — | — |
| Bijoutier / Horloger | restitue | Restitué | sorti | ✓ | ✓ |
| Bijoutier / Horloger | retracte | Rétracté | sorti | ✓ | ✓ |
| Fripier / Friperie | en_stock | En stock | disponible | — | — |
| Fripier / Friperie | vendu | Vendu | sorti | ✓ | ✓ |
| Fripier / Friperie | en_tri | En tri | en cours | — | — |
| Dépôt-vente | en_stock | En stock | disponible | — | — |
| Dépôt-vente | vendu | Vendu | sorti | ✓ | ✓ |
| Dépôt-vente | en_depot | En dépôt | en cours | — | — |
| Dépôt-vente | restitue | Restitué | sorti | ✓ | ✓ |
| Galeriste | en_stock | En stock | disponible | — | — |
| Galeriste | vendu | Vendu | sorti | ✓ | ✓ |
| Galeriste | en_exposition | En exposition | en cours | — | — |
| Galeriste | prete | Prêté | en cours | — | — |
| Téléphonie / Électronique | en_stock | En stock | disponible | — | — |
| Téléphonie / Électronique | vendu | Vendu | sorti | ✓ | ✓ |
| Téléphonie / Électronique | en_reconditionnement | En reconditionnement | en cours | — | — |
| Téléphonie / Électronique | en_reparation | En réparation | en cours | — | — |
| Automobile / Pièces détachées | en_stock | En stock | disponible | — | — |
| Automobile / Pièces détachées | vendu | Vendu | sorti | ✓ | ✓ |
| Automobile / Pièces détachées | en_remise_en_etat | En remise en état | en cours | — | — |
| Recyclerie / Ressourcerie | en_stock | En stock | disponible | — | — |
| Recyclerie / Ressourcerie | vendu | Vendu | sorti | ✓ | ✓ |
| Recyclerie / Ressourcerie | en_tri | En tri | en cours | — | — |
| Récupération de métaux | en_stock | En stock | disponible | — | — |
| Récupération de métaux | vendu | Vendu | sorti | ✓ | ✓ |
| Centre VHU / Démolisseur automobile | en_stock | En stock | disponible | — | — |
| Centre VHU / Démolisseur automobile | vendu | Vendu | sorti | ✓ | ✓ |
| Vente aux enchères | en_stock | En stock | disponible | — | — |
| Vente aux enchères | vendu | Vendu | sorti | ✓ | ✓ |
| Vente aux enchères | en_catalogue | En catalogue | en cours | — | — |
| Vente aux enchères | adjuge | Adjugé | sorti | ✓ | ✓ |
| Vente aux enchères | invendu | Invendu | en cours | — | — |
| Vente aux enchères | restitue | Restitué | sorti | ✓ | ✓ |
| Autre | en_stock | En stock | disponible | — | — |
| Autre | vendu | Vendu | sorti | ✓ | ✓ |