• 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


Die Coupa Core-API

Unsere RESTful-API bietet robusten Zugriff zum Lesen, Bearbeiten oder Integrieren Ihrer Daten mit der Coupa-Plattform.

Erste Schritte mit der API

Allgemeine Informationen zur Verwendung der Coupa-API und wann Sie CSV verwenden sollten.

Übergang zu OAuth 2.0 und OIDC

Coupa veraltet ältere API-Schlüssel und erfordert die Verwendung von OAuth 2.0 / OIDC. Ab R34 werden keine neuen API-Schlüssel ausgegeben und API-Schlüssel werden mit R35 nicht mehr unterstützt.

Bauen Sie auf der Coupa-Plattform auf

Unsere API-basierte offene Integrationsplattform ermöglicht Technologiepartnern und unabhängigen Softwareanbietern (ISVs) die Integration ihrer Produkte in Coupa