Close

Oauth API

À SAVOIR

Chaque fonction de l’API renvoi, dans leur réponse, les variables success (true/false), message, et éventuellement des données supplémentaires en fonction de la fonction appelée.

Les requêtes devront avoir dans leur header la valeur Authorization avec comme valeur le token JWT qui sera retourné lors d'une connexion réussie.

Pour chaque requête, en cas de succès ou d'erreur contrôlé le code HTTP 200 est retourné, sinon le code HTTP retourné sera de type 4XX ou 5XX

 

BASE URL : https://oauth.planitel.com

INTERNE APIKEY : itM8mSIx0KRxdRd

* Cette clé est à utiliser lors de requête sur l'api Oauth provenant d'autre API.

 

La durée du token JWT est de 1 heure.

 

LOGIN

Description : Permet une connexion sécurisée via JWT.

Méthode : POST

URL : /api/login

PLUS : Chaque élément de l'objet WORKSPACES fait référence à une entreprise à laquelle est l'utilisateur est lié, il pourra avoir un ou plusieurs rôles aux seins de chaque entreprise : Client, Astreinte ou Gestionnaire.

 

Data à envoyer

{
"username": "john.doe@abplus.fr",
"password": "monsuperpassword"
}

Data retournée

{
"token": "JWT TOKEN",
"data": {
 "id": idUser,
 "email": "emailUser",
 "workspaces": [
  {
   "id": Enterprise ID,
   "name": "Enterprise Name,
   "roles": {
    "client": TRUE || FALSE,
    "supervisor": [
     {
         "id": idSupervisor,
         "fullaccess": TRUE || FALSE,

         "appId": appId (Clé non présente si fullaccess = TRUE),
         "appType": "ex : planning" (Clé non présente si fullaccess = TRUE)
     } 
    ] || FALSE IF COUNT = 0,
    "oncall": [

     {
        "id": Oncall ID,
        "appId": App ID,
        "appType": "ex : planning",
        "name": "Oncall Name",
        "color": "Color on planning",
        "destinations": [
            {
             "star": true,
             "number": "0666712423",
             "ringTime": 30
            },
            {
             "star": false,
             "number": "0666712422",
             "ringTime": 20
            }
        ],
        "privileges": {
           "planningAccess": true,
           "updateAllPlanning": false,
           "updateOnlyOncallPeriod": true,
           "updateDest": true,
           "onOffPrivilege": true
        }
     },

    ] || FALSE IF COUNT = 0
   }
  }
 ]
}
}

 

ADMIN CREATE ENTERPRISE

Description : Permet de créer une entreprise.

Méthode : POST

URL :  /api/interface/admin/enterprise

 

Data à envoyer

{
"name": "ABPLUS",
"siret": "40822120800023",
"address": "183 AV ACHILLE PERETTI",
"cp": "92200",
"city": "NEUILLY-SUR-SEINE",
"country": "FRANCE"
}

Data retournée

{
"message": "success",
"success": true,
"enterprise": enterprise ID
}

 

ADMIN REGISTER BANK DETAILS

Description : Permet d'enregistrer les coordonnées bancaires d'une entreprise.

Méthode : POST

URL : /api/interface/admin/bankdetails

 

Data à envoyer

{

 "iban": "FR7645511515151",
"debitName": "Planitel service",
"invoiceEmail": "john.doe@gmail.com",
"debitDate": "2022-01-05 00:00:00",
"rumNumber": "rum number",
"enterprise": enterprise ID
}

Data retournée

{
"message": "success",
"success": true
}

 

ADMIN REGISTER CLIENT

Description : Permet de créer un client.

Méthode : POST

URL : /api/interface/admin/register/client

PLUS : Si l'utilisateur n'existe pas, un nouvel utilisateur est crée. Dans le cas contraire l'utilisateur existant est repris.

 

Data à envoyer 

{
"email": "john.doe@gmail.com",
"enterprise": enterprise ID
}

Data retournée

{
"message": "Client créer avec succès.",
"success": true,
"user": user ID,
"password": "temporary password" || “”
}

 

ADMIN REGISTER ADMIN

Description : Permet de créer un admin ABPLUS.

Méthode : POST

