Authentification
L'usage de l'API est réservé aux agents authentifiés, dans la limite de leur rôle au sein de l'application.

Authentification

Tous les agents peuvent utiliser l'API. Les requêtes faites sur l'API sont authentifiées grace à des tokens d'accès associés à chaque agent. Chaque action faite via l'API est donc attribuable à un agent.
Pour récupérer le token d'accès d'un agent il faut faire une première requête POST à l'url https://www.rdv-solidarites.fr/api/v1/auth/sign_in en passant en paramètres JSON l'email et le mot de passe de l'agent. Par exemple :
httpie
1
http --json POST 'https://www.rdv-solidarites.fr/api/v1/auth/sign_in' \
2
email='[email protected]' password='123456'
Copied!
En cas de succès d'authentification, la réponse à cette requête contiendra dans le corps le détail de l'agent, et dans les headers les token d'accès à l'API. Par exemple :
HTTP
1
HTTP/1.1 200 OK
2
X-Frame-Options: SAMEORIGIN
3
X-XSS-Protection: 1; mode=block
4
X-Content-Type-Options: nosniff
5
X-Download-Options: noopen
6
X-Permitted-Cross-Domain-Policies: none
7
Referrer-Policy: strict-origin-when-cross-origin
8
Content-Type: application/json; charset=utf-8
9
access-token: SFYBngO55ImjD1HOcv-ivQ< token-type: Bearer
10
client: Z6EihQAY9NWsZByfZ47i_Q< expiry: 1605600758
12
ETag: W/"0fe52663d6745c922160384e13afe1e1"
13
Cache-Control: max-age=0, private, must-revalidate
14
X-Meta-Request-Version: 0.7.2
15
X-Request-Id: 291fab6a-043b-4b9c-b4b9-3c7fc9c9453a
16
X-Runtime: 0.194743< Transfer-Encoding: chunked
17
* Connection #0 to host rdv-solidarites.fr left intact
18
{
19
"data": {
20
"id":1,
21
"deleted_at":null,
22
"email":"[email protected]",
23
"provider":"email",
24
"service_id":1,
25
"role":"admin",
26
"last_name":"VALIDAY",
27
"first_name":"Martine",
28
29
"email_original":null,
30
"allow_password_change":false
31
}
32
}
33
* Closing connection 0
Copied!
Les 3 headers essentiels pour l'authentification sont les suivants :
HTTP
1
access-token: SFYBngO55ImjD1HOcv-ivQ
2
client: Z6EihQAY9NWsZByfZ47i_Q
Copied!
  • access-token : c'est le jeton d'accès qui vous a été attribué. Il a une durée de vie de 24h, après ça il vous faudra reproduire cette procédure pour en récupérer un nouveau.
  • client: un identifiant unique associé à l'appareil depuis lequel vous avez effectué la requête
  • uid: l'identifiant de l'agent dans l'API, égal à l'email de l'agent.
Ces 3 headers doivent être transmis avec chacune de vos requêtes successives à l'API, peu importe la méthode HTTP

Permissions

Les rôles et permissions des agents sont les mêmes via l'API que depuis l'interface web.
C'est à dire que les agents classiques ont accès à leur service uniquement, les agents du service secrétariat peuvent accéder aux agendas des agents des autres services, les agents admin ont accès à toute l'organisation, etc.
Par défaut, les requêtes en lecture n'appliquent aucun filtre et retourneront toutes les ressources auxquelles a accès l'agent connecté. Par exemple si un agent admin fait une requête pour accéder à la liste des absences sans filtre, l'API retournera toutes les absences de tous les agents appartenant aux organisations dont fait partie cet agent admin, ce qui peut faire beaucoup.
Dernière mise à jour 1mo ago
Exporter en PDF
Copier le lien