Démarrez avec l'API

Informations générales sur l'utilisation de l'API Coupa et quand vous devriez envisager d'utiliser le CSV.

Authentification

Toutes les données sont stockées en tant qu'objet métier ou ressource, et chaque ressource a une URL de ressource, tout comme une page Web, où chaque ressource est sous la forme/api/{resource_name}. Assurez-vous d'accéder à l'URL en utilisant https ://au lieu de http ://lors de l'utilisation de l'API Coupa. Chaque client Coupa a sa propre URL, de la forme {instance_name}.coupahost.com. Par exemple : https://companyname.coupahost.com/api/users.

Coupa recommande d'authentifier les demandes d'API à l'aide d'OpenID Connect.

Historiquement, avant la prise en charge d'OpenID Connect, les demandes d'API étaient authentifiées par une clé d'API unique, générée dans Coupa. Cette méthode est toujours prise en charge, mais elle sera entièrement dépréciée dans R35. Toutes les requêtes API utilisant cette méthode d'authentification doivent passer un en-tête X-COUPA-API-KEY », une clé API et l'en-tête ACCEPT dont la valeur est définie sur application/xml pour les réponses XML, ou application/json pour les réponses JSON.  Une clé peut être créée à partir de la section Clés d'API de l'onglet Configuration par un utilisateur administrateur. La clé est un code alphanumérique de 40 caractères sensible à la casse et est associée à un utilisateur d'API qui est l'équivalent d'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.

Note

Dépréciation des clés API
          R32 - OAuth2.0 est la seule option disponible pour les nouveaux clients
          R34 - de 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

Remarque

Validez toujours la présence d'éléments dans le 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 aucune valeur ou une valeur nulle.

Quelles méthodes sont prises en charge par l'API ?

GET (Read Data) - A HTTP GET Request will query Coupa and return information in JSON or XML format.  Une requête à la racine de la ressource listera les 50 premiers objets à partir de l'ID 1. Utilisez ces arguments pour affiner la requête.

PUT (Mettre à jour les données) - Une requête HTTP PUT à/api/{resource}/{id} tentera 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 (Créer des données) - Une requête HTTP POST à la racine de la ressource avec une charge utile JSON ou XML tentera de créer une nouvelle ressource. Si elle réussit, la ressource est renvoyée avec le nouvel identifiant, qui est généré par Coupa.

Remarque

La suppression de données n'est prise en charge par aucune ressource via l'API. Les utilisateurs peuvent désactiver un sous-ensemble de ressources à l'aide d'une requête PUT.

Quand dois-je utiliser l'API ?

L'API Coupa vous permet de créer, mettre à jour et interroger des entrées individuelles, et 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 en fait l'option quotidienne facile pour les actions non groupées. Ces méthodes sont accessibles à tout moment, et les outils intégrés vous permettent de vérifier simplement si un appel passera avec succès, ou de minimiser la sortie des réponses. Ceci 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.  Voici quelques informations de base sur chacun :

Le langage de balisage extensible (XML) est un ensemble de règles pour coder des documents sous forme lisible par machine. Les objectifs de conception de XML mettent l'accent sur la simplicité, la généralité et la convivialité 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 verbeux que XML, car XML nécessite des balises d'ouverture et de fermeture (ou dans certains cas des balises auto-fermantes moins verbeuses), 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

Remarque

Quelle que soit la méthode que vous choisissez, l'API Coupa exige que vous définissiez les en-têtes de type de contenu et d'acceptation de contenu 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 (d'où la référence « QL ») qui vous permettra de rendre vos intégrations plus réactives que jamais en vous offrant 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 que vous effectuez 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 dois-je utiliser des fichiers SFTP plats ?

Les fichiers plats vous permettent de charger de nombreux enregistrements via une seule transaction. Une fois qu'une intégration est 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'entités ajoutées, les détails de l'erreur et les personnes automatiquement contactées au sujet de l'erreur. Ceci est principalement utilisé pour effectuer des mises à jour ou des ajouts de masse sur les composants clés du produit, tels que les utilisateurs ou les fournisseurs.

Informations supplémentaires

wiki.tree(page.path)

Opérateurs de l'API

16 August 2022

Coupa prend en charge un certain nombre d'opérateurs pour vous permettre d'interroger avec précision.

Formats de retour de l'API

03 February 2022

Utilisez le format API peu profond de Coupa pour réduire la quantité de données que vous obtenez lors d'une requête.

Sécurité de la clé API

14 January 2022

Amélioration de la sécurité de la clé API avec l'expiration de la clé API et les autorisations spécifiées par l'administrateur pour les API.

Espace de noms de champ personnalisé

18 April 2019

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 le client plus facilement identifiables.

Arguments

24 April 2017

Découvrez les types d'arguments pris en charge par Coupa en collaboration avec les opérateurs.

Options de requête

21 October 2016

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

21 October 2016

Informations supplémentaires sur l'utilisation de l'API Coupa.