URL : /api/interface/admin/register/admin

PLUS : Si l'utilisateur n'existe pas, un nouvel utilisateur est crée. Dans le cas contraire l'utilisateur existant est repris. Cependant attention, il n'est pas possible d'avoir deux fois le même administrateur sur Planitel. 

Pour des raisons de sécurité, une vérification de l'adresse IP depuis laquelle l'administrateur se connecte est effectuée, si l'adresse IP n'est pas dans les adresses de confiance de l'administrateur, un email afin de l'ajouter lui est alors envoyé.

 

Data à envoyer 

{
"email": "john.doe@gmail.com"
}

Data retournée

{
"message": "Administrateur créer avec succès.",
"success": true,
"user": user ID,
"password": “temporary password”,

"email": {
 "message": "Email envoyé avec succès.",
 "success": true
}
}

 

ADMIN SEND CLIENT ACCESS

Description : Permet d'envoyer un email avec les accès de l'interface à un nouveau client.

Méthode : GET

URL : /api/interface/admin/client/sendaccess/{idClient}

 

Data retournée

{
"message": "Email envoyé avec succès.",
"success": true
}

 

ADMIN GET ADMIN

Description : Permet de récupérer la liste des ADMIN ABPLUS.

Méthode : GET

URL : /api/interface/admin/admin/get

 

Data retournée

[
{
 "idAdmin": admin ID,
 "idUser": user ID,
 "email": "john.doe@gmail.com",
 "archive": false,
 "createdAt": {
  "date": "2022-12-17 02:17:20.000000",
  "timezone_type": 3,
  "timezone": "UTC"
 }
}
]

 

ADMIN ARCHIVE ADMIN

Description : Permet d'archiver un ADMIN ABPLUS.

Méthode : PUT

URL : /api/interface/admin/admin/archive/{idAdmin}/{passwd}

 

Data retournée

{
"success": true,
"description": "L'administrateur a été archivé avec succès.",
"message": "success"
}

 

ADMIN UNARCHIVE ADMIN

Description : Permet de restaurer un ADMIN ABPLUS.

Méthode : PUT

URL : /api/interface/admin/admin/unarchive/{idAdmin}/{passwd}

 

Data retournée

{
"success": true,
"description": "L'administrateur a été désarchivé avec succès.",
"message": "success"
}

 

ADMIN DELETE ADMIN

Description : Permet de supprimer un ADMIN ABPLUS

Méthode : PUT

URL : /admin/admin/delete/{idAdmin}/{passwd}

 

Data retournée

{
"success": true,
"description": "L'administrateur a été supprimé avec succès.",
"message": "success"
}

 

ADMIN CHANGE ENTERPRISE CLIENT

Description : Permet de changer le client d'une entreprise.

Méthode : PUT

URL : /api/interface/admin/enterprise/client/change

PLUS : Si l'utilisateur n'existe pas, un nouvel utilisateur est crée. Dans le cas contraire l'utilisateur existant est repris. 

 

Data à envoyer

{
"email": "new client email",
"enterprise": enterprise ID
}

Data retournée

{
"success": true,
"description": "Le client a bien été modifié.",
"message": "success"
}

 

ADMIN DISABLED ENTERPRISE

Description : Permet de désactiver une entreprise.

Méthode : PUT

URL : /api/interface/admin/enterprise/disable/{enterpriseId}

 

Data retournée

{
"success": true,
"description": "L'entreprise a été désactivé avec succès.",
"message": "success"
}

 

ADMIN ACTIVE ENTERPRISE

Description : Permet de réactiver une entreprise.

Méthode : PUT

URL : /api/interface/admin/enterprise/active/{enterpriseId}

 

Data retournée

{
"success": true,
"description": "L'entreprise a été activée avec succès.",
"message": "success"
}

 

ADMIN GET ENTERPRISES LIST

Description : Permet de récupérer une liste d'entreprise par pagination.

Méthode : GET

URL : /api/interface/admin/enterprise/get/{page}/{count}

PLUS : Par défaut la méthode sans paramètre place le paramètre page à 1 et count à 5

 

Data retournée

