TEMPO ERP intérim : SDK Python pour fiabiliser et accélérer vos intégrations

Nous avons conçu un SDK Python pour le logiciel TEMPO ERP intérim édité par la société Enso Groupe (ex PLDiffusion). Cette couche ORM métier simplifie l’API TEMPO (entités, pagination, formats, erreurs), fiabilise les échanges et accélère la livraison d’outils internes et portails clients. Une base solide permettant d'ouvrir la voie à un véritable écosystème de solutions connectées autour de TEMPO.

80% de code d’intégration en moins grâce au SDK développé

<1h pour onboarder un nouveau développer à l’API ERP TEMPO

<1% de taux d’erreurs API avec le retry/pagination

L'entreprise

Enso Groupe édite le logiciel TEMPO ERP intérim pour la gestion des fiches intérimaires, contrats, paie, DPAE, facturation, marges etc. Ce logiciel fait partie de la suite Enso. L’intégration via son web service API est simplifiée grâce à notre SDK Python.

Challenges

Une API sans SDK bloque l’adoption par les développeurs et leur intégration. Les challenges rencontrés étaient :

  • Une API complexe : entités complexes, pagination, gestion des erreurs
  • Entités hétérogènes : Intérimaires, Contrats, Documents, Clients, Interlocuteurs, Marges, Relevés Heures etc
  • Maintenance coûteuse des scripts ad hoc

Objectifs

Autour de l’API TEMPO ERP intérim, l’objectif est clair :

  • Standardiser les intégrations avec TEMPO ERP intérim via un SDK Python
  • Gestion de l’authentification au web service pour garantir une sécurité optimale
  • Fiabiliser les échanges avec gestion automatisée des erreurs (retry/pagination)
  • Accélérer le time-to-integration pour les projets internes et partenaires
  • Ouvrir la voie à un écosystème de développeurs pour l’implémentation de solutions métiers tierces

Retour

« Le SDK a transformé l’API TEMPO en un outil simple et robuste. Moins de code, moins d’erreurs, plus vite en prod. Et surtout plus flexible. Permettant de collaborer plus facilement et de limiter la maintenance. »

— Développeur intégrateur de l’API ERP TEMPO

Stratégie mise en place

Architecture de la solution

Le SDK agit comme une couche intelligente qui simplifie l’API de TEMPO (web service) et permet de bâtir rapidement des applications métiers (portails, reporting, ATS) fiables et extensibles avec :

  • Requêtes robustes : authentification basique, construction d’URL, retries, pagination, normalisation des erreurs
  • ORM : création de modèles par entité avec des attributs typés permettant une conversion et validation optimal
  • Modèles métier : Interimaire, Contrat, Client, Document, Marges, Relevés Heures etc
  • Utilitaires : formats date propriétaires, découpe paramètres, calculs simples (durée, segmentation) prêts pour analytics

Fonctionnalités clés

Les fonctionnalités disponibles incluent :

  • ORM déclaratif des entités (Intérimaires, Contrats, Clients, Marges etc)
  • Pagination et limite d’URL résolues
  • Retry automatique lors d’erreurs serveur
  • Création/mise à jour unifiée des entités, validation métier

Exemples de code

Création des entités

L’import des entités rend la création d’un enregistrement dans TEMPO aussi simple qu’un appel à Model.create().
				
					from datetime import date
from pldtempo.models.interimaire import Interimaire
from pldtempo.models.client import Client
from pldtempo.models.contrat import Contrat

DOSSIER = "DOSSIER"

client = Client(dossier=DOSSIER, siret="12345678900011", raison_sociale="ACME", ...)
client.create()
print("Client créé : ", client)
# >>> Client créé : <Contrat Dossier='DOSSIER' IdContrat='Client123'>

interimaire = Interimaire(dossier=DOSSIER, nom="DUPONT", prenom="Jean", dob=date(1970, 1, 1), ...)
interimaire.create()
print("Intérimaire créé :", interimaire)
# >>> Intérimaire créé : <Interimaire Dossier='DOSSIER' IdInterimaire=123>

