Usagers
Consultation, création et invitation d’usagers via l’API de RDV-Solidarités
Usagers et Profils
Un Usager désigne le compte unique d'un usager sur la plateforme RDV-Solidarités. Il contient les informations de l'état civil de l'usager (nom, prénoms, date de naissance...) ainsi que des informations communes comme les préférences de notifications
Un Profil Usager lie un Usager à une Organisation. La plupart des usagers n'ont un lien qu'avec une seule Organisation, mais une partie interagit avec plusieurs Organisations. Au sein d'une Organisation, seuls les comptes usagers y ayant un profil sont visibles. Ce profil contient aussi quelques informations sur l'usager, indépendantes et non-partagées entre organisations.
Index
GET /api/v1/users
Paramètres de l'URL
:ids
ARRAY[INT] - optionnel : Liste des identifiants des usagers que l'on souhaite récupérer
Réponse en cas de succès
ARRAY[USER]
Exemple de requête
http GET https://www.rdv-solidarites.fr/api/v1/users \
access-token:FLXP6G2hIEYhmGe5MpHKfg \
client:fySY0UMlNzgbhE8QYhXdkw \
uid:martine@demo.rdv-solidarites.fr
Exemple de réponse
{
"users": [
{
"address": null,
"affiliation_number": null,
"birth_date": "1975-06-20",
"birth_name": null,
"created_at": "2021-06-28T10:12:41.993+02:00",
"caisse_affiliation": null,
"email": "patricia_duroy@demo.rdv-solidarites.fr",
"family_situation": null,
"first_name": "Patricia",
"id": 1,
"last_name": "DUROY",
"notify_by_email": true,
"notify_by_sms": true,
"number_of_children": null,
"phone_number": "0101010103",
"phone_number_formatted": "+33101010103",
"responsible": null,
"responsible_id": null,
"user_profiles": [
{
"logement": "en_accession_propriete",
"notes": null,
"organisation": {
"departement": "75",
"id": 1,
"name": "MDS Paris Nord"
}
}
]
}
]
}
GET /api/v1/:organisation_id/users
Paramètres de l'URL
:organisation_id
INT - requis : Liste de l'organisation pour laquelle on souhaite récupérer les:ids
ARRAY[INT] - optionnel : Liste des identifiants des usagers que l'on souhaite récupérer
Réponse en cas de succès
ARRAY[USER]
Exemple de requête
http GET https://www.rdv-solidarites.fr/api/v1/3/users \
access-token:FLXP6G2hIEYhmGe5MpHKfg \
client:fySY0UMlNzgbhE8QYhXdkw \
uid:martine@demo.rdv-solidarites.fr
Exemple de réponse
{
"users": [
{
"address": null,
"affiliation_number": null,
"birth_date": "1975-06-20",
"birth_name": null,
"created_at": "2021-06-28T10:12:41.993+02:00",
"caisse_affiliation": null,
"email": "patricia_duroy@demo.rdv-solidarites.fr",
"family_situation": null,
"first_name": "Patricia",
"id": 1,
"last_name": "DUROY",
"notify_by_email": true,
"notify_by_sms": true,
"number_of_children": null,
"phone_number": "0101010103",
"phone_number_formatted": "+33101010103",
"responsible": null,
"responsible_id": null,
"user_profiles": [
{
"logement": "en_accession_propriete",
"notes": null,
"organisation": {
"departement": "75",
"id": 1,
"name": "MDS Paris Nord"
}
}
]
}
]
}
Consultation
GET /api/v1/users/:id
Paramètres de l'URL
:id
INT : identifiant unique de l'usager
Réponse
user
: USERuser_profiles
Profils de l'usager dans les organisations accessibles à l'agent faisant la requête
Exemple de requête
http GET https://www.rdv-solidarites.fr/api/v1/users/102 \
access-token:FLXP6G2hIEYhmGe5MpHKfg \
client:fySY0UMlNzgbhE8QYhXdkw \
uid:martine@demo.rdv-solidarites.fr
Exemple de réponse
{
"user": {
"address": null,
"affiliation_number": null,
"birth_date": "1975-06-20",
"birth_name": null,
"created_at": "2021-06-28T10:12:41.993+02:00",
"caisse_affiliation": null,
"email": "patricia_duroy@demo.rdv-solidarites.fr",
"family_situation": null,
"first_name": "Patricia",
"id": 1,
"last_name": "DUROY",
"notify_by_email": true,
"notify_by_sms": true,
"number_of_children": null,
"phone_number": "0101010103",
"phone_number_formatted": "+33101010103",
"responsible": null,
"responsible_id": null,
"user_profiles": [
{
"logement": "en_accession_propriete",
"notes": null,
"organisation": {
"departement": "75",
"id": 1,
"name": "MDS Paris Nord"
}
}
]
}
}
Invitation
GET /api/v1/users/:id/invite
Paramètres de l'URL
:id
INT : identifiant unique de l'usager
Réponse
invitation_url
: lien d'invitation à destination de l'usager pour créer son profilinvitation_token
: code d'invitation de 8 caractères à destination de l'usager pour créer son profil en se rendant à l'urlhttps://www.rdv-solidarites.fr/invitation
Exemple de requête
http GET https://www.rdv-solidarites.fr/api/v1/users/102/invite \
access-token:FLXP6G2hIEYhmGe5MpHKfg \
client:fySY0UMlNzgbhE8QYhXdkw \
uid:martine@demo.rdv-solidarites.fr
Exemple de réponse
{
"invitation_token": "TOKENTOKEN",
"invitation_url": "https://rdv-solidarites.fr/users/invitation/accept?invitation_token=TOKENTOKEN"
}
POST /api/v1/users/:id/invite
Paramètres de l'URL
:id
INT : identifiant unique de l'usager
Paramètres
invite_for
: INT - en secondes, la durée de validité souhaitée du lien d'invitation envoyé à l'usager. (1 jour = 86 400 secondes). Si ce paramètre n'est pas renseignée, l'invitation sera valable 4 semaines par défaut.
Réponse
Si l'utilisateur a une adresse mail :
invitation_url
: lien d'invitation à destination de l'usager pour créer son profil
Si l'utilisateur n'a pas d'adresse mail :
invitation_token
: code d'invitation à destination de l'usager pour créer son profil en se rendant à l'urlhttps://www.rdv-solidarites.fr/invitation
GET /api/v1/invitations/:token
Permet de récupérer l'utilisateur lié à un token d'invitation, par exemple pour vérifier la validité de celle-ci.
Paramètres de l'URL
:token
code d'invitation de 8 caractères à destination de l'usager pour créer son profil ou prendre un rdv
Réponse en cas de succès
user
: USERuser_profiles
Profils de l'usager dans les organisations accessibles à l'agent faisant la requête
Exemple de requête
http GET https://www.rdv-solidarites.fr/api/v1/invitations/LRY01XT5 \
access-token:FLXP6G2hIEYhmGe5MpHKfg \
client:fySY0UMlNzgbhE8QYhXdkw \
uid:martine@demo.rdv-solidarites.fr
Exemple de réponse
{
"user": {
"address": null,
"address_details": null,
"affiliation_number": null,
"birth_date": null,
"birth_name": null,
"caisse_affiliation": null,
"case_number": null,
"created_at": "2022-09-07 11:21:53 +0200",
"email": "jean2@jacques.fr",
"family_situation": null,
"first_name": "Jean",
"id": 21,
"invitation_accepted_at": null,
"invitation_created_at": "2022-09-07 11:21:58 +0200",
"last_name": "JACQUES",
"notify_by_email": true,
"notify_by_sms": true,
"number_of_children": null,
"phone_number": "06 60 60 60 60",
"phone_number_formatted": "+33660606060",
"responsible": null,
"responsible_id": null,
"user_profiles": null
}
}
Création
POST /api/v1/users
Paramètres
organisation_ids
: [INT] - requis: Identifiants des organisations auxquelles rattacher le nouvel usagerfirst_name
: STRING - requis: Prénom(s)last_name
: STRING - requis: Nom d'usageemail
: STRING - optionnel: Email de contact (unique par usager)birth_name
: STRING - optionnel: Nom de naissancebirth_date
: STRING ou DATE - optionnel: Date de naissanceaddress
: STRING - optionnel: Adresse au format textephone_number
: STRING - optionnel: Numéro de téléphone français, mobile de préférenceresponsible_id
: INT - optionnel: Identifiant de l'usager responsablecaisse_affiliation
: STRING - optionnel: Caisse d'affiliation, valeurs possibles :aucune
,caf
oumsa
affiliation_number
: STRING - optionnel: Numéro d'affiliation à la caissefamily_situation
: STRING - optionnel: Situation familiale, valeurs possibles :single
,in_a_relationship
oudivorced
number_of_children
: INT - optionnel: nombre d'enfantsnotify_by_sms
: BOOL - optionnel: Tenter d'envoyer des notifications par SMSnotify_by_email
: BOOL - optionnel: Tenter d'envoyer des notifications par email
Si vous souhaitez créer un usager proche, remplissez le paramètre responsible_id
, et notez que seuls les champs organisation_ids
, first_name
, last_name
, birth_date
et birth_name
seront pris en compte. Les usagers proches n'ont pas tous les champs d'un usager responsable.
Réponse en cas de succès
user
: USERuser_profiles
Profils de l'usager dans les organisations accessibles à l'agent faisant la requête
Exemple de requête
http --json POST https://www.rdv-solidarites.fr/api/v1/users \
access-token:qx9HksCwRWvhQixJoXMlGA \
client:mfev-k8pv9n8s9VLExXXZQ \
uid:martine@demo.rdv-solidarites.fr \
organisation_ids:='[1,2]' \
first_name=Jean \
last_name=Jacques \
email=jean@jacques.fr \
phone_number="06 60 60 60 60"
Exemple de réponse
{
"user": {
"address": null,
"affiliation_number": null,
"birth_date": null,
"birth_name": null,
"caisse_affiliation": null,
"email": "jean2@jacques.fr",
"family_situation": null,
"first_name": "Jean",
"id": 21,
"last_name": "JACQUES",
"notify_by_email": true,
"notify_by_sms": true,
"number_of_children": null,
"phone_number": "06 60 60 60 60",
"responsible": null,
"responsible_id": null,
"user_profiles": null
}
}
Association à une Organisation
POST api/v1/user_profiles
Paramètres
organisation_id
: INT - requis: Identifiant de l'organisationuser_id
: INT - requis: Identifiant de l'usagerlogement
: STRING - optionnel : situation de logement, valeurs possibles :sdf
,heberge
,en_accession_propriete
,proprietaire
ouautre
notes
: STRING - optionnel : Notes libres à propos l'usager - ne pas y inclure de donneées sensibles ou confidentielles
Réponse en cas de succès
user_profile
: USER_PROFILEuser
: USERorganisation
: ORGANISATION
Exemple de requête
http --json POST https://www.rdv-solidarites.fr/api/v1/user_profiles \
access-token:qx9HksCwRWvhQixJoXMlGA \
client:mfev-k8pv9n8s9VLExXXZQ \
uid:martine@demo.rdv-solidarites.fr \
organisation_id:=1 \
user_id:=21 \
notes="Usager pressé"
Exemple de réponse
{
"user_profile": {
"logement": null,
"notes": "Usager pressé",
"organisation": {
"departement": "75",
"id": 1,
"name": "MDS Paris Nord"
},
"user": {
"address": null,
"affiliation_number": null,
"birth_date": null,
"birth_name": null,
"caisse_affiliation": null,
"email": "jean2@jacques.fr",
"family_situation": null,
"first_name": "Jean",
"id": 21,
"last_name": "JACQUES",
"notify_by_email": true,
"notify_by_sms": true,
"number_of_children": null,
"phone_number": "06 60 60 60 60",
"responsible": null,
"responsible_id": null
}
}
}
Last updated