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

httpie
curl
1
http GET https://www.rdv-solidarites.fr/api/v1/users \
2
access-token:FLXP6G2hIEYhmGe5MpHKfg \
3
client:fySY0UMlNzgbhE8QYhXdkw \
Copied!
1
curl --verbose \
2
--header 'access-token: b-zBRj7TFto9dIJlXg5eyw' \
3
--header 'client: jcfNV37BmHusa6S0FFC9FQ' \
4
--header 'uid: [email protected]' \
5
'https://www.rdv-solidarites.fr/api/v1/users'
Copied!

Exemple de réponse

1
{
2
"users": [
3
{
4
"address": null,
5
"affiliation_number": null,
6
"birth_date": "1975-06-20",
7
"birth_name": null,
8
"created_at": "2021-06-28T10:12:41.993+02:00",
9
"caisse_affiliation": null,
10
"email": "[email protected]",
11
"family_situation": null,
12
"first_name": "Patricia",
13
"id": 1,
14
"last_name": "DUROY",
15
"notify_by_email": true,
16
"notify_by_sms": true,
17
"number_of_children": null,
18
"phone_number": "0101010103",
19
"phone_number_formatted": "+33101010103",
20
"responsible": null,
21
"responsible_id": null,
22
"user_profiles": [
23
{
24
"logement": "en_accession_propriete",
25
"notes": null,
26
"organisation": {
27
"departement": "75",
28
"id": 1,
29
"name": "MDS Paris Nord"
30
}
31
}
32
]
33
}
34
]
35
}
Copied!
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

httpie
curl
1
http GET https://www.rdv-solidarites.fr/api/v1/3/users \
2
access-token:FLXP6G2hIEYhmGe5MpHKfg \
3
client:fySY0UMlNzgbhE8QYhXdkw \
Copied!
1
curl --verbose \
2
--header 'access-token: b-zBRj7TFto9dIJlXg5eyw' \
3
--header 'client: jcfNV37BmHusa6S0FFC9FQ' \
4
--header 'uid: [email protected]' \
5
'https://www.rdv-solidarites.fr/api/v1/3/users'
Copied!

Exemple de réponse

1
{
2
"users": [
3
{
4
"address": null,
5
"affiliation_number": null,
6
"birth_date": "1975-06-20",
7
"birth_name": null,
8
"created_at": "2021-06-28T10:12:41.993+02:00",
9
"caisse_affiliation": null,
10
"email": "[email protected]",
11
"family_situation": null,
12
"first_name": "Patricia",
13
"id": 1,
14
"last_name": "DUROY",
15
"notify_by_email": true,
16
"notify_by_sms": true,
17
"number_of_children": null,
18
"phone_number": "0101010103",
19
"phone_number_formatted": "+33101010103",
20
"responsible": null,
21
"responsible_id": null,
22
"user_profiles": [
23
{
24
"logement": "en_accession_propriete",
25
"notes": null,
26
"organisation": {
27
"departement": "75",
28
"id": 1,
29
"name": "MDS Paris Nord"
30
}
31
}
32
]
33
}
34
]
35
}
Copied!

Consultation

GET /api/v1/users/:id

Paramètres de l'URL

  • :id INT : identifiant unique de l'usager

Réponse

  • user : USER
    • user_profiles Profils de l'usager dans les organisations accessibles à l'agent faisant la requête

Exemple de requête

httpie
curl
1
http GET https://www.rdv-solidarites.fr/api/v1/users/102 \
2
access-token:FLXP6G2hIEYhmGe5MpHKfg \
3
client:fySY0UMlNzgbhE8QYhXdkw \
Copied!
1
curl --verbose \
2
--header 'access-token: b-zBRj7TFto9dIJlXg5eyw' \
3
--header 'client: jcfNV37BmHusa6S0FFC9FQ' \
4
--header 'uid: [email protected]' \
5
'https://www.rdv-solidarites.fr/api/v1/users/1'
Copied!

Exemple de réponse

1
{
2
"user": {
3
"address": null,
4
"affiliation_number": null,
5
"birth_date": "1975-06-20",
6
"birth_name": null,
7
"created_at": "2021-06-28T10:12:41.993+02:00",
8
"caisse_affiliation": null,
9
"email": "[email protected]",
10
"family_situation": null,
11
"first_name": "Patricia",
12
"id": 1,
13
"last_name": "DUROY",
14
"notify_by_email": true,
15
"notify_by_sms": true,
16
"number_of_children": null,
17
"phone_number": "0101010103",
18
"phone_number_formatted": "+33101010103",
19
"responsible": null,
20
"responsible_id": null,
21
"user_profiles": [
22
{
23
"logement": "en_accession_propriete",
24
"notes": null,
25
"organisation": {
26
"departement": "75",
27
"id": 1,
28
"name": "MDS Paris Nord"
29
}
30
}
31
]
32
}
33
}
Copied!

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 profil
  • invitation_token : code d'invitation de 8 caractères à destination de l'usager pour créer son profil en se rendant à l'url https://www.rdv-solidarites.fr/invitation

Exemple de requête

httpie
curl
1
http GET https://www.rdv-solidarites.fr/api/v1/users/102/invite \
2
access-token:FLXP6G2hIEYhmGe5MpHKfg \
3
client:fySY0UMlNzgbhE8QYhXdkw \
Copied!
1
curl --verbose \
2
--header 'access-token: b-zBRj7TFto9dIJlXg5eyw' \
3
--header 'client: jcfNV37BmHusa6S0FFC9FQ' \
4
--header 'uid: [email protected]' \
5
'https://www.rdv-solidarites.fr/api/v1/users/102/invite'
Copied!

Exemple de réponse

