• Zuletzt bearbeitet am: 16 December 2016

Unterschiede zwischen XML und json in Coupa

Datentypen in json

Für json unterstützt Coupa Folgendes: Null, boolesch, Zahl und Zeichenfolgen.  Präzision, Version und ähnliche Werte verwenden den Datentyp Zahl, wobei die Dezimalpräzision beispielsweise eine Zeichenfolge ist.  Alle nicht explizit aufgerufenen Werte verwenden den String datatype.  

Es gibt vier Unterschiede zwischen der Funktionsweise der REST-APIs von Coupa bei der Verwendung von json und der Verwendung von XML.

1. Json verwendet keinen übergeordneten Knoten

In XML erhalten wir den übergeordneten Knoten am Anfang und am Ende der Antwort. In json ist kein übergeordneter Knoten als Antwort verfügbar.

XML-Antwort

<?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">wahr</active>

	 <segment-1>segment11475848602928</segment-1>

	 <segment-2 nil="true" />

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

</account>

JSON-Antwort

{

	 "id": 43,

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

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

	 "name": "Konto_1475848721.456090234",

	 "code": "segment11475848721222",

	 "active": wahr,

	 "segment-1": "segment11475848721222"

}

2. Unterschiedliche Antwort für keine Ergebnisse

Wenn es keine Ergebnisse gibt, die mit der GET-Abfrage übereinstimmen, wirft unsere XML-Antwort einen 404-Fehler aus, wobei die JSON-Antwort ein leeres Array bereitstellt.

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

XML-Antwort

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

<errors>

	 <error>Es gibt keine Ergebnisse, die Ihren Suchkriterien entsprechen.</error>

</errors>

JSON GET-API

 [ ]

3. Verschiedene Knoten für Fehlermeldung

XML-Antwort

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

<errors>

	 <error>Segment 1 - Kostenstelle kann nicht leer sein.</error>

</errors>

JSON-Antwort

{

	 "errors": {

			"account": [

				 "Segment 1 - Kostenstelle kann nicht leer sein"

			]

	 }

}

4. Abweichende Antwort für API-Aufruf "Land in Adresse"

Nachfolgend sind die beiden Sätze von Antworten für einen POST-API-AUFRUF aufgeführt: http://localhost:3000/api/addresses

XML-Antwort

<?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>Vereinigte Staaten</name>

	 </country>

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

</address>

JSON-Antwort

{

	 "id": 99,

	 "name": "Adresse_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,

	 "Land": "Vereinigte Staaten"

}

Vergleichbare Artikel


Integrationsausführungen-API

24 April 2017

Verwenden Sie diese API, um einen Integrationslauf zu erstellen, abzufragen oder zu aktualisieren sowie den Status zu aktualisieren.

Tagging-API

24 April 2017

Verwenden Sie die Tagging-API, um Tags in Ihr Drittanbietersystem einzubringen und zu exportieren.

Grund-API anfechten

05 August 2017

Integration Datensatz-Antwort-API

30 November 2017

Hinweis: Einige Inhalte wurden maschinell übersetzt.