BdC et modifications de BdC Intégration dans votre ERP
Instructions étape par étape pour intégrer vos bons de commande Coupa et vos modifications de bons de commande à votre ERP.
Introduction
Vous pouvez également télécharger ce document en tant que document Microsoft Word : Bons de commande Coupa à ERP.docx
Considérations générales sur la configuration de l'API
- Commencez avec l'API Coupa
- Sécurité de la clé API (sera éventuellement obsolète)
- Accès à l'API Open Connect (à partir de R29)
- JSON/XML
- GraphQL (à partir de R30)
Charge utile limitée - champs et filtres API
L'API de Coupa renvoie beaucoup de données par défaut (par exemple : objets complets pour les objets associés). Les charges utiles de retour de l'API peuvent être très grandes et donc lentes. Cela peut être un problème pour les clients qui n'ont pas besoin des données superflues, sans parler de la consommation inutile de ressources.
Pour faciliter les choses, Coupa a le concept du paramètre « champs » et des filtres API qui renvoient une réponse JSON ou XML limitée au lieu de l'ensemble du schéma et de toutes les associations pour un objet.
- Filtres de réponse API
- API : Utilisation du nouveau paramètre de requête API « fields », Alternative à « return object »
Cas d'utilisation décrits dans cet article
L'hypothèse dans ce document est que le numéro de bon de commande dans l'ERP est déterminé par le numéro de bon de commande Coupa. Cet article décrit les 3 options différentes pour intégrer les bons de commande Coupa dans votre ERP(pour la création et les mises à jour).
Ces options changeront la façon dont vous pouvez surveiller vos intégrations à partir de Coupa :
- Option 1 : Surveillance simple basée sur le (s) champ(s) personnalisé (s) que vous définissez sur l'en-tête de la commande
- Option 2 : Surveillance avancée à l'aide des enregistrements de l'historique d'intégration
- Option 3 : Tirer parti de la surveillance complète de l'intégration Coupa
Pour les 3 options, les bons de commande Coupa sont poussés vers l'ERP en fonction de l'indicateur d'exportation.
En cas d'erreur, dans l'intégration d'un bon de commande, un changement manuel sera nécessaire sur le bon de commande dans l'interface utilisateur Coupa : ce changement réinitialisera l'indicateur d'exportation, et le bon de commande sera donc pris en compte lors de la prochaine exécution
Coupa suggère que vous contactiez le support Coupa pour qu'il active cette option : Réinitialiser la date de dernière exportation du BdC pour chaque modification. Ce paramètre s'applique uniquement à l'interface utilisateur. Les modifications apportées avec l'API ne modifient pas le statut Exporté.
Créer une intégration et un contact dédiés pour l'API
Pour les options 2 et 3, vous devrez créer :
- Une intégration dédiée pour chaque orchestration d'API que vous implémentez
- Un ou plusieurs contact(s) d'intégration pour chaque intégration, qui sera (seront) alerté (s) en cas d'échec de l'intégration
Coupa suggère que vous contactiez le support Coupa pour qu'il active cette option : Activer le lien vers l'historique d'intégration selon le type de document. Ce paramètre ajoute un lien dans la page de configuration pour afficher l'historique complet de l'intégration par type de document
Option 1 : Surveillance simple basée sur le (s) champ(s) personnalisé (s)
Description
Dans ce scénario, pour chaque bon de commande, nous ajouterons le statut d'intégration actuel dans un ou plusieurs champs personnalisés d'en-tête de bon de commande. Nous avons ajouté un champ personnalisé
cf-integration-status avec le nom Integration Status
. Utilisez le tableau de données du bon de commande standard pour suivre l'état d'intégration de vos documents à l'adresse suivante : https :/<your instance hostname>//order_headers
.
Diagramme d'orchestration
Étapes /détails des appels API
Étape 1 |
Obtenez la liste et les détails des bons de commande Coupa à créer/mettre à jour dans l'ERP. |
---|---|
Méthode |
OBTENIR |
API |
|
Query Params |
|
Exemple d'URL |
https ://<your instance hostname>/api/purchase_orders ?filter=<your API filter name>&offset=10&exported=false&show_deleted_lines=true&status[in]=émis,annulé,fermé |
Échantillon de corps de la requête |
S/O |
Réponse Échantillon corporel |
* = show_deleted_lines=true est pour les changements de commande
Étape 2 |
Marquer le bon de commande individuel comme exporté |
---|---|
Méthode |
METTRE |
API |
|
Query Params |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O * |
Échantillon du corps de |
|
* Pour cet appel, vous n'avez pas besoin d'une charge utile si vous incluez « ?export=true » dans l'URL. C'est là que se produit la création/mise à jour du bon de commande dans l'ERP.
Étape 3 |
Mettre à jour un champ personnalisé pour le rapport |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
|
Exemple d'URL |
|
Query Body sample |
ou
|
Échantillon du corps de |
ou
|
Option 2 : Surveillance avancée à l'aide de l'historique d'intégration
Description
Dans ce scénario, pour chaque bon de commande, nous :
- Résoudre l'enregistrement d'historique d'intégration précédent pour le document
- Créer un enregistrement d'historique d'intégration
- Créer une alerte au contact d'intégration en cas d'erreur
Chaque document comprend les détails de l'historique d'intégration :
Utilisez le tableau de données d'historique d'intégration de BC standard pour suivre l'état d'intégration de vos documents. Vous pouvez le trouver à l'adresse : https :/<your instance hostname>//integration_history_records/purchase_orders
.
Vous pouvez utiliser un filtre sur le code de réponse pour différencier les documents répliqués avec succès des documents qui ont échoué.
Diagramme d'orchestration
Étapes /détails des appels API
Étape 1 |
Obtenez la liste et les détails des bons de commande Coupa à créer/mettre à jour dans l'ERP. |
---|---|
Méthode |
OBTENIR |
API |
|
Query Params |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O |
Réponse Échantillon corporel |
Étape 2 |
Marquer le bon de commande individuel comme exporté |
---|---|
Méthode |
METTRE |
API |
|
Demander les paramètres |
|
Exemple d'URL |
|
Query Body sample |
S/O |
Réponse Échantillon corporel |
|
C'est là que se produit la création/mise à jour du bon de commande dans l'ERP.
Étape 3a |
Obtenir l'enregistrement de l'historique d'intégration non résolu |
---|---|
Méthode |
OBTENIR |
API |
|
Demander les paramètres |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O |
Échantillon de corps de |
|
Étape 3b |
Résoudre l'enregistrement précédent de l'historique d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
|
Exemple d'URL |
|
Query Body sample |
S/O |
Échantillon de corps de |
|
Étape 4a |
Créer un historique d'intégration (succès) |
---|---|
Méthode |
METTRE |
API |
|
Demander les paramètres |
|
URL d'exemple |
|
Échantillon de corps de la requête |
|
Échantillon du corps de |
|
Étape 4b |
Créer un historique d'intégration (erreur) et alerter le contact d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
|
Exemple d'URL |
|
Query Body sample |
|
Échantillon de corps de |
|
Option 3 : Tirer parti de la surveillance complète de l'intégration Coupa
Description
Dans ce scénario, nous créons un cycle d'intégration qui suit
- État de l'intégration (en attente/démarré/erroné/réussi/échoué)
- Le nombre total de BC traités
- Le nombre de succès et d'erreurs
- La liste des Erreurs d'Intégration et leurs statuts (résolus ou non)
Pour chaque bon de commande, nous :
- Résoudre l'enregistrement d'historique d'intégration précédent pour le document
- Créer un enregistrement d'historique d'intégration
- En cas d'erreur, créez une erreur d'intégration et une alerte au contact d'intégration
Vous pouvez surveiller toutes les exécutions d'intégration pour votre intégration à l'adresse : https :/<your instance hostname>//integrations<your integration id>//integration_runs
.
Utilisez la table de données d'erreur d'intégration de BC standard pour lister tous les BC avec une erreur d'intégration en attente de résolution. Il se trouve à l'adresse : https :/<your instance hostname>//integration_errors
.
Utilisez la table de données d'historique d'intégration de BC standard pour lister tous les BC intégrés avec succès. Il se trouve à l'adresse : https :/<your instance hostname>//integration_history_records/purchase_orders
.
Diagramme
d'orchestration
Étapes /détails des appels API
Étape 1 |
Créer une exécution d'intégration |
---|---|
Méthode |
PUBLIER |
API |
|
Params de requête |
S/O |
Query Body sample |
|
Réponse Échantillon corporel |
|
Étape 2 |
Obtenez la liste et les détails des bons de commande Coupa à créer/mettre à jour dans l'ERP. |
---|---|
Méthode |
OBTENIR |
API |
|
Params de requête |
filter=<your API filter name> |
Exemple d'URL |
|
Query Body sample |
S/O |
Échantillon du corps de |
Étape 3 |
Démarrer l'exécution de l'intégration |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
S/O |
Échantillon de corps de requête |
|
Réponse Échantillon corporel |
|
Étape 4 |
Marquer le bon de commande individuel comme exporté |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
|
URL d'exemple |
|
Échantillon de corps de requête |
S/O |
Réponse Échantillon corporel |
|
C'est là que se produit la création/mise à jour du bon de commande dans l'ERP.
Étape 5a |
Obtenir l'enregistrement de l'historique d'intégration non résolu |
---|---|
Méthode |
OBTENIR |
API |
|
Params de requête |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O |
Réponse Échantillon de corps |
|
Étape 5b |
Résoudre l'enregistrement précédent de l'historique d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Demander les paramètres |
|
Exemple d'URL |
|
Échantillon de corps de requête |
S/O |
Réponse Échantillon corporel |
|
Étape 6a |
Obtenir un enregistrement d'erreur d'intégration non résolu |
---|---|
Méthode |
OBTENIR |
API |
|
Demander les paramètres |
|
Exemple d'URL |
|
Query Body sample |
S/O |
Échantillon de corps de |
|
Étape 6b |
Résoudre l'enregistrement précédent de l'historique d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
S/O |
Échantillon de corps de requête |
S/O |
Réponse Échantillon corporel |
|
Étape 7a |
Créer un historique d'intégration (Succès) |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
fields=["id","document-id","status"] |
Exemple d'URL |
|
Query Body sample |
|
Réponse Échantillon de corps |
|
Étape 7b |
Créer une erreur d'intégration et alerter le contact d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Query Params |
S/O |
Échantillon de corps de requête |
|
Échantillon du corps de |
|
Étape 8 |
Fin de l'exécution de l'intégration réussie |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
S/O |
Échantillon de corps de la requête |
S/O |
Réponse Échantillon corporel |
|
En cas de défaillance générale pendant l'exécution de l'intégration
Étape x |
Échec d'élévation pour l'exécution d'intégration |
---|---|
Méthode |
METTRE |
API |
|
Params de requête |
S/O |
Échantillon de corps de requête |
S/O |
Réponse Échantillon corporel |
|