{
"success": true,
"data": [
 {
  "id": 10,
  "name": "Enterprise 1",
  "createdAt": {
   "date": "2022-12-29 11:13:53.000000",
   "timezone_type": 3,
   "timezone": "Europe/Paris"
  },
  "country": "FRANCE",
  "state": true
 },
 {
  "id": 7,
  "name": "Enterprise 2",
  "createdAt": {
   "date": "2022-12-23 16:24:26.000000",
   "timezone_type": 3,
   "timezone": "Europe/Paris"
  },
  "country": "FRANCE",
  "state": true
 }
],
"total": 6,
"count": 2,
"page": 1
}

 

USER REGISTER SUPERVISOR

Description : Permet à un client de créer un gestionnaire.

Méthode : POST

URL : /api/interface/register/supervisor

PLUS : Si l'utilisateur n'existe pas, un nouvel utilisateur est crée et un email avec ses informations de connexion lui est envoyé. Dans le cas contraire l'utilisateur existant est repris. 

 

Data à envoyer 

{
"enterprise": enterprise ID,
"email": "john.doe@gmail.com",

“fullaccess”: true, (Clé non présente si les clés appId et appType sont présentes)
"appId": app ID, (Clé non présente si la clé fullaccess est présente)
"appType": "ex : planning" (Clé non présente si la clé fullaccess est présente)
}

Data retournée

{
"message": "Gestionnaire crée avec succès.",
"success": true,
"user": user ID,
"password": "temporary password" || “”,
"email": {
    "message":  "Email envoyé avec succès.",
    "success": true
  } || FALSE
}

 

USER REGISTER ONCALL

Description : Permet à un client ou à un gestionnaire de créer une astreinte.

Méthode : POST

URL : /api/interface/register/oncall

PLUS : Si l'utilisateur n'existe pas, un nouvel utilisateur est crée et un email avec ses informations de connexion lui est envoyé. Dans le cas contraire l'utilisateur existant est repris. 

 

Data à envoyer

{
"enterprise": enterprise ID,
"email": "john.doe@gmail.com",
"appId": app ID,
"appType": "ex : planning",
"name": "John",
"color": "couleur sur le planning",
"destinations": [
 {
 "number": "0666712423",
 "star": true,
 "ringTime": 30
 },
 {
 "number": "0666712422",
 "star": false,
 "ringTime": 20
 }
],
"privileges": {
 "planningAccess": true,
 "updateAllPlanning": false,
 "updateOnlyOncallPeriod": true,
 "updateDest": true,
 "onOffPrivilege": true
}
}

Data retournée

{
"message": "Astreinte créee avec succès.",
"success": true,
"user": user ID,
"password": "temporary password" || “”,
"email": {
    "message":  "Email envoyé avec succès.",
    "success": true
  } || FALSE
}

 

USER GET ENTERPRISE INFOS

Description : Permet à un client de récupérer les informations de son entreprise.

Méthode : GET

URL : /api/interface/enterprise/{enterpriseId}

 

Data retournée

{
"informations": {
 "name": "ENTERPRISE NAME",
 "siret": "40822120800023",
 "address": "85 rue des cyclamens",
 "cp": "39000",
 "city": "Lons-le-Saunier",
 "country": "FRANCE"
},
"bankdetails": {
 "3": {
  "id": 3,
  "iban": "FR7645511515151",
  "invoiceEmail": "john.doe@gmail.com",
  "rumNumber": "rumnumberrr",
  "debitName": "Planitel service",
  "debitDate": {
   "date": "2022-01-15 00:00:00.000000",
   "timezone_type": 3,
   "timezone": "Europe/Paris"
  }
 }
},
"contact": {
 "email": "john.doe@gmail.com"
}
}

 

USER GET ACTIVE ONCALL FOF AN APP

Description : Permet à un client ou à un gestionnaire de récupérer la liste des astreintes active pour une application.

Méthode : GET

URL : /api/interface/oncall/active/{appID}/{enterpriseID}

 

Data retournée

