Skip to main content

Conventions

Dates et heures

Toutes les dates utilisent ISO 8601 en UTC.
L’heure locale Cameroun (WAT) est UTC+1. Ne jamais envoyer de date sans suffixe de fuseau.

Devises

Les montants sont toujours en entier dans l’unité principale (pas de centimes). Ex. 500000 = 500 000 XAF.

Téléphones

Format E.164 avec code pays obligatoire.

Emails

Validation stricte RFC 5322. Longueur max 254 caractères.

Noms de champs

  • API (JSON) : camelCasefirstName, dateExpiration, niveauExperience
  • SQL (colonnes) : snake_casefirst_name, date_expiration
  • SQL (tables) : snake_case pluriel — candidats, offres_emploi
  • Enums : UPPER_SNAKE_CASECDI, PENDING_APPROVAL, NEW

IDs

  • Type : long (64 bits)
  • Format dans JSON : nombre entier
  • Exposés tels quels (pas d’obfuscation ni de slug)

Pagination

Spring Data standard. Voir Pagination.
  • page base 0
  • size max 100 (clampé silencieusement)
  • sort accepte plusieurs entrées

Tri

Langues

Les messages d’erreur et enumérations sont renvoyés selon Accept-Language (fr/en). Le français est le défaut.

Encodage

  • Body : UTF-8
  • URL : percent-encoding standard
  • Multipart : boundary généré par le client

Codes pays

ISO 3166-1 alpha-2. Cameroun = CM.

Géolocalisation

Format POINT(lon lat) pour les coordonnées PostGIS (interne). Exposé en API sous forme :

Enumérations

Toujours documentées par endpoint. Liste complète : Énumérations.

Nullabilité

Champs absents omis du JSON (pas null). Exception : champs explicitement documentés comme nullable.

Casse des réponses

  • Clés JSON : camelCase strict
  • Valeurs enum : UPPER_SNAKE_CASE
  • Chaînes libres : telles qu’enregistrées

Headers standards