• Dernière modification le: 24 June 2020

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>

 

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.