Souscripteurs, assurés, apporteurs
Créer ou retrouver les parties du contrat et obtenir subscriberId, insuredId et referreId.
Le modèle commun
Souscripteurs et assurés partagent la même table et le même modèle SubscriberDto ; les apporteurs
utilisent ReferrerDto, quasi identique. Dans les trois cas, seul personType est obligatoire ;
renseignez les champs pertinents selon le type de personne.
| Champ | Type | Description |
|---|---|---|
id | string | Lecture seule → subscriberId / insuredId / referreId |
clientNumber | string | N° client (attribué ou repris) |
personType | enum | PHYSIQUE, MORALE, FLOTTE — obligatoire |
civility | enum | MR, MME, MLLE, DR, PR, ME |
lastName, firstNames | string | Personne physique |
birthDate, birthPlace, nationality | date / string | |
nationalIdNumber | string | N° de pièce d'identité |
drivingLicenseNumber, drivingLicenseDate | string / date | Permis |
companyName | string | Raison sociale (personne morale) — souscripteur et assuré |
companyId | string | Compagnie liée — apporteur uniquement |
legalForm, rccmNumber, taxNumber, legalRepresentative | string | Personne morale |
address, postalCode | string | |
landlinePhone, mobilePhone, email | string | Contact (utilisés pour l'envoi des liens de paiement) |
isActive, createdDate, lastModifiedDate, createdBy, updatedBy | Lecture seule |
Souscripteurs
Créer — POST /provider/subscribers
curl -s -X POST $API/provider/subscribers \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{
"personType": "MORALE",
"companyName": "TRANSPORT IVOIRE SARL",
"rccmNumber": "CI-ABJ-2020-B-1234",
"taxNumber": "2012345A",
"legalRepresentative": "KONE Awa",
"mobilePhone": "+2250500000000",
"email": "contact@transport-ivoire.ci",
"address": "Yopougon, Abidjan"
}'Réponse 201 : ActionResponse<SubscriberDto>, l'identifiant est data.id. En cas de données
invalides : 400 avec success=false.
Rechercher — GET /provider/subscribers?query=…
Recherche paginée sur le nom, la raison sociale, la pièce d'identité, le téléphone ou le n° client. Utilisez-la pour réutiliser un souscripteur existant plutôt que d'en recréer un.
curl -s "$API/provider/subscribers?query=KOUAME&size=5" -H "Authorization: Bearer $TOKEN"Consulter — GET /provider/subscribers/{id}
404 SUBSCRIBER_NOT_FOUND si l'identifiant est inconnu.
Assurés
Mêmes opérations sous /provider/insureds : POST (→ insuredId), GET (liste paginée, actifs
seulement, filtres filter[lastName], filter[companyName], filter[email], filter[mobilePhone],
filter[clientNumber], filter[personType], filter[nationalIdNumber]), GET /{id}
(INSURED_NOT_FOUND).
L'assuré est posé sur chaque véhicule du contrat (contract_vehicle.insuredId). Si souscripteur
et assuré sont la même personne, envoyez le même identifiant dans subscriberId et insuredId.
Apporteurs
POST /provider/referrers renvoie le ReferrerDto créé directement (pas d'enveloppe) ;
GET /provider/referrers liste les apporteurs actifs (page, size) ; GET /provider/referrers/{id}
en consulte un. L'apporteur est optionnel sur la proposition (referreId).
Les rôles ACCOUNTANT et CLAIMS_HANDLER ne peuvent pas créer de souscripteur, d'assuré ni
d'apporteur. Utilisez un compte SOUSCRIPTEUR, BROKER_USER, BROKER_ADMIN ou COMPANY_ADMIN.
Partenariats et durées
Choisir le partenariat courtier – compagnie (companyBrokerId) et la durée de couverture (durationCode).
Véhicules et référentiels
Résoudre les référentiels (marque, modèle, type, catégorie, énergie, usage, genre, ville), créer et retrouver les véhicules qui alimentent vehicleIds.