Documentation API TimeWellScheduled 

1. Introduction

L’API TimeWellScheduled permet aux développeurs d’intégrer de façon sécurisée les fonctionnalités de gestion des horaires, de suivi du temps, de paie et de ressources humaines à leurs applications. Toutes les requêtes sont effectuées via HTTPS et retournent des données structurées aux formats JSON ou XML.

2. Pour commencer

Avant de commencer, vous aurez besoin d’une clé API et de votre identifiant d’entreprise (Company ID).
Suivez le guide de configuration de la clé API pour générer votre clé API.

URL de l’API :

 

3. Authentification et sécurité

  • ID de l’application [appid] – fourni par notre équipe. Consultez le guide de configuration de la clé API.
  • ID de l’entreprise [c] – l’identifiant unique de votre entreprise. Vous pouvez le trouver ici.
  • Module [module] – le module appelé par la requête.
  • Chiffrement : tous les mots de passe sont stockés à l’aide de bCrypt.

Vous devrez hacher les identifiants des employés à l’aide du sel (salt) propre à votre entreprise fourni lors de l’authentification. Pour en savoir plus sur bCrypt, consultez cet article.

4. Format des requêtes

Toutes les requêtes utilisent la méthode GET, avec les paramètres transmis dans la chaîne de requête (query string).

Exemple :

GET /?appid={AppID}&c={CompanyID}&module=verify

Paramètres requis :

appid – Votre ID d’application
c – ID de l’entreprise
module – Module API à appeler

 

5. Format des réponses

Les réponses retournent des données structurées au format JSON ou XML (certaines requêtes retournent du JSON, d’autres du XML).

Exemple de réponse JSON :

 

{
"success": 1,
"ontime": 1,
"message": "Votre action a été enregistrée avec succès"
}

6. Modules

verify

Permet de récupérer les informations de votre entreprise.

Paramètres Notes Retourne
  • Aucun
  • La liste des employés affiche uniquement les employés autorisés à avoir des quarts de travail et à effectuer des poinçons (entrée, sortie, pause et repas).
  • Nom de l’entreprise
  • URL du logo (fournie à l’avance)
  • Liste des employés (données telles que le nom, le code d’employé, etc.)
  • Valeur de hachage du sel (Salt Hash) bCrypt nécessaire à la création des mots de passe

Exemple de requête:

/?appid={App ID}&c={Company ID}&module=verify

Exemple de réponse:

<?xml version=”1.0”?>
<response>
<success>1</success>
<ontime>1</ontime>
<message>
	<employees>
		<employee>
		<name>Bob Robertson</name>
		<id>12345</id>
		</employee>
		<employee>
		<name>Jane Johnson</name>
		<id>abc123</id>
		</employee>
		<employee>
		<name>Bill Smith</name>
		<id>995jk</id>
		</employee>
	</employees>
	<branding logo="https://url_to_logo/MainLogo.png">Your Company Here</branding>
	<bcryptSalt>yourKey</bcryptSalt>
</message>
</response>


begin

Enregistre le début du quart de travail d’un employé.

URL du point de terminaison :

<URL API>/response.asp

Paramètres supplémentaires :

U – code de poinçon
P – mot de passe de l’employé (en bCrypt)
Year – année où l’action a lieu
Month – mois où l’action a lieu
Day – jour où l’action a lieu
Hour – heure où l’action a lieu
Minute – minute où l’action a lieu
Second – seconde où l’action a lieu

Exemple de requête :

GET /?appid={AppID}&c={CompanyID}&module=begin&u={punchCode}&p={bCryptPassword}&Year=2025&Month=9&Day=22&Hour=16&Minute=0&Second=34

Exemple de réponse :

<?xml version=”1.0”?>
 <response>
 	<success>1</success>
 	<ontime>1</ontime>
 	<message>Votre action a été enregistrée avec succès. Vous avez 12 message(s) non lu(s) dans votre boîte de réception.</message>
 </response>

end

Enregistre la fin du quart de travail d’un employé.

URL du point de terminaison :

