Aller au contenu principal

API Claims

Objectif

Soumettre et traiter les revendications d’acteurs locaux.

Périmètre

Demande de claim publique, revue backoffice, décision et attribution éventuelle de droits acteur.

Acteurs/applications consommatrices

  • DMV public.
  • Backoffice.
  • API Laravel.

Authentification requise

  • POST /api/v1/claims : visible comme public avec identify.app.
  • Routes admin claims : auth:sanctum + ensure.admin.

Permissions/RBAC

  • Une demande ne donne aucun droit avant validation.
  • La décision est réservée aux rôles autorisés.

Endpoints actuels visibles si confirmés

MéthodeRouteStatut
POST/api/v1/claimsConfirmé.
GET/api/v1/admin/claimsConfirmé admin.
PATCH/api/v1/admin/claims/{id}Confirmé admin.

Endpoints cibles proposés si utile

  • GET /api/v1/me/claims pour suivi utilisateur, non confirmé.

Exemple de requête

POST /api/v1/claims
X-App-Source: dmv
Content-Type: application/json

{
"acteur_id": "acteur-id",
"message": "Je souhaite revendiquer cet acteur."
}

Exemple de réponse succès

{
"data": {
"id": "claim-id",
"status": "pending"
}
}

Exemple d’erreur

{
"error": "claim_conflict",
"message": "Une revendication est déjà en cours pour cet acteur."
}

Pagination si applicable

Applicable à /admin/claims.

Rate limiting si applicable

Fortement recommandé sur POST /claims.

Audit/logs si applicable

Obligatoire pour décisions admin et conflits.

Sécurité

  • Minimiser les justificatifs.
  • Ne pas exposer les données de claims publiquement.
  • Les validations doivent être traçables.

État actuel vs cible

SujetÉtat actuelCible
SoumissionRoute visible.Payload et anti-abus stabilisés.
Traitement adminRoutes visibles.Décisions reliées au pivot actor_users.

Points à confirmer

  • Auth requise ou non pour soumission finale.
  • Justificatifs acceptés.
  • Statuts et notifications.