• Dernière modification le: 21 October 2016

Options de requête

Découvrez comment utiliser les requêtes pour identifier et extraire rapidement les données dont vous avez besoin.

Aperçu

Grâce à l'API Coupa, vous pouvez exécuter des requêtes avancées pour identifier et extraire rapidement les données dont vous avez besoin.  Nous avons établi une « syntaxe » pour construire ces requêtes. Grâce à cette fonctionnalité, vous pouvez également rechercher des attributs sur des objets référencés / enfants.  Par exemple, vous pouvez trouver des demandes en effectuant une recherche sur les attributs liés aux lignes de demande.

Syntaxe Générale

<url>?<attribute><[operator]> =<value> &...

Donc, si vous voyez :

<order-header>

   <order-lines>

      <order-line>

         <account>

            <code>a-c</code>

         </account>

      </order-line>

   </order-lines>

</order-header>

Vous interrogeriez le compte via les lignes de commande [account][code]. Notez que pour les collections d'éléments, telles que les lignes de commande dans ce cas, utilisez la forme plurielle et ignorez la forme singulière imbriquée.

Opérateurs pris en charge

Opérateur Remarques
<none/no operator> Correspondance/égalité exacte, identique au comportement précédent
contient Non utilisé avec les champs de date
starts_with Non utilisé avec les champs de date
ends_with Non utilisé avec les champs de date
vide Accepte vrai ou faux
gt Supérieur à
lt Inférieur à
gt_or_eq Supérieur ou égal à 
lt_or_eq inférieur ou égal à
not_eq non égal à
dans dans la liste de valeurs

Exemples

Interrogation des opérateurs

<instancename>.coupahost.com/api/purchase_orders?exported=false&created_at[gt]=15/01/2010

Tester l'égalité par le biais d'une association

<instancename>.coupahost.com/api/purchase_orders?exported=false&created_at[gt]=15/01/2010&supplier[name]=Poisson

Utilisation des opérateurs par le biais d'une association

<instancename>.coupahost.com/api/purchase_orders?exported=false&created_at[gt]=15/01/2010&supplier[name][gt]=Poisson

Interrogation à travers 2 niveaux d'association, y compris un un-à-plusieurs

<instancename>.coupahost.com/api/purchase_orders?exported=false&created_at[gt]=15/01/2010&supplier[name][gt]=Fish&order_lines[account][code]=a-c

Dans la liste de valeurs

<instancename>.coupahost.com/api/invoices?status[in]=approuvé,annulé

Si votre recherche ne fournit aucun enregistrement, vous devriez voir ce message dans la réponse de l'API. Si votre requête de recherche n'est pas valide, nous essaierons de vous aider à identifier le problème dans la réponse de l'API.

Remarque concernant les dates et heures

Nous nous attendons à ce que les dates soient spécifiées dans un sous-ensemble strict du format ISO 8601 (par exemple, 2010-03-25T 18:38:00-07:00 pour 18:38 le 25/03/10  PDT).  Nous essaierons d'analyser tout ce que nous recevons, mais sachez que les effets de fuseau horaire peuvent entraîner des résultats inattendus si les dates sont dans un format différent. Actuellement, toute date spécifiée sans heure et  fuseau horaire sera interprétée comme minuit au début de cette journée,  UTC.

Les dates sont toujours stockées avec une composante temporelle implicite ou explicite,  représentant un moment spécifique dans le temps. Les dates saisies via l'interface utilisateur Coupa ont une heure qui correspond à minuit dans le fuseau horaire par défaut de l'entreprise. Les dates générées automatiquement, telles que les attributs created_at et  updated_at, sont plus précises. Si vous ne connaissez pas l'heure précise à laquelle vous effectuez la requête et que vous êtes intéressé par les documents créés au cours de jours particuliers, assurez-vous d'effectuer la requête pour les plages horaires appropriées et non pour une heure particulière.

Lorsque vous utilisez des dates et des heures dans des requêtes via une URL, notez qu'un deux-points (:) doit être remplacé par %3A et qu'un signe plus (+) doit être remplacé par %2B. Étant donné que toutes les conditions que vous transmettez doivent être vraies pour que les résultats soient renvoyés, vous  pouvez spécifier efficacement des plages de dates à l'aide des opérateurs de comparaison. Par exemple, pour limiter les requêtes à un jour particulier de l'heure du Pacifique, vous pouvez utiliser les conditions suivantes :

created_at[gt_or_eq]=2010-03-25T00:00:00-07:00&created_at[lt]=2010-03-26T00:00:00-07:00

Limite d'enregistrements pour chaque appel de requête

Nous autorisons jusqu'à 50 enregistrements par API POUR maintenir des vitesses de traitement plus efficaces et vous protéger, ainsi que Coupa, contre le retour involontaire de gros paquets de données. 

Si vous devez obtenir plus de 50 enregistrements, vous pouvez relancer l'API get avec un décalage.  Par exemple, l'URL de l'API ci-dessous fournirait les 50 enregistrements suivants après que les 50 premiers aient été extraits (51-100).  Vous pouvez donc continuer à ajuster le décalage pour obtenir des incréments de 50.

https://instance.coupahost.com/api/invoices?offset=50&exported=false

Vous voulez vous assurer de tirer les requêtes 'export=false' dans vos appels API afin de ne tirer que les enregistrements qui n'ont pas été exportés auparavant.  Cela devrait limiter le nombre d'enregistrements que vous extrayez lorsque vous exécutez vos intégrations.

Articles associés


API Coupa Core

Notre API RESTful fournit un accès fiable pour lire, modifier ou intégrer vos données à la plateforme Coupa.

Démarrez avec l'API

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

Transition vers OAuth 2.0 et OIDC

Coupa désapprouve les API Keys héritées et nécessite l'utilisation d'OAuth 2.0 / OIDC. À partir de R34, aucune nouvelle clé API ne sera émise et les clés API ne seront plus prises en charge avec R35.

Ressources

Nous avons organisé nos points de terminaison API par type d'objet : données de référence, données transactionnelles et ressources partagées.