<URL API>/response.asp

Paramètres supplémentaires :

U – code de poinçon
P – mot de passe de l’employé (en bCrypt)
Year – année où l’action a lieu
Month – mois où l’action a lieu
Day – jour où l’action a lieu
Hour – heure où l’action a lieu
Minute – minute où l’action a lieu
Second – seconde où l’action a lieu

Exemple de requête :

GET /?appid={AppID}&c={CompanyID}&module=end&u={punchCode}&p={bCryptPassword}&Year=2025&Month=9&Day=22&Hour=19&Minute=05&Second=25

Exemple de réponse :

<?xml version=”1.0”?>
 <response>
 	<success>0</success>
 	<ontime>0</ontime>
 	<message>Il est trop tôt pour effectuer votre SORTIE</message>
 	<watchdog>
 		<message>Sélectionnez une raison.</message>
 		<reasons>
 			<reason ID="2233">Accident de route</reason>
 			<reason ID="153">Problème de voiture</reason>
 			<reason ID="157">Problème informatique</reason>
 			<reason ID="1482">Code de raison par défaut</reason>
 			<reason ID="159">Départ anticipé</reason>
 			<reason ID="154">Ne se sent pas bien</reason>
 			<reason ID="156">Autre (veuillez préciser)</reason>
 			<reason ID="1983">Urgence personnelle</reason>
 			<reason ID="2231">Rendez-vous chez le médecin</reason>
 			<reason ID="158">Circulation</reason>
 		</reasons>
 	</watchdog>
 </response>

Comme la requête n’a pas été effectuée avec succès et qu’un événement Watchdog a été déclenché, vous devez soumettre la même requête à nouveau en ajoutant le paramètre supplémentaire reason avec l’ID de la raison sélectionnée.

Exemple de requête :

GET /?appid={AppID}&c={CompanyID}&module=end&u={punchCode}&p={bCryptPassword}&Year=2025&Month=9&Day=22&Hour=19&Minute=05&Second=25&reason={reason ID}

Exemple de réponse :

<?xml version=”1.0”?>
 <response>
 	<success>1</success>
 	<ontime>1</ontime>
 	<message>Votre action a été enregistrée avec succès.</message>
 </response>

break

Enregistre le début ou la fin d’une pause.

URL du point de terminaison :

<URL API>/response.asp

Paramètres supplémentaires :

U – code de poinçon
P – mot de passe de l’employé (en bCrypt)
Year – année où l’action a lieu
Month – mois où l’action a lieu
Day – jour où l’action a lieu
Hour – heure où l’action a lieu
Minute – minute où l’action a lieu
Second – seconde où l’action a lieu

Exemple de requête :

GET /?appid={AppID}&c={CompanyID}&module=break&u={punchCode}&p={bCryptPassword}&Year=2025&Month=9&Day=22&Hour=18&Minute=15&Second=09

Exemple de réponse :

<?xml version=”1.0”?>
 <response>
 	<success>1</success>
 	<ontime>1</ontime>
 	<message>Votre action a été enregistrée avec succès.</message>
 </response>

meal

Enregistre le début ou la fin d’une période de repas.

URL du point de terminaison :

<URL API>/response.asp

Paramètres supplémentaires :

U – code de poinçon
P – mot de passe de l’employé (en bCrypt)
Year – année où l’action a lieu
Month – mois où l’action a lieu
Day – jour où l’action a lieu
Hour – heure où l’action a lieu
Minute – minute où l’action a lieu
Second – seconde où l’action a lieu

Exemple de requête :

GET /?appid={AppID}&c={CompanyID}&module=meal&u={punchCode}&p={bCryptPassword}&Year=2025&Month=9&Day=22&Hour=17&Minute=08&Second=25

Exemple de réponse :

<?xml version=”1.0”?>
 <response>
 	<success>0</success>
 	<ontime>0</ontime>
 	<message>Cette action ne peut pas être effectuée. Votre horaire ne permet aucune période de repas.</message>
 </response>

 

schedule_list

Récupère les horaires d’un employé pour une période donnée.

URL du point de terminaison :

<URL API>/response_json.asp

Paramètres supplémentaires :

StartDate – date de début de la période
EndDate – date de fin de la période

Exemple de requête :

POST /?appid={AppID}&c={CompanyID}&module=schedule_list&u={punchCode}&StartDate=2025-09-01&EndDate=2025-09-02

Exemple de réponse :

{
"success": 1,
"schedules": [
{"date": "2025-09-01", "time": "9:00-17:00", "dept": "Bureau"},
{"date": "2025-09-02", "time": "9:00-17:00", "dept": "Bureau"}
]
}

 

employee_list

Récupère la liste de tous les employés actifs.

URL du point de terminaison :

<URL API>/response_json.asp

Exemple de requête :

POST /?appid={AppID}&c={CompanyID}&module=employee_list

Exemple de réponse :

{
"success": 1,
"employees": [
{"id": "001", "name": "Alice Johnson"},{"id": "002", "name": "Mark Smith"}
]
}

 

 

absence_list

Récupère les absences des employés pour une période donnée.

URL du point de terminaison :

<URL API>/response_json.asp

Paramètres supplémentaires :

StartDate – date de début de la période
EndDate – date de fin de la période

Exemple de requête :

POST /?appid={AppID}&c={CompanyID}&module=absence_list&StartDate=2025-09-01&EndDate=2025-09-30

Exemple de réponse :

{
"success": 1,
"absences": [
{"employee": "John Doe", "from": "2025-09-10", "to": "2025-09-12", "type": "Vacances"}
]
}

 

payroll_list

Récupère les données de paie pour une période donnée.

URL du point de terminaison :

<URL API>/response_json.asp

Paramètres supplémentaires :

StartDate – date de début de la période
EndDate – date de fin de la période

Exemple de requête :

POST /?appid={AppID}&c={CompanyID}&module=payroll_list&StartDate=2025-09-01&EndDate=2025-09-15

Exemple de réponse :

{
"success": 1,
"payroll": [
{"employee": "Anne Robinson", "totalRT": 40, "totalOT": 5},
{"employee": "Sam Smith", "totalRT": 38, "totalOT": 0}
]
}

 

qui_travail

Récupère la liste de tous les employés à l’horaire aujourd’hui.

URL du point de terminaison :

<URL API>/response_json.asp

Paramètres supplémentaires :

Date – date pour laquelle consulter les horaires

Exemple de requête :

POST /?appid={AppID}&c={CompanyID}&module=who_is_working&Date=2025-09-25

Exemple de réponse :

{
    "schedules": [
        {
            "employeeName": "Chester Field",
            "departmentName": "Assemblage de widgets",
            "departmentCode": "WA",
            "shiftStartDate": "28 octobre 2025",
            "shiftStartTime": "7:00",
            "shiftEndDate": "28 octobre 2025",
            "shiftEndTime": "16:30",
            "status": "En service"
        }
    ],
    "displayDate": "28 octobre 2025"
}

 

7. Paramètres optionnels

file – Joindre une photo aux actions de poinçon
lat/lng – Transmettre les coordonnées de géolocalisation
ip – Restreindre les actions aux adresses IP enregistrées
reason – Fournir les raisons « Watchdog » lorsque requis

8. Authentification unique (SSO)

TimeWellScheduled prend en charge l’authentification unique (SSO), permettant aux utilisateurs d’ouvrir une session directement à l’aide d’une URL sécurisée. Les paramètres requis sont :

appid, c, userEmail, timestamp et hash.

Communiquez avec le soutien technique pour confirmer l’URL de votre centre de données.

9. Gestion des erreurs

Les réponses de l’API incluent un indicateur de succès ainsi que des messages descriptifs.

success = 1 → Requête effectuée avec succès

success = 0 → Erreur (consultez le message ou la réponse Watchdog pour obtenir plus de détails)

10. Soutien

Si vous rencontrez des problèmes :

Courriel : support@wordpress-1368217-6485904.cloudwaysapps.com
Téléphone : 1-877-689-7977