• Dernière modification le: 16 December 2016

Différences entre XML et JSON dans Coupa

Types de données dans JSON

Pour JSON, Coupa prend en charge les éléments suivants : null, booléen, number et string.  La précision, la version et les valeurs similaires utilisent le type de données number, où la précision décimale, par exemple, est une chaîne.  Toutes les valeurs non explicitement appelées utilisent le type de données string.  

Il existe quatre différences à prendre en compte entre le fonctionnement des API REST de Coupa en cas d’utilisation de JSON et celui des API XML.

1. JSON n'utilise pas de noeud parent

Dans XML, nous obtenons le noeud parent au début et à la fin de la réponse. Dans JSON, aucun noeud parent n'est disponible en réponse.

Réponse XML

<?xml version="1.0" encoding="UTF-8"?>
<account>
	 <id type="integer">41</id>
	 <created-at type="dateTime">2016-10-07T06:56:43-07:00</created-at>
	 <updated-at type="dateTime">2016-10-07T06:56:43-07:00</updated-at>
	 <name>account_1475848602.731066227</name>
	 <code>segment11475848602928</code>
	 <active type="boolean">true</active>
	 <segment-1>segment11475848602928</segment-1>
	 <segment-2 nil="true" />
	 ---------------------------------------------
</account>

RéponseJSON

{
	 "id": 43,
	 "created-at": "2016-10-07T06:59:46-07:00",
	 "updated-at": "2016-10-07T06:59:46-07:00",
	 "name": "account_1475848721.456090234",
	 "code": "segment11475848721222",
	 "active": true,
	 "segment-1": "segment11475848721222"
}

2. Réponse différente pour aucun résultat

Lorsqu'aucun résultat ne correspond à la requête GET, notre réponse XML génère une erreur 404, où la réponse JSON fournit un tableau vide.

OBTENIR : https://dashmaster17-0.coupadev.com/api/accounts?id=NON_EXISTING

Réponse XML

<?xml version="1.0" encoding="UTF-8"?>
<errors>
	 <error>No results match your search criteria.</error>
</errors>

API GET JSON

 [ ]

3. Différents noeuds pour le message d'erreur

Réponse XML

 <?xml version="1.0" encoding="UTF-8"?>
<errors>
	 <error>Segment 1 - Cost Center can't be blank.</error>
</errors>

Réponse JSON

{
	 "errors": {
			"account": [
				 "Segment 1 - Cost Center can't be blank"
			]
	 }
}

4. Réponse différente pour l'appel API du pays dans l'adresse

Voici les deux ensembles de réponses pour un appel d'API POST : http://localhost:3000/api/addresses

Réponse XML

<?xml version="1.0" encoding="UTF-8"?>
<address>
	 <id type="integer">97</id>
	 <created-at type="dateTime">2016-10-07T07:19:07-07:00</created-at>
	 <updated-at type="dateTime">2016-10-07T07:19:07-07:00</updated-at>
	 <name>address_1475849947.739228964</name>
	 <location-code nil="true" />
	 <street1>2 W 5th Ave</street1>
	 --------------------------------
	 <country>
				
			<id type="integer">223</id>
				
			<code>US</code>
				
			<name>United States</name>
	 </country>
	 --------------------------------
</address>

Réponse JSON

{
	 "id": 99,
	 "name": "address_1475850128.91",
	 "street1": "2 W 5th Ave",
	 "street2": "Suite 300",
	 "city": "San Mateo",
	 "state": "CA",
	 "postal_code": "94404",
	 "country_id": 223,
	 "address_owner_type": "BusinessGroup",
	 "parent_address_id": null,
	 "country": "United States"
}

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.