Documentation de l'API SENAR

Cette documentation fournit des informations techniques à destination des développeurs travaillant avec les données de Senar. Elle comprend des instructions pour :

  • Authentifier l’accès à l’API

  • Ajouter des utilisateurs et leur attribuer des collections

  • Accéder aux données utilisateurs et d’activité

  • Enregistrer des webhooks pour recevoir des notifications en temps réel.

Chaque section inclut des exemples de endpoints et de réponses JSON, pour vous aider à bien démarrer.


1. Authentification

Méthode : POST

Vous devez être authentifié pour accéder aux données Senar. Pour obtenir un login et un mot de passe, veuillez contacter le support.

Endpoint

https://studio.senar.io/api/auth/login

Requête

{
    "username": "[email protected]",
    "password": "*********"
}

Réponse

{
    "Token": "eedx..."
}

Le token obtenu sera utilisé dans les requêtes pour vous authentifier. Ajoutez-le à l'en-tête Authorization en utilisant le schéma Bearer.

Exemple

Authorization: Bearer <eedx...>


2. Ajouter un utilisateur et lui attribuer une collection

Méthode : POST

Utilisez ce endpoint pour ajouter un nouvel utilisateur et lui assigner une collection spécifique.

Endpoint

https://studio.senar.io/integration/data/user_assign

Requête

{
  "email": "[email protected]",
  "firstName": "New",
  "lastName": "User",
  "password": "Password8",
  "organization": "NewOrg Inc.",
  "collectionId": 42
}

Réponse

{
  "succeed": true,
  "email": "[email protected]",
  "collectionId": 42,
  "isNewUser": true
}

Remarques :

  • Ce endpoint nécessite une authentification (voir section 1).

  • CollectionId doit faire référence à une collection valide, dont l’utilisateur authentifié doit être propriétaire.

  • Pour trouver l’ID d’une collection, ouvrez-la dans Senar Studio et copiez le nombre à la fin de l’URL. Exemple : https://studio.senar.io/Collections/Edit/42 42

  • Pour assigner plusieurs collections, répétez la requête en changeant le champ collectionId.

  • Le champ password doit respecter les critères de sécurité imposés par Senar : minimum 6 caractères, composé de lettres et d'au moins un chiffre.

  • L’API ne permet pas de modifier ou supprimer les informations d’un utilisateur ; pour cela, utilisez Senar Studio.


3. Récupérer les utilisateurs

Méthode : GET

Les utilisateurs s'inscrivent via un formulaire disponible dans l'application Senar. Cet endpoint retourne tous les utilisateurs associés au compte authentifié.

Endpoint

https://studio.senar.io/integration/data/users

Réponse

[{
    "id": "765fc7cf-312b-469d-8508-0e943a6447c7",
    "firstName": "Jon",
    "lastName": "Doe",
    "email": "[email protected]",
    "language": "en",
    "accountName": "ACME",
    "countryName": "USA",
    "creationDate": "2022-09-07T06:25:23.9014976",
    "profile": "Instructor"
}]

4. Récupérer les données d’activité

Méthode : GET

Une activité représente les données collectées lorsqu'un utilisateur termine un scénario.

Endpoint

https://studio.senar.io/integration/data/activities

Réponse

[{
    "id": 80119,
    "collectionId": 41,
    "userId": "b68bfbd8-8f26-427b-a3c9-2d4cec36648b",
    "traineeId": "b5e3bbbc-0c22-417a-8087-6554afe26400",
    "firstName": "Natalia",
    "lastName": "Brown",
    "company": "Daria",
    "trainingDate": "2021-03-09T17:37:11.186836",
    "scenarioId": "S01",
    "scenarioName": "Scenario 1",
    "totalPoints": 2900,
    "totalSec": 622,
    "totalTries": 1,
    "simulatorId": 18,
    "tilts": 0,
    "totalMaxPoints": 3400,
    "abandons": 1,
    "collectionTitle": "Rigging",
    "simulatorTitle": "Lifting Hardware and Sling Inspection",
    "userFirstName": "Jon",
    "userLastName": "Doe",
    "userEmail": "[email protected]",
    "userCostCenter": "East",
    "userAccountName": "ACME",
    "traineeEmail": "[email protected]",
    "traineeProfile": "Guest"
}]


5. Enregistrer un webhook

Méthode : POST

Utilisez les webhooks pour recevoir des notifications en temps réel lorsqu’un nouvel utilisateur ou une nouvelle activité est enregistré(e).

La réponse renvoie un identifiant que vous pouvez plus tard utiliser pour vous désabonner si besoin.

Endpoint

https://studio.senar.io/integration/data/webhook_register

Requête

{
  "hookUrl": "",
  "method": "activity",  // or "user"
  "provider": "zapier"
}

Réponse

{
    "id": "<webhook_id>"
}

Last updated