Exemple d'appels d'API de contrat
Différentes options de requête pour les contrats
Voici d'autres exemples d'utilisation de l'API Contrats pour interroger et obtenir le jeu de résultats souhaité.
Cette requête vous donnera les contrats inactifs
https ://<instance>.coupahost.com/api/contracts?status=inactive
Cette requête vous donnera le contrat pour un fournisseur avec le numéro = 1, nom = test & city = Seattle
https ://<instance>.coupahost.com/api/contracts?number=1&name=test&supplier[primary_address[city]]=Seattle
Cette requête vous donnera tous les contrats pour un fournisseur avec un nom de contact principal = Allison
https ://<instance>.coupahost.com/api/contracts?supplier[primary-contact[name-given]]=Allison
Exemple d'OBTENTION d'API de contrats
Dans cet exemple, nous avons demandé un seul enregistrement de contrat avec un ID de 2.
Nous avons accédé à l'URL :
https ://<instance url>/api/contracts/2
ou
https ://<instance url>/api/contracts ?id=2
Voici la réponse correspondant aux critères de recherche :
<?xml version="1.0" encoding="UTF-8"?>
<contract>
<id type="integer">2</id>
<created-at type="datetime">27/10/2008T13:26:13-07:00</created-at>
<updated-at type="datetime">2014-03-20T15:20:45-07:00</updated-at>
<name>Amazon.com</name>
<number>2</number>
<version nil="true" />
<start-date type="datetime">26/10/2008T17:00:00-07:00:00</start-date>
<end-date type="datetime">26/10/2012T17:00:00-07:00:00</end-date>
<status>inactif</status>
<minimum-value type="decimal">0,00</minimum-value>
<maximum-value type="decimal">0,00</maximum-value>
<terms nil="true" />
<preferred nil="true" />
<savings-pct type="decimal">10,0</savings-pct>
<min-commit type="decimal">0,00</min-commit>
<max-commit type="decimal">0,00</max-commit>
<supplier-invoiceable type="boolean">faux</supplier-invoiceable>
<is-default type="boolean">faux</is-default>
<supplier-account nil="true" />
<use-order-windows type="boolean">faux</use-order-windows>
<order-window-tz nil="true" />
<requisition-message nil="true" />
<po-message nil="true" />
<supplier>
<id type="integer">4</id>
<name>Amazon.com</name>
<number nil="true" />
<supplier-diversity />
<primary-contact>
<id type="integer">4</id>
<created-at type="datetime">27/10/2008T12:56:39-07:00</created-at>
<updated-at type="datetime">27/10/2008T12:56:39-07:00</updated-at>
<email>upgrade@coupa.com</email>
<name-prefix nil="true" />
<name-suffix nil="true" />
<name-additional nil="true" />
<name-given>Allison</name-given>
<name-family>Livingston</name-family>
<name-fullname nil="true" />
<notes nil="true" />
<created-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>upgrade@coupa.com</email>
<employee-number nil="true" />
<firstname>Coupa</firstname>
<lastname>Soutien</lastname>
<salesforce-id nil="true" />
<mycustom-userfield />
</created-by>
<updated-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>upgrade@coupa.com</email>
<employee-number nil="true" />
<firstname>Coupa</firstname>
<lastname>Assistance</lastname>
<salesforce-id nil="true" />
<mycustom-userfield />
</updated-by>
</primary-contact>
<primary-address>
<id type="integer">4</id>
<created-at type="datetime">27/10/2008T12:56:39-07:00</created-at>
<updated-at type="datetime">2009-08-20T09:35:04-07:00</updated-at>
<name>Amazon.com</name>
<street1>1516 2nd Ave</street1>
<street2 />
<city>Seattle</city>
<state>WA</state>
<postal-code>98101</postal-code>
<attention nil="true" />
<active type="boolean">true</active>
<business-group-name nil="true" />
<country>
<id type="integer">223</id>
<code>États-Unis</code>
<name>États-Unis</name>
</country>
<created-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>upgrade@coupa.com</email>
<employee-number nil="true" />
<firstname>Coupa</firstname>
<lastname>Assistance</lastname>
<salesforce-id nil="true" />
<mycustom-userfield />
</created-by>
<updated-by>
<id type="integer">16</id>
<login>rohit</login>
<email>rohit.jalisatgi@coupa.com</email>
<employee-number />
<firstname>Rohit</firstname>
<lastname>Jalisatgi</lastname>
<salesforce-id nil="true" />
<mycustom-userfield />
</updated-by>
</primary-address>
</supplier>
<content-groups type="array">
<content-group>
<id type="integer">1</id>
<created-at type="datetime">2006-08-27T19:40:04-07:00</created-at>
<updated-at type="datetime">2013-03-29T21:11:14-07:00</updated-at>
<name>Tout le monde</name>
<description>Tous les utilisateurs peuvent voir les documents attribués à ce groupe</description>
<updated-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>upgrade@coupa.com</email>
<employee-number nil="true" />
<firstname>Coupa</firstname>
<lastname>Soutien</lastname>
<salesforce-id nil="true" />
<mycustom-userfield />
</updated-by>
</content-group>
<content-group>
<id type="integer">6</id>
<created-at type="datetime">2013-10-09T10:15:01-07:00</created-at>
<updated-at type="datetime">2013-10-09T10:15:01-07:00</updated-at>
<name>Quel modèle</name>
<description nil="true" />
<created-by>
<id type="integer">69</id>
<login>coupasupport+rohitdemo@coupa.com</login>
<email>coupasupport+rohitdemo@coupa.com</email>
<employee-number nil="true" />
<firstname>Intégration</firstname>
<lastname>Utilisateur</lastname>
<salesforce-id nil="true" />
<mycustom-userfield />
</created-by>
<updated-by>
<id type="integer">69</id>
<login>coupasupport+rohitdemo@coupa.com</login>
<email>coupasupport+rohitdemo@coupa.com</email>
<employee-number nil="true" />
<firstname>Intégration</firstname>
<lastname>Utilisateur</lastname>
<salesforce-id nil="true" />
<mycustom-userfield />
</updated-by>
</content-group>
</content-groups>
<schedule>
<day0>à tout moment</day0>
<day1>à tout moment</day1>
<day2>à tout moment</day2>
<day3>à tout moment</day3>
<day4>à tout moment</day4>
<day5>à tout moment</day5>
<day6>à tout moment</day6>
</schedule>
<contract-terms type="array" />
<created-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>upgrade@coupa.com</email>
<employee-number nil="true" />
<firstname>Coupa</firstname>
<lastname>Soutien</lastname>
<salesforce-id nil="true" />
<mycustom-userfield />
</created-by>
<updated-by>
<id type="integer">69</id>
<login>coupasupport+rohitdemo@coupa.com</login>
<email>coupasupport+rohitdemo@coupa.com</email>
<employee-number nil="true" />
<firstname>Intégration</firstname>
<lastname>Utilisateur</lastname>
<salesforce-id nil="true" />
<mycustom-userfield />
</updated-by>
</contract>
Requête pour connaître tous les contrats
https ://<instance>/api/contracts/
Requête pour connaître les contrats qui sont inactifs
/api/contrats ?status=<
Requête pour connaître les contrats de fournisseurs particuliers
https ://<instance>/api/contracts ?number=<>&name=<>&supplier[primary_address[city]]=<>
https ://<instance>/api/contracts ?supplier[primary_address[city]]=<>
Création du contrat - Statut inactif
Dans cet exemple, nous créons un contrat à l'état inactif. Nous utilisons les ID système Coupa pour les objets de référence des groupes de contenu.
Nous l'avons posté à l'URL : https ://<instance url>/api/contracts.
Cela a créé le contrat en statut inactif
<?xml version="1.0" encoding="UTF-8"?>
<contract>
<name>YRIAmazon.com</name>
<number>119</number>
<start-date>2014-04-01T17:00:00-07:00:00</start-date>
<end-date>26/04/2014T17:00:00-07:00</end-date>
<status>inactif</status>
<supplier>
<name>Amazon.com</name>
</supplier>
<content-groups>
<content-group>
<id>1</id>
<name>Tout le monde</name>
<description>Tous les utilisateurs peuvent voir les documents attribués à ce groupe</description>
</content-group>
</content-groups>
</contract>
Exemples de PUT d'API de contrats
Exemple de code pour la mise à jour du statut d'un contrat
<?xml version="1.0" encoding="UTF-8"?>
<contract>
<id>73</id>
<status>publié</status>
</contract>
Exemple de code pour mettre à jour le nom d'un contrat
<?xml version="1.0" encoding="UTF-8"?>
<contract>
<name>Amazon.com</name>
</contract>