[
{
 "id": astreinte ID,
 "name": "astreinte name",
 "color": "#000001",
 "state": true,
 "destinations": [
  {
   "star": true,
   "number": "0666712425",
   "ringTime": 30
  },
  {
   "star": false,
   "number": "0666712422",
   "ringTime": 20
  }
 ],
 "privileges": {
  "planningAccess": true,
  "updateAllPlanning": true,
  "updateOnlyOncallPeriod": true,
  "updateDest": true,
  "onOffPrivilege": true
 }
},…

]

 

USER GET ARCHIVE ONCALL FOF AN APP

Description : Permet à un client ou à un gestionnaire de récupérer la liste des astreintes archivées pour une application.

Méthode : GET

URL : /api/interface/oncall/archive/{appID}/{enterpriseID}

 

Data retournée

[
{
 "id": astreinte ID,
 "name": "astreinte name",
 "color": "#000001",
 "state": true,
 "destinations": [
  {
   "star": true,
   "number": "0666712425",
   "ringTime": 30
  },
  {
   "star": false,
   "number": "0666712422",
   "ringTime": 20
  }
 ],
 "privileges": {
  "planningAccess": true,
  "updateAllPlanning": true,
  "updateOnlyOncallPeriod": true,
  "updateDest": true,
  "onOffPrivilege": true
 }
},…

]

 

USER GET ACTIVE SUPERVISOR FOR AN ENTERPRISE

Description :  Permet à un client de récupérer la liste des gestionnaires actives de son (ou de ses) entreprise(s)

Méthode : GET

URL : /api/interface/supervisor/active/{enterpriseID}

 

Data retournée

{
"john.doe@gmail.com": [
 {
  "id": 5,
  "email": "john.doe@gmail.com",
  "fullaccess": false,
  "appId": 2,
  "appType": "planning",
  "numberId": null
 },

 {
  "id": 5,
  "email": "john.doe@gmail.com",
  "fullaccess": false,
  "appId": 3,
  "appType": "planning",
  "numberId": null
 },…
]
}

 

USER GET ARCHIVE SUPERVISOR FOR AN ENTERPRISE

Description :  Permet à un client de récupérer la liste des gestionnaires archivés de son (ou de ses) entreprise(s)

Méthode : GET

URL : /api/interface/supervisor/archive/{enterpriseID}

 

Data retournée

{
"john.doe@gmail.com": [
 {
  "id": 5,
  "email": "john.doe@gmail.com",
  "fullaccess": false,
  "appId": 2,
  "appType": "planning",
  "numberId": null
 },

 {
  "id": 5,
  "email": "john.doe@gmail.com",
  "fullaccess": false,
  "appId": 3,
  "appType": "planning",
  "numberId": null
 },…
]
}

 

USER ARCHIVE ONCALL

Description : Permet à un client ou à un gestionnaire d'archiver une astreinte

Méthode : PUT

URL : /api/interface/oncall/archive/{oncallID}

 

Data retournée

{
"success": true,
"description": "L'astreinte a été archivé avec succès.",
"message": "success"
}

 

USER UNARCHIVE ONCALL

Description : Permet à un client ou à un gestionnaire de désarchiver une astreinte

Méthode : PUT

URL : /api/interface/oncall/unarchive/{oncallID}

 

Data retournée

{
"success": true,
"description": "L'astreinte a été désarchivée avec succès.",
"message": "success"
}

 

USER DELETE ONCALL

Description : Permet à un client ou à un gestionnaire de supprimer une astreinte

Méthode : PUT

URL : /api/interface/oncall/delete/{oncallID}

 

Data retournée

{
"success": true,
"description": "L'astreinte a été supprimée avec succès.",
"message": "success"
}

 

USER UPDATE ONCALL

Description : Permet à un client ou à un gestionnaire de modifier une astreinte

Méthode : PUT

URL : /api/interface/oncall/{oncallID}

 

Data à envoyer

{
"name": "astreinte name",
"color": "#000001",
"state": true,
"destinations": [
 {
  "star": true,
  "number": "0666712425",
  "ringTime": 30
 },
 {
  "star": false,
  "number": "0666712422",
  "ringTime": 20
 }
],
"privileges": {
 "planningAccess": true,
 "updateAllPlanning": true,
 "updateOnlyOncallPeriod": true,
 "updateDest": true,
 "onOffPrivilege": true
}
}

Data retournée

