• 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


L'API Coupa Core

Notre API RESTful fournit un accès robuste pour lire, modifier ou intégrer vos données à la plate-forme Coupa.

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.

Ressources de données de référence

Les données de référence sont utilisées pour configurer les composants de base de Coupa tels que les utilisateurs, les fournisseurs, les comptes, et plus encore.

Ressources transactionnelles

Au fur et à mesure que les gens utilisent Coupa, des données transactionnelles telles que des demandes, des bons de commande et des factures sont créées.