• Dernière modification le: 16 December 2016

Différences entre XML et JSON dans Coupa

Types de données en JSON

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

Il y a quatre différences à prendre en compte entre le fonctionnement des API REST de Coupa lors de l'utilisation de JSON et l'utilisation de XML.

1. JSON n'utilise pas de nœud parent

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

Réponse XML

<?xml version="1.0" encoding="UTF-8"?>

<account>

	 <id type="integer">41</id>

	 <created-at type="dateTime">07/10/2016T06:56:43-07:00</created-at>

	 <updated-at type="dateTime">07/10/2016T06: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éponse JSON

{

	 "id" : 43,

	 "created-at" : "07/10/2016T06:59:46-07:00",

	 "updated-at" : "07/10/2016T06:59:46-07:00",

	 "nom" : "account_1475848721.456090234",

	 "code" : "segment11475848721222",

	 "active" : true,

	 "segment-1" : "segment11475848721222"

}

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

Lorsqu'il n'y a pas de résultats correspondant à 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>Aucun résultat ne correspond à vos critères de recherche.</error>

</errors>

API JSON GET

 [ ]

3. Différents nœuds pour le message d'erreur

Réponse XML

 <?xml version="1.0" encoding="UTF-8"?>

<errors>

	 <error>Segment 1 - Le centre de coûts ne peut pas être vide.</error>

</errors>

Réponse JSON

{

	 "errors" : {

			"compte" : [

				 "Segment 1 - Le centre de coûts ne peut être vide"

			]

	 }

}

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

Vous trouverez ci-dessous les deux ensembles de réponses pour un appel POST API : 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">07/10/2016T07:19:07-07:00</created-at>

	 <updated-at type="dateTime">07/10/2016T07: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>États-Unis</code>

				

			<name>États-Unis</name>

	 </country>

	 --------------------------------

</address>

Réponse JSON

{

	 "id" : 99,

	 "nom" : "adresse_1475850128.91",

	 "street1" : "2 W 5th Ave",

	 "street2" : "Suite 300",

	 "ville" : "San Mateo",

	 "state" : "CA",

	 "code_postal" : "94404",

	 "country_id" : 223,

	 "address_owner_type" : "BusinessGroup",

	 "parent_address_id" : null,

	 "pays" : "États-Unis"

}

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.