{
"success": true,
"description": "Les informations de l'astreinte ont été modifiées avec succès.",
"message": "success",
"email": {
    "message":  "Email envoyé avec succès.",
    "success": true
  } || FALSE
}

 

USER ARCHIVE SUPERVISOR

Description : Permet à un client d'archiver un gestionnaire

Méthode : PUT

URL : /api/interface/supervisor/archive/{supervisorID}

 

Data retournée

{
"success": true,
"description": "Le gestionnaire a été archivé avec succès.",
"message": "success"
}

 

USER UNARCHIVE SUPERVISOR

Description : Permet à un client de désarchiver un gestionnaire

Méthode : PUT

URL : /api/interface/supervisor/unarchive/{supervisorID}

 

Data retournée

{
"success": true,
"description": "Le gestionnaire a été désarchivé avec succès.",
"message": "success"
}

 

USER DELETE SUPERVISOR

Description : Permet à un client de supprimer un gestionnaire

Méthode : PUT

URL : /api/interface/supervisor/delete/{supervisorID}

 

Data retournée

{
"success": true,
"description": "Le gestionnaire a été supprimé avec succès.",
"message": "success"
}

 

USER UPDATE SUPERVISOR

Description : Permet à un client de modifier un gestionnaire

Méthode : PUT

URL : /api/interface/supervisor/{supervisorID}

 

Data à envoyer

{
“fullaccess”: true, (Clé non présente si les clés appId et appType sont présentes)
"appId": app ID, (Clé non présente si la clé fullaccess est présente)
"appType": "ex : planning" (Clé non présente si la clé fullaccess est présente)
}

Data retournée

{
"success": true,
"description": "Les informations du gestionnaire ont été modifiées avec succès.",
"message": "success"
}

 

USER UPDATE BANK DETAILS

Description : Permet à un client de modifier ses coordonnées bancaires

Méthode : PUT

URL : /api/interface/enterprise/bankdetails/{enterpriseID}/{bankDetailID}

 

Data à envoyer

{
"iban": "FR7645511515151",
"invoiceEmail": "john.doe@gmail.com",
"rumNumber": "rum number",
"debitName": "Planitel service",
"debitDate": "2022-01-15 00:00:00"
}

Data retournée

{
"success": true,
"description": "Les coordonnées bancaires de l'entreprise ont été modifiées avec succès.",
"message": "success"
}

 

USER UPDATE ENTERPRISE INFOS

Description : Permet à un client de modifier les informations de son entreprise.

Méthode : PUT

URL : /api/interface/enterprise/{enterpriseID}

 

Data à envoyer

{
"siret": "40822120800023",
"address": "85 rue des cyclamens",
"cp": "39000",
"city": "Lons-le-Saunier",
"country": "FRANCE"
}

Data retournée

{
"success": true,
"description": "Les informations de l'entreprise ont été modifiées avec succès.",
"message": "success"
}

 

NO ROLES FORGOT PASSWORD

Description : Permet d'envoyer un email avec un lien de réinitialisation de mot de passe à un utilisateur (et si l'email existe)

Méthode : POST

URL : /api/interface/user/forgotpassword

 

Data à envoyer

{
"email": "john.doe@gmail.com"
}

Data retournée

{
"message": "Un email de réinitialisation vient de vous être envoyé.",
"success": true
}

 

NO ROLES IF RESET TOKEN PASSWORD EXIST

Description : Permet de savoir si un token de réinitialisation de mot de passe existe ou non

Méthode : GET

URL : /api/interface/user/password/token/{token}

 

Data retournée

true || false

 

NO ROLES RESET PASSWORD

Description : Permet à un utilisateur de modifier son mot de passe

Méthode : PUT

URL : api/interface/user/password/update

 

Data à envoyer

{
"token": "tokenResetPassword",
"passwd": "monsupernouveaupassword"
}

Data retournée

{
"message": "Le mot de passe a bien été modifié.",
"success": true
}

 

NO ROLES ADDING TRUSTED IP

Description : Permet d'ajouter une adresse IP à la liste des IP de confiance d'un administrateur

Méthode : GET

URL : api/interface/admin/trustedIp/{token}/{ip}

 

Data retournée

{
"message": "success",
"success": true
}