• 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 d'exécution d'intégration

24 April 2017

Utilisez cette API pour créer, interroger ou mettre à jour une exécution d'intégration, ainsi que pour mettre à jour le statut.

API de balisage

24 April 2017

Utilisez l'API de balisage pour importer et exporter des balises vers votre système tiers.

API Motif de la contestation

05 August 2017

API de réponse d'enregistrement d'intégration

30 November 2017

Une partie ou la totalité de cette page peut avoir été traduite par machine. Toutes nos excuses pour les inexactitudes.