Aller au contenu

Organisation

Ces entités répondent à deux questions posées avant tout appel : sur quel périmètre porte-t-il, et au nom de qui.

groups

Groupe — le réseau exploité. C'est l'unité d'isolation de l'API : toutes les autres entités appartiennent à un groupe, et une donnée n'existe jamais en dehors du sien. Un exploitant qui gère plusieurs réseaux dispose d'un groupe par réseau.

Identifiant <group_id>, présent dans le chemin de la quasi-totalité des endpoints. Le groupe porte sa configuration — GTFS publiés, options d'exploitation, paramètres de diffusion voyageurs — dont dépendent les entités qu'il contient.

Le groupe se gère depuis les applications Pysae ; ses endpoints ne sont pas publiés dans le spec public, un intégrateur travaillant sur un groupe qui lui est communiqué.

L'annuaire Info exclut les groupes de démonstration (kind=demo). Leur accès public par identifiant et leur présence dans l'annuaire des écrans sont conservés.

Endpoint Rôle
GET /api/v4/groups Liste les groupes accessibles
GET /api/v4/groups/<group_id> Décrit un groupe et sa configuration

teams

Équipe — une subdivision du groupe, employée pour cloisonner l'exploitation : un dépôt, un secteur géographique, un sous-traitant. Les conducteurs et les véhicules y sont rattachés, et un utilisateur peut n'avoir accès qu'aux données de certaines équipes.

Identifiant <team_id>. Le rattachement est multiple : un conducteur comme un véhicule porte une liste d'équipes.

Endpoint Rôle
GET /api/v4/groups/<group_id>/teams Liste les équipes du groupe

users

Utilisateur — un compte humain accédant au groupe, typiquement un régulateur ou un responsable d'exploitation. À distinguer du conducteur, qui n'est pas un utilisateur : il s'identifie sur l'application Pysae Driver, pas sur l'interface d'exploitation.

Identifiant <user_id>. Un utilisateur peut appartenir à plusieurs groupes, avec un rôle propre à chacun.

Endpoint Rôle
GET /api/v4/groups/<group_id>/users/me Décrit l'utilisateur authentifié dans le groupe

roles

Rôle — le niveau d'accès d'un utilisateur sur un groupe donné. Il conditionne les endpoints appelables et les données visibles ; un rôle restreint à certaines équipes ne voit que leurs conducteurs et véhicules.

Le rôle n'a pas d'identifiant propre : il lie un utilisateur à un groupe, et se manipule donc par <user_id>.

Endpoint Rôle
GET /api/v4/groups/<group_id>/roles Liste les rôles attribués sur le groupe

api-keys

Clé d'API — un identifiant persistant et révocable, destiné aux intégrations automatisées. C'est le mécanisme recommandé pour appeler l'API depuis un système tiers, à la place d'une session ouverte avec un mot de passe.

Identifiant <api_key_id>. Une clé est rattachée à exactement un principal — un utilisateur, un appareil ou un rôle — et peut être restreinte par portée et par date d'expiration. Une clé peut couvrir plusieurs groupes.

Endpoint Rôle
GET /api/v4/groups/<group_id>/api-keys Liste les clés du groupe
POST /api/v4/groups/<group_id>/api-keys Crée une clé sur le groupe
DELETE /api/v4/groups/<group_id>/api-keys/<api_key_id> Révoque une clé

La création d'une clé et son emploi dans une requête sont détaillés sur la page Authentification.

map-sources

Source cartographique — une couche externe que les applications Pysae affichent sur leurs cartes : photographie aérienne de l'IGN ou d'Esri, plan ou données d'une collectivité, servis en XYZ, WMTS, WMS ou WFS. Les applications appellent directement le fournisseur ; l'API ne fait que décrire la source.

Identifiant <key>, un slug comme esri-world-imagery. Pysae déclare un catalogue dont chaque groupe hérite ; un groupe surcharge une source champ par champ, ou déclare ses propres sources. La lecture fusionnée donne à chaque source son origine, son statut — désactivée, clé manquante ou prête — et, quand elle est prête, la source MapLibre à ajouter à la carte et l'URL d'une tuile pour tester la clé depuis le navigateur. Les tags permettent à une application de relier ses boutons de couches aux sources, et app ne garde que les sources qu'une application peut proposer.

Endpoint Rôle
GET /api/v4/groups/<group_id>/map-sources Liste les sources fusionnées du groupe, pour une application avec app
GET /api/v4/groups/<group_id>/map-sources/<key> Décrit une source du groupe
PUT /api/v4/groups/<group_id>/map-sources/<key> Surcharge une source, déclare une source propre ou enregistre sa clé (admin du groupe)
DELETE /api/v4/groups/<group_id>/map-sources/<key> Revient à la source globale, ou supprime la source propre (admin du groupe)
PUT /api/v4/map-sources/<key> Déclare ou remplace une source du catalogue (super-utilisateur)