• 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 en même temps que vous pour identifier et extraire rapidement les données dont vous avez besoin.  Nous avons établi une "syntaxe" pour construire ces requêtes. Avec cette fonctionnalité, vous pouvez également rechercher des attributs sur les objets référencés / enfants.  Par exemple, vous pouvez rechercher des demandes en recherchant des 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 devez interroger 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
contains 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
blank 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 différent de
in dans la liste de valeurs

Exemples

Interrogation avec les opérateurs

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

Test d'égalité via une association

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

Utilisation d'opérateurs via une association

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

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

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

Dans la liste de valeurs

<instancename>.coupahost.com/api/invoices?status[in]=approved,voided

Si votre recherche ne fournit pas d'enregistrements, 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 ex. 2010-03-25T18:38:00-07:00 pour 18h38 le 25/03/10 (PDT).  Nous essaierons d'analyser tout ce que nous recevrons, 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 ce jour, UTC.

Les dates sont toujours stockées avec une composante de temps implicite ou explicite, représentant un point dans le temps spécifique. Les dates saisies via l'interface utilisateur de 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 create_at et update_at, sont plus précises. Si vous ne connaissez pas l'heure de votre requête et que vous êtes intéressé par les documents créés au cours de certains jours, veillez à rechercher les plages de temps appropriées et non pas une heure en particulier.

Lorsque vous utilisez des dates et des heures dans des requêtes via URL, notez qu'un signe deux-points (:) doit être remplacé par %3Aet 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 effectivement spécifier des plages de dates en utilisant les opérateurs de comparaison. Par exemple, pour limiter les requêtes à un jour particulier dans 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 par appel de requête

Nous autorisons jusqu'à 50 enregistrements par API GET 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 API get avec un décalage.  Par exemple, sous l'URL API fournirait les 50 enregistrements suivants après que les 50 premiers ont é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 devez vous assurer d'extraire les requêtes 'export=false' dans vos appels API afin d'extraire uniquement 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.

Une partie ou la totalité de cette page peut avoir été traduite par machine. Toutes nos excuses pour les inexactitudes.

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.