1
{
2
"invitation_token": "TOKENTOKEN",
3
"invitation_url": "https://rdv-solidarites.fr/users/invitation/accept?invitation_token=TOKENTOKEN"
4
}
Copied!

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'url https://www.rdv-solidarites.fr/invitation

Création

POST /api/v1/users

Paramètres

  • organisation_ids : [INT] - requis: Identifiants des organisations auxquelles rattacher le nouvel usager
  • first_name: STRING - requis: Prénom(s)
  • last_name: STRING - requis: Nom d'usage
  • email: STRING - optionnel: Email de contact (unique par usager)
  • birth_name: STRING - optionnel: Nom de naissance
  • birth_date: STRING ou DATE - optionnel: Date de naissance
  • address: STRING - optionnel: Adresse au format texte
  • phone_number: STRING - optionnel: Numéro de téléphone français, mobile de préférence
  • responsible_id: INT - optionnel: Identifiant de l'usager responsable
  • caisse_affiliation: STRING - optionnel: Caisse d'affiliation, valeurs possibles : aucune, caf ou msa
  • affiliation_number: STRING - optionnel: Numéro d'affiliation à la caisse
  • family_situation: STRING - optionnel: Situation familiale, valeurs possibles : single, in_a_relationship ou divorced
  • number_of_children: INT - optionnel: nombre d'enfants
  • notify_by_sms: BOOL - optionnel: Tenter d'envoyer des notifications par SMS
  • notify_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 : USER
    • user_profiles Profils de l'usager dans les organisations accessibles à l'agent faisant la requête
Si vous tentez de créer un usager avec un email déjà utilisé, l'ID de l'usager déjà existant vous sera retourné dans les champs d'erreurs
Cet endpoint ne déclenche pas l'envoi d'invitations. L'usager ne recevra pas de mail l'invitant à créer son mot de passe et accéder à son compte. Les agents pourront déclencher l'invitation plus tard depuis l'interface web

Exemple de requête

httpie
curl
1
http --json POST https://www.rdv-solidarites.fr/api/v1/users \
2
access-token:qx9HksCwRWvhQixJoXMlGA \
3
client:mfev-k8pv9n8s9VLExXXZQ \
5
organisation_ids:='[1,2]' \
6
first_name=Jean \
7
last_name=Jacques \
9
phone_number="06 60 60 60 60"
Copied!
1
curl --verbose --request 'POST' \
2
--header 'access-token: qx9HksCwRWvhQixJoXMlGA' \
3
--header 'client: mfev-k8pv9n8s9VLExXXZQ' \
4
--header 'uid: [email protected]' \
5
--header 'Content-Type: application/json' \
6
--data '{"organisation_ids": [1], "first_name": "Jean", "last_name": "Jacques"}' \
7
'http://localhost:5000/api/v1/users'
Copied!

Exemple de réponse

1
{
2
"user": {
3
"address": null,
4
"affiliation_number": null,
5
"birth_date": null,
6
"birth_name": null,
7
"caisse_affiliation": null,
8
"email": "[email protected]",
9
"family_situation": null,
10
"first_name": "Jean",
11
"id": 21,
12
"last_name": "JACQUES",
13
"notify_by_email": true,
14
"notify_by_sms": true,
15
"number_of_children": null,
16
"phone_number": "06 60 60 60 60",
17
"responsible": null,
18
"responsible_id": null,
19
"user_profiles": null
20
}
21
}
Copied!

Association à une Organisation

POST api/v1/user_profiles

Paramètres

  • organisation_id : INT - requis: Identifiant de l'organisation
  • user_id : INT - requis: Identifiant de l'usager
  • logement: STRING - optionnel : situation de logement, valeurs possibles : sdf, heberge, en_accession_propriete, proprietaire ou autre
  • 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_PROFILE
    • user : USER
    • organisation : ORGANISATION
Un usager et une organisation ne peuvent être liées que par un seul et unique Profil. Vous recevrez une erreur si vous tentez de créer un Profil liant un couple organisation-usager déjà existant

Exemple de requête

httpie
curl
1
http --json POST https://www.rdv-solidarites.fr/api/v1/user_profiles \
2
access-token:qx9HksCwRWvhQixJoXMlGA \
3
client:mfev-k8pv9n8s9VLExXXZQ \
5
organisation_id:=1 \
6
user_id:=21 \
7
notes="Usager pressé"
Copied!
1
curl --verbose --request 'POST' \
2
--header 'access-token: qx9HksCwRWvhQixJoXMlGA' \
3
--header 'client: mfev-k8pv9n8s9VLExXXZQ' \
4
--header 'uid: [email protected]' \
5
--header 'Content-Type: application/json' \
6
--data '{"organisation_id": 1, "user_id": 21}' \
7
'https://www.rdv-solidarites.fr/api/v1/user_profiles'
Copied!

Exemple de réponse

1
{
2
"user_profile": {
3
"logement": null,
4
"notes": "Usager pressé",
5
"organisation": {
6
"departement": "75",
7
"id": 1,
8
"name": "MDS Paris Nord"
9
},
10
"user": {
11
"address": null,
12
"affiliation_number": null,
13
"birth_date": null,
14
"birth_name": null,
15
"caisse_affiliation": null,
16
"email": "[email protected]",
17
"family_situation": null,
18
"first_name": "Jean",
19
"id": 21,
20
"last_name": "JACQUES",
21
"notify_by_email": true,
22
"notify_by_sms": true,
23
"number_of_children": null,
24
"phone_number": "06 60 60 60 60",
25
"responsible": null,
26
"responsible_id": null
27
}
28
}
29
}
Copied!
Dernière mise à jour 1mo ago