Modèles de données

Référence des types et schémas utilisés par l'API Registéo.

ObjetMobilier

Représente un objet enregistré dans le livre de police.

interface ObjetMobilier {
  id: string
  numero: number                 // Numéro d'ordre (attribué automatiquement)
  typeOperation: 'achat' | 'dépôt' | 'reprise' | 'échange'
  designation: string
  marques?: string
  provenanceDéclarée?: string
  quantite: number
  prixAchat: number
  modePaiement?: 'virement' | 'chèque' | 'espèces' | 'carte' | 'autre'
  dateAchat: string              // ISO 8601
  vendeurType?: 'particulier' | 'professionnel'
  vendeurNom: string
  vendeurDateNaissance?: string
  vendeurLieuNaissance?: string
  vendeurNationalite?: string
  vendeurAdresse?: string
  vendeurIdentiteType?: string
  vendeurIdentiteNumero?: string
  vendeurIdentiteDelivrance?: string
  vendeurRaisonSociale?: string
  vendeurSiret?: string
  vendeurId?: string             // Référence au répertoire vendeurs
  vendeurDocuments?: Document[]
  photos?: Document[]
  signatureKey?: string
  signatureUrl?: string
  statut?: 'en_stock' | 'vendu'
  dateVente?: string | null      // ISO 8601
  prixVente?: number | null
  auditCount?: number
  createdAt: string              // ISO 8601
  deletedAt?: string | null      // ISO 8601 (soft delete)
}

Vendeur

Représente un vendeur dans le répertoire.

interface Vendeur {
  id: string
  type: 'particulier' | 'professionnel'
  nom: string
  dateNaissance?: string
  lieuNaissance?: string
  nationalite?: string
  adresse?: string
  identiteType?: string
  identiteNumero?: string
  identiteDelivrance?: string
  raisonSociale?: string         // Vendeur professionnel
  siret?: string                 // Vendeur professionnel
  documents?: Document[]
  createdAt: string              // ISO 8601
}

ProfilProfessionnel

Représente le profil de l'établissement.

interface ProfilProfessionnel {
  id: string
  raisonSociale: string
  siret: string
  adresse: string
  codePostal: string
  ville: string
  telephone?: string
  activite: string
  numberingMode?: 'continuous' | 'yearly'
  startingOrderNumber?: number
}

Document

Représente un fichier (photo ou document) associé à un objet ou vendeur.

interface Document {
  key: string                    // Identifiant unique du fichier
  url: string                    // URL de téléchargement
  addedAt: string                // ISO 8601
}

AuditEntry

Représente une entrée dans le journal d'audit.

interface AuditEntry {
  id: string
  action: 'create' | 'update' | 'delete' | 'status_change'
  entityType: 'objet-mobilier' | 'vendeur' | 'profil-entreprise'
  entityId: string
  userId: string
  changes: Record<string, { from: any; to: any }>
  createdAt: string              // ISO 8601
}

Énumérations

TypeOperation

ValeurDescription
achatAchat direct
dépôtDépôt-vente
repriseReprise
échangeÉchange

StatutObjet

ValeurDescription
en_stockObjet en stock
venduObjet vendu

ModePaiement

ValeurDescription
virementVirement bancaire
chèqueChèque
espècesEspèces
carteCarte bancaire
autreAutre moyen de paiement

NumberingMode

ValeurDescription
continuousNumérotation continue
yearlyRemise à zéro chaque année