🔍 Accéder à votre documentation Swagger
Pour accéder à la documentation Swagger de votre compte :
Remplacez api dans l’URL générique par votre identifiant d’entreprise :
Exemple :
Cette page vous permet de :
Visualiser la documentation de l’API REST
Tester vos requêtes directement dans votre environnement
Explorer toutes les routes disponibles
Cas d’usage : Intégration avec un système ERP
Lors d’une intégration avec un ERP (ex. SAP Business One), l’objectif principal est souvent de transférer une facture ProgressionLIVE vers l’ERP afin de :
mettre à jour l’inventaire
finaliser la facturation
synchroniser les données des tâches
Dans ce scénario :
Les données maîtres sont gérées par l’ERP.
L’intégration doit synchroniser trois entités clés :
Client
Emplacement
Produit
Une fois ces entités synchronisées, vous pourrez transférer la facture vers l’ERP qui retournera ensuite une confirmation à ProgressionLIVE.
Bonnes pratiques (génériques)
🔄 1. Utilisez les webhooks
Évitez la scrutation (polling).
Les webhooks garantissent que votre système reçoit les données dès qu’elles changent.
🔍 2. Si vous devez scruter, utilisez des filtres
Cela limite la taille de la réponse et améliore les performances.
🆔 3. Stockez l’ID externe dans Progression
Utilisez le champ externalId pour enregistrer la référence externe de votre ERP.
Attention : ⚠️ Une seule valeur externalId est disponible par entité dans ProgressionLIVE.
🔁 4. Stockez aussi l’ID Progression dans votre système externe
Cela permet :
d’éviter la création en double
de réduire le nombre d’appels API
d’identifier facilement les entités déjà synchronisées
🔒 5. N’envoyez jamais un champ vide
Envoyer une valeur Null supprime la donnée dans la base de ProgressionLIVE.
S’authentifier à l’API
⚠️ Important
L’accès à l’API requiert un abonnement payant.
Pour l’activer :
📞 1-866-670-0516
Où trouver votre clé API ?
Actuellement, la clé API n’est pas accessible aux utilisateurs.
Demandez-la à un employé Progression via :
📞 1-866-670-0516
Exemples d’authentification
🔐 Connexion par Query (apiKey)
curl -X POST "https://VOTRECOMPAGNIE/server/rest/task/create?apiKey=VotreCleAPI" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ -d "{\"type\":{\"label\":\"Appel de service\"},\"summary\":\"Sommaire de la tâche\"}"
🔐 Connexion par Bearer Token
curl -X POST "https://VOTRECOMPAGNIE/server/rest/task/create" \ -H "accept: application/json" \ -H "Authorization: Bearer VotreCleAPI" \ -H "Content-Type: application/json" \ -d "{\"type\":{\"label\":\"Appel de service\"},\"summary\":\"Sommaire de la tâche\"}"
Synchronisation des entités
1. Synchronisation des clients
Vérifiez si le client existe :
GET /client
Cherchez par nom ou externalId.
S’il n’existe pas :
POST /client/create
S’il existe :
POST /client/identifier/update
Important :
Définissez externalId pour stocker l’ID ERP du client.
Stockez l’ID Progression dans votre ERP pour éviter les appels inutiles.
2. Synchronisation des emplacements
Vérifiez l’existence :
GET /location/
Créez si nécessaire :
POST /location/create
Mettez à jour si existant :
POST /client/identifier/update
Astuce : Utilisez des webhooks pour remonter les modifications d’emplacements vers l’ERP.
3. Synchronisation des produits
Vérifiez l’existence :
GET /product/list
Créez si nécessaire :
POST /product/create
Mettez à jour si existant :
POST /product/identifier/update
Webhooks recommandés si un produit est mis à jour.
4. Synchronisation des tâches
Créer une tâche :
POST /task/create
Envoyer la rétroaction à votre système via un changement d’état :
POST /task/identifier/state
Configurez un état pour le succès et un autre pour l’échec.
Webhooks les plus utilisés
🔔 Tâche progresse à l’état 700
{ "url": "monURL", "name": "Tâche progresse à 700", "entityName": "TaskState", "eventType": "CREATE", "targetUrl": "monURL", "enabled": true, "expand": "", "filters": [ { "property": "currentState.logicId", "type": "NumberEquals", "value": "700" }, { "property": "type.id", "type": "TextExactlyMatches", "value": "2" } ], "headers": {} }
🔔 Produit mis à jour
{ "url": "monURL", "name": "Produit mis à jour", "entityName": "Product", "eventType": "UPDATE", "targetUrl": "monURL", "enabled": true, "expand": "", "filters": [], "headers": {} }
🔔 Client mis à jour
{ "url": "monURL", "name": "Client mis à jour", "entityName": "Client", "eventType": "UPDATE", "targetUrl": "monURL", "enabled": true, "expand": "", "filters": [], "headers": {} }
🔔 Emplacement mis à jour
{ "url": "monURL", "name": "Emplacement mis à jour", "entityName": "Location", "eventType": "UPDATE", "targetUrl": "monURL", "enabled": true, "expand": "", "filters": [], "headers": {} }
Foire aux questions (FAQ)
Puis-je tester mes requêtes directement dans Swagger ?
Oui. En remplaçant le domaine api par celui de votre compte, la documentation devient interactive.
Ai-je besoin d’une licence ou permission spéciale pour l’API ?
Oui. L’API requiert un abonnement payant au forfait Premium.
Dois-je stocker les IDs dans les deux systèmes ?
Oui.
externalId dans ProgressionLIVE
ID Progression dans votre ERP
Les webhooks sont-ils obligatoires ?
Non, mais très fortement recommandés pour une intégration fiable.