contrat = Contrat(dossier=DOSSIER, id_client=client.id, id_interimaire=interimaire.id, date_debut=date(2025, 9, 1), date_fin=date(2025, 9, 30), profession="Manutention", ...)
contrat.create()
print("Contrat créé", contrat)
# >>> Contrat créé : <Contrat Dossier='DOSSIER' IdContrat='Contrat123'>
				
			

Contrats actifs par dossier

Calculer le nombre de contrats en cours pour un dossier TEMPO à une date.

				
					from typing import List
from pldtempo.models.contrat import Contrat

date = "20250901" # Format YYYYMMDD
c: List[Contrat] = Contrat.now(dossier="DOSSIER", params={"DateEncours": date})
print(f"Nombre de contrats au {date}: {len(c)}")

				
			

Contrats d'un intérimaire

Accéder facilement à l’historique, aux missions en cours et aux contrats futurs d’un intérimaire.
				
					from pldtempo.models.interimaire import Interimaire
from pldtempo.models.contrat import Contrat

i = Interimaire.get(dossier="DOSSIER", params={"ID": 123})
# Récupère les contrats passés, en cours et futurs de l'intérimaire
past, now, future = Contrat.split(contrats=i.contrats())
print(f"Intérimaire {i.dossier}/{i.id} {i.nom} {i.prenom}")
print(f"Contrats: passés={len(past)} en cours={len(now)} futurs={len(future)}")
				
			

Batch processing

Récupération massive et fiable de l’ensemble des contrats pour un dossier en précisant les membres à récupérer. Il est également possible d’appliquer d’autres filtres dans les params (selon la spécification de l’API).

				
					from typing import List
from pldtempo.models.contrat import Contrat

dossier = "DOSSIER"
membres = ["IdContrat","DateDebut","DateFin","RaisonSociale"]
contrats: List[Contrat] = Contrat.all(
    dossier=dossier,
    params={"Membres": membres}
)
print(f"Nombre de contrats dans le dossier {dossier} : {len(contrats)}")
				
			

Résultats

Développé pour TEMPO ERP intérim, le SDK apporte :

  • 70–80 % de code en moins, réduisant drastiquement l’intégration
  • Un onboarding simplifié (<1h) pour tout nouveau développeur
  • Une fiabilité accrue, avec moins d’erreurs dans les échanges de données
  • Un ORM unifié, offrant une base solide pour connecter de nouveaux outils
  • Une maintenance allégée, limitant la dette technique et les coûts

Apprentissages

La mise en place de ce SDK autour de TEMPO ERP intérim démontre que :

  • Standardiser les intégrations via SDK accélère les résultats
  • Un SDK métier implémenté autour d’une API brute offre un avantage concurrentiel considérable
  • La maintenance est grandement réduite, permettant à une équipe de développeurs de collaborer plus facilement

Grâce au SDK, un ATS centralié a été déployé pour simplifier et transformer la gestion intérim multi-agences (étude de cas).

Un défi opérationnel à relever ?

On vous accompagne à trouver la bonne solution pour simplifier, automatiser et accélérer votre activité.
Pour garantir une navigation fluide et améliorer le site, nous utilisons des cookies techniques et des mesures d’audience anonymisées.

Mentions légales

Éditeur du site

Ce site est édité par MAGICAL POTION, entreprise immatriculée au RCS de Paris sous le numéro 913 907 242, dont le siège est situé à Paris, France.

Responsable de publication : MAGICAL POTION – hello@magicalpotion.io.

Hébergement

Le site est hébergé par IONOS SARL, 7 place de la Gare, BP 70109 57200 Sarreguemines Cedex – France.

Contact

Pour toute question, vous pouvez nous contacter à l’adresse suivante : hello@magicalpotion.io

Propriété intellectuelle

L’ensemble de ce site relève de la législation française et internationale sur le droit d’auteur et la propriété intellectuelle. Tous les droits de reproduction sont réservés, y compris pour les documents téléchargeables et les représentations iconographiques et photographiques.

Données personnelles

Des données de navigation peuvent être collectées à des fins statistiques via Google Analytics. Aucune donnée personnelle n’est vendue ni cédée à des tiers.