Authentification
Toutes les données sont stockées en tant qu'objet métier ouressource,et chaque ressource possède uneURLde ressource , tout comme une page Web, où chaque ressource se trouve dans le formulaire./api/{resource_name}.
Assurez-vous d'accéder à l'URL à l'aide d'https://
plutôt que http://
lorsque vous utilisez l'API Coupa. Chaque client Coupa possède sa propre URL, au format {instance_name}.coupahost.com
. Par exemple : https://companyname.coupahost.com/api/users
.
Coupa recommande d' authentifier les demandes API en utilisant OpenID Connect.
Historiquement, avant la prise en charge d'OpenID Connect, les demandes d'API étaient authentifiées par unecléAPI unique, générée dans Coupa. Cette méthode est toujours supportée, mais elle sera complètement obsolète dans R35. Toutes les demandes API utilisant cette méthode d'authentification doivent passer un en-tête X-COUPA-API-KEY
», une clé API et l' ACCEPT
en-tête avec la valeur définie sur application/xml
pour les réponses XML ou application/json
pour les réponses JSON. Un utilisateur admin peut créer une clé à partir de la section Clés APIde l'onglet Configuration. La clé est un code alphanumérique sensible à la casse de 40 caractères. Elle est associée à un utilisateur API équivalent à un utilisateur administrateur sur Coupa. Toute modification des ressources via l'API sera attribuée à l'utilisateur de l'API.
La sécurité de la clé API peut être configurée, par exemple, en définissant des dates d'expiration, en révoquant une clé et en configurant les objets et les méthodes auxquels une clé a accès.
Obscurcissement des clés API
R32 - OAuth2.0 est la seule option disponible pour les nouveaux clients
R34 - les nouvelles clés API ne peuvent plus être émises pour les clients existants
R35 - Les clés API ne seront plus prises en charge
Plus de détails
Validez toujours la présence d'éléments dans le fichier XML/JSON avant de récupérer la valeur car la structure de la charge utile Coupa peut changer à l'avenir pour ne pas afficher certains champs qui n'ont pas de valeurs ou qui ont des valeurs nulles.
Quelles méthodes sont supportées par l'API ?
GET (Read Data)- Une demande HTTP GET interrogera Coupa et renverra des informations au format JSON ou XML. Une demande à la racine de la ressource répertorie les 50 premiers objets à partir de l'ID 1. Utilisez ces argumentspour affiner la requête.
PUT (Mettre à jour les données)- Une demande HTTP PUT pour/api/{resource}/{id}
tenter de mettre à jour une ressource. Une seule ressource peut être mise à jour par demande et la charge utile doit être un document JSON ou XML avec les éléments à mettre à jour. Tous les champs ne sont pas disponibles via l'API et toutes les données référencées doivent déjà exister ou la valeur ne sera pas modifiée.
POST (Create Data)- Une demande HTTP POST à la racine de la ressource avec une charge utile JSON ou XML tentera de créer une nouvelle ressource. En cas de réussite, la ressource est renvoyée avec le nouvel ID, qui est généré par Coupa.
La suppression de donnéesn'est prise en chargepour aucune ressource via l'API. Les utilisateurs peuvent désactiver un sous-ensemble de ressources en utilisant une demande PUT.
Quand dois-je utiliser l'API ?
L'API Coupa vous permet de créer, de mettre à jour et d'interroger des entrées individuelles. Elle sera principalement utilisée pour gérer des objets dans Coupa. Avec des actions RESTful standard et des entrées et sorties définitives, il est l'option facile au jour le jour pour les actions non massives. Ces méthodes sont accessibles à tout moment et sont intégrées à des outils qui vous permettent de vérifier simplement si un appel sera traité avec succès ou de minimiser la sortie des réponses. Il est principalement utilisé pour effectuer des mises à jour individuelles simples ou pour interroger des données.
XML vs JSON
Coupa prend en charge XML et JSON. Vous trouverez ci-dessous des informations de base sur chacun :
Le langage XML (Extensible Markup Language) est un ensemble de règles pour le codage de documents sous forme lisible par machine. Les objectifs de conception de XML mettent l’accent sur la simplicité, la généralité et la facilité d’utilisation sur Internet.
JavaScript Object Notation (JSON) est un standard ouvert léger basé sur du texte conçu pour l'échange de données lisibles par l'homme. Il est dérivé du langage de programmation JavaScript pour représenter des structures de données simples et des tableaux associatifs, appelés objets. Malgré sa relation avec JavaScript, il est indépendant du langage, avec des analyseurs disponibles pour la plupart des langages de programmation.
JSON est moins explicite que XML, car XML nécessite des balises d'ouverture et de fermeture (ou dans certains cas des balises à fermeture automatique moins détaillées), et JSON utilise des paires nom/valeur, délimitées de manière concise par "{" et "}" pour les objets, "[" et "]" pour les tableaux, "," pour séparer les paires et ":" pour séparer le nom de la valeur.
Différences entre XML et JSON dans Coupa
Exemples de demandes/réponses - XML vs JSON
Quelle que soit la méthode choisie, l'API Coupa exige que vous définissiez vos en-têtes content-type et content-accept sur le même type. Ne pas mélanger et assortir.
Utilisation de GraphQL
GraphQL est une spécification ouverte pour un langage de requête API (donc la référence « QL ») qui vous permettra de rendre vos intégrations plus réactives que jamais en vous donnant la possibilité de demander les données dont vous avez besoin et rien de plus. GraphQL peut également réduire le nombre d'appels et d'allers-retours associés en récupérant toutes les ressources dont vous avez besoin en un seul ou plusieurs appels.
Voir Présentation de GraphQL pour plus d'informations.
Quand utiliser les fichiers plats SFTP ?
Les fichiers plats vous permettent de charger de nombreux enregistrements via une seule transaction. Une fois l'intégration configurée, elle s'exécutera automatiquement en fonction des paramètres définis. Les exécutions d'intégration et les erreurs sont gérées dans l'application et fournissent des informations sur le nombre d'entrées ajoutées, les détails de l'erreur et les personnes automatiquement contactées à propos de l'erreur. Il est principalement utilisé pour effectuer des mises à jour ou des ajouts en masse sur les composants clés du produit, tels que les utilisateurs ou les fournisseurs.
Informations supplémentaires
wiki.tree(page.path)
Coupa prend en charge un certain nombre d'opérateurs pour vous permettre d'effectuer des requêtes avec précision.
Utilisez le format d'API peu profond de Coupa pour réduire la quantité de données obtenues au cours d'une requête.
Sécurité améliorée de la clé API avec expiration de la clé API et autorisations spécifiées par l'administrateur pour les API.
Espace de noms de champ personnalisé
Tous les nouveaux champs personnalisés sont ajoutés à un espace de noms de champs personnalisés pour éviter les conflits de noms et rendre les champs ajoutés par les clients plus facilement identifiables.
En savoir plus sur les types d'arguments pris en charge par Coupa conjointement avec les opérateurs.
Découvrez comment utiliser les requêtes pour identifier et extraire rapidement les données dont vous avez besoin.
Actions spéciales et notes API
Informations supplémentaires sur l'utilisation de l'API Coupa.
Veuillez noter que certaines parties de ce contenu peuvent avoir été générées par traduction automatique.
- Table des matières
-
API Coupa Core
-
Démarrez avec l'API
- Sécurité de clé API
- Opérateurs API
- Formats de retour API
- Arguments
- Espace de noms de champ personnalisé
- Différences entre XML et JSON dans Coupa
- Traitement des exceptions et codes d'erreur
- Présentation de GraphQL
- Options de requête
- Exemples de demandes/réponses - XML vs JSON
- Actions spéciales et notes API
- Transition vers OAuth 2.0 et OIDC
- Orchestration Documents
-
Ressources
-
Ressources de données de référence
- API des comptes (/comptes)
- API des types de compte (/account_types)
- API des règles de validation des comptes (/account_validation_rules)
- API d'adresse (/addresses)
- API des annonces (/annonces)
- API des lignes budgétaires (/lignes budgétaires)
- API des entités commerciales (/business_entities)
- API des groupes de contenu (/business_groups)
- API devises (/devises)
- API des sources de fichiers de données (/data_file_sources)
- API des départements (/départements)
- API de taux de change (/exchange_rates)
- API des contreparties financières (/financial_contreparties)
- API des articles (/articles)
- API des documents juridiques (/legal_documents)
- API des valeurs de recherche (/lookup_values)
- API des allocations correspondantes (/matching_allocations)
- API des conditions de paiement (/payment_terms)
- API des projets (/projects)
- API de la carte tarifaire
- API des adresses de paiement (/fournisseurs/adresses)
- API des conditions d'expédition (/shipping_terms)
-
API des fournisseurs (/fournisseurs)
- API du contact du support client
- API d'association de diversité
- API des catégories et sous-catégories de diversité
- API de l'agence de certification Diversité
- API du fournisseur proxy
- API du site de punchout
- Exemples d'appels API fournisseurs
- API des articles fournisseur (/supplier_items)
- Exemples d'appels d'articles fournisseur
- API de paiement du fournisseur
- API des sites fournisseur (/supplier_sites)
- API utilisateur du fournisseur
- API des informations fournisseur (/supplier_information)
- API des sites d'informations fournisseur (/supplier_information_sites)
- API d'enregistrement fiscal des informations fournisseur (/supplier_information_tax_registrations)
- API des tâches (/tasks)
- API des immatriculations fiscales (/tax_registrations)
- API des utilisateurs (/users)
-
Ressources partagées
- API du groupe de comptes
- API alternative
- API du composant Montant
- API des étiquettes d'actifs
- API des pièces jointes
- API du fichier joint
- API de prix de vrac
- API des commentaires
- API Matières premières
- API de lot de ligne d'inventaire
- API du compte fournisseur Esign
- API du formulaire
- API des membres achats groupés
- API de paiement
- API de la période budgétaire
- Objet API
- API du contrat CLMA RA
- API de demande de risque RA
- API de relation de demande de risque RA
- API de score de demande de risque RA
- API de modification des en-têtes de commande fournisseur
- API de marquage
- API de balise
- API des unités de mesure
-
Ressources transactionnelles
- API d'approbations (/approbations)
- API d'avis d'expédition avancée (/asn)
- API des frais (/frais)
-
API des contrats (/contract)
- Exemples d'appels API
- API de classification des contrats
- API des clauses de contrat
- API de référence des clauses de contrat
- API des détails du contrat
- API de contestation de contrat
- API du partenaire contractuel
- API du contact du partenaire contractuel
- API du modèle de contrat (contrats/modèles)
- API des conditions du contrat
- API des types de contrat
- API de subdivision de pays
- Propriété intellectuelle et API de données
- API Reason Insights
- API des événements Reason Insights
- API de paiement (/coupa_pay/payments )
- API des relevés Coupa Pay (/coupa_pay/relevés)
- API d'objet personnalisé (/custom_objects/id)
- API des lignes d'inventaire (/cycle_count_lines)
- API des sources de fichiers de données (/data_file_sources)
- API des lieux de réception par défaut (/default_receive_locations)
- API du lieu de réception par défaut (/lieu de réception par défaut)
- API de réponses Easy Form (/easy_form_réponses)
-
API Expenses (/expense_reports)
- API Statut audit
- Exemples d'appels API des dépenses
- API des artefacts de dépenses
- API du participant aux dépenses
- API de type de participant aux dépenses
- API d'avance de fonds de dépenses
- API de catégorie de dépenses
- API de traduction des catégories de dépenses
- API des lignes de dépenses
- API d'allocation des lignes de dépenses
- API des participants aux lignes de dépenses
- API d'avance de fonds de ligne de dépenses
- API de données importées de la ligne de dépenses
- API de kilométrage des lignes de dépenses
- API d'allocation de kilométrage des lignes de dépenses
- API per diem des lignes de dépenses
- API fiscale de la ligne de dépenses
- API de carte virtuelle de ligne de dépenses
- API de pré-approbation des dépenses
- API de ligne de pré-approbation des dépenses
- API des rapports de dépenses
- API de pré-approbation des notes de frais
- API de voyage de dépenses
- API du segment de déplacement des dépenses
- API de violation des dépenses
- API de carte virtuelle de dépenses
- API des lignes de dépenses détaillées
- API entité juridique
- API des intégrations (/intégrations)
-
API des factures (/factures)
- API du motif du litige
- Échec des tolérances API
- API de facture entrante
- Exemples d'appels API factures
- API des frais de facture
- API d'allocation des frais de facture
- API des lignes de facture
- Exemples d'appels API Invoice Payments
- API de la société enregistrée
- API de ligne de taxe
- API de ligne de retenue fiscale
- API de traduction d'objet (/uoms/uom_id/translations)
- API de liste de commande (/order_pads)
- API de comptabilité fournisseurs (/payables/)
- Listes de sélection/API de réservations d'exécution (/listes de sélection)
-
API des bons de commande (/purchase_orders)
- API de ligne de montant de commande
- API d'allocation des lignes de commande
- API de détail fiscal de modification de ligne de commande
- API des détails fiscaux de la ligne de commande
- API de modification du bon de commande
- Exemples d'appels API des bons de commande
- API des lignes de bon de commande
- API de modification de ligne de commande
- Exemples d'appels API de révisions de bons de commande
-
API des reçus
- API du code d'ajustement
- API d'ajustement des stocks (/inventory_Adjustments)
- API des consommations de stock (/inventory_consommations)
- API du lot de mouvement de stock
- API de transferts de stocks (/inventory_transfers)
- API des transactions de réception (/receive_transactions)
- Exemples d'appels API reçus
- API de retour aux transactions fournisseur (/return_to_supplier_transactions)
- API des demandes de reçu (/Receipt_Requests)
- API des demandes (/demandes)
- API de sourcing (/quote_Requests)
- API du flux Supplier Risk Aware (/supplier_risk_aware_feed)
-
Ressources de données de référence
-
Démarrez avec l'API
- S’appuyer sur la plateforme Coupa
- CCW Flat Files (CSV)
-
Fichiers plats principaux Coupa (CSV)
-
Export fichier plat (CSV)
-
Standard CSV Exports
- Export du type de compte
- Export des préavis d'expédition
- Exportation de matières premières
- Exportation des contrats
- Exportation des frais Coupa Pay
- Exportation paiements Coupa Pay
- Exportation source du fichier de données
- Exportation des délégations
- Exportation de réponses au widget Easy Form
- Exportation du taux de change
- Exportation de pré-approbation des dépenses
- Exportation des notes de frais
- Exportation erreur intégration
- Exportation historique intégration
- Exportation du stock théorique
- Exportation des mouvements de stock (reçus)
- Exportation des factures
- Exportation des articles
- Exportation des valeurs de recherche
- Exportation de traduction des objets
- Exportation des modifications en-tête
- Exportation allocation modification ligne de commande
- Exportation des modifications de ligne de commande
- Dettes :: Allocation
- Dettes :: Dépenses
- Exportation de pré-approbation des dépenses
- Exportation des factures à payer
- Exportation du jalon achats
- Exportation du projet
- Exportation du lien du projet
- Exportation des bons de commande
- Export des adresses de paiement
- Exportation des demandes
- Exportation du sourcing
- Exportation de demande de devis Sourcing
- Exportation de réponse au devis Sourcing
- Exportation des relevés Coupa Pay
- Exportation des dépenses directes du rapport sur la diversité des fournisseurs
- Exportation des dépenses indirectes du rapport sur la diversité des fournisseurs
- Exportation des synthèses de rapport sur la diversité des fournisseurs
- Exportation des informations fournisseur
- Site d'informations sur les fournisseurs
- Site fournisseur
- Exportation du code fiscal
- Exportation de règles de code fiscal
- Exportation d'immatriculation fiscale
- Exportation de ligne fiscale TCS
- Exportation du groupe utilisateur
- Exportation de confirmation de travail/en-tête (en-tête de feuille de service/temps)
- Exportation de confirmation de travail/ligne (ligne de feuille de temps/service)
-
Standard CSV Exports
- Mise en route
-
Importation de fichiers plats (CSV)
- Importation du compte
- Importation du type de compte (CdA)
- Importation des règles de validation des comptes
- Importation de la chaîne d’approbation
- Importation du préavis d'expédition
- Importation des lignes budgétaires
- Importation des ajustements de ligne budgétaire
- Importation entité commerciale
- Importation de matières premières
- Importation de conversion des marchandises
- Importation des adresses
- Importation du groupe de contenu
- Importation du contrat
- Importation des départements
- Importation Entreprise
- Importation du taux de change
- Importation des données de kilométrage des dépenses
- Importation de limite de catégorie dynamique des actions de dépenses
- Importation de catégorie de dépenses
- Importation des taux d'imposition des catégories de dépenses
- Importation de conversion de catégorie de dépenses
- Importation de catégories d'importation des dépenses
- Importation du filtre de type de transaction des dépenses
- Importation des dépenses - Importation de mappage utilisateur
- Importation du paiement des dépenses
- Importation des commandes externes
- Paiements externes
- Importation de formulaires (Easy Forms)
- Importation des contacts d'intégration
- Importation d'intégration
- Importation du lot de stock théorique
- Importation des factures
- Importation du paiement des factures
- Importation des articles
- Chargeur de reçu de paiement légal
- Importation des valeurs de recherche
- Importation des instances d'objet
- Importation de traduction des objets
- Fournisseurs :: Externe :: Importation des fournisseurs
- Importation des modalités de paiement
- Importation du projet
- Importation des modifications du bon de commande
- Importation de ligne de demande de devis
- Importation des mouvements de stock (reçus)
- Importation des adresses de paiement
- Importation des demandes
- Importation du traceur livrable
- Importation des fournisseurs
- Importation du flux Supplier Risk Aware
- Importation du site fournisseur
- Importation du code fiscal
- Importation de règles de code fiscal
- Importation du taux d’imposition
- Importation des références fiscales
- Importation d'immatriculation fiscale
- Importation de fichiers de flux de trésorerie
- Importation des utilisateurs
- Importation du groupe d'utilisateurs
- Importation du site entrepôt
- Importation de fiches de service/feuilles de temps
-
Export fichier plat (CSV)
- Adresses IP de l'application Coupa Core
- Anciens formats
- Risk Assess Quick Integration
- Coupa Core User Authentication (SSO)
- The CCW API
- The CSO API