Gültig ab Version 8.27.0
OCI Bestellfreigabe via cXML
Funktionsbeschreibung
Wenn ein Kunde im angebundenen Beschaffungssystem (z.B. Coupa, SAP Ariba) eine Bestellung aufgibt, wird diese im Shop als "geparkte" OCI-Bestellung angelegt und wartet auf ihre Freigabe durch das Beschaffungssystem.
Die Freigabe erfolgt, indem das Beschaffungssystem ein cXML-Dokument an den Shop sendet. Darin enthalten sind die finale Bestellfreigabe, Adressdaten und die Zuordnung zu den Bestellpositionen.
Endpoint
Die Einlieferung einer "geparkten" OCI-Bestellung, die auf ihre Freigabe wartet, findet über einen POST-Request auf folgende URL statt:
wide760/oci.php]]>Der cXML-Inhalt wird als POST-Body oder als Formular-Parameter `~xmlDokument` gesendet.
Zuordnung zur Bestellung
Die Verbindung zwischen dem cXML-Dokument und der geparkten Bestellung im Shop erfolgt über den (Bestellcode).
Der OrderCode wird aus dem Feld SupplierPartID der einzelnen Bestellpositionen (ItemOut) gelesen. Dieser Code entspricht dem Bestellcode, der beim Anlegen der Bestellung im Shop vergeben wurde.
Zusätzlich wird die (orderID) des Beschaffungssystems übernommen und in der Bestellung als Referenz gespeichert.
Verarbeitete Bereiche im cXML-Dokument
1. Externe Bestellnummer (Buyer Order Number)
wide760 Request > OrderRequest > OrderRequestHeader[@orderID]]]>Das Attribut orderID des OrderRequestHeader-Elements enthält die Bestellnummer aus dem Beschaffungssystem.
|
|
|
|---|---|---|
|
| Externe Bestellnummer des Beschaffungssystems |
|
| Zusätzliche Speicherung als Order-Info |
2. OrderCode der Bestellpositionen (Zuordnung zum Shop)
wide760 Request > OrderRequest > ItemOut > ItemID > SupplierPartID]]>Jede ItemOut-Position enthält eine SupplierPartID, die dem Bestellcode der geparkten Bestellung im Shop entspricht.
|
|
|---|---|
| Bestellcode (z.B. |
| Menge der Position |
Bei mehreren Positionen wird jede SupplierPartID einzeln verarbeitet und die zugehörige Bestellung freigegeben.
3. Teilenummer (Part Number)
wide760 Request > OrderRequest > ItemOut > ItemID > SupplierPartAuxiliaryID]]>
|
|
|
|---|---|---|
|
| Zusätzliche Teilenummer/Referenz |
4. Lieferadresse (ShipTo)
wide760 Request > OrderRequest > OrderRequestHeader > ShipTo > Address]]>Die Lieferadresse wird aus dem ShipTo-Block gelesen und in der Bestellung aktualisiert:
|
|
|
|---|---|---|
|
| Firmenname |
|
| Empfänger / Ansprechpartner |
|
| Strasse und Hausnummer |
|
| Postleitzahl |
|
| Stadt |
|
| Ländercode (z.B. |
|
| E-Mail-Adresse |
|
| Telefonnummer |
5. Rechnungsadresse (BillTo)
wide760 Request > OrderRequest > OrderRequestHeader > BillTo > Address]]>Die Rechnungsadresse wird aus dem BillTo-Block gelesen und in der Bestellung aktualisiert:
|
|
|
|---|---|---|
|
| Firmenname |
|
| Empfänger / Ansprechpartner |
|
| Strasse und Hausnummer |
|
| Postleitzahl |
|
| Stadt |
|
| Ländercode (z.B. |
|
| E-Mail-Adresse |
|
| Telefonnummer |
Antwort (Response)
Der Endpoint antwortet mit einer JSON-Response:
jsonwide760
jsonwide760" }]]>
Moegliche Fehlermeldungen:
invalid xml, cannot be interpreted- Das XML-Dokument konnte nicht gelesen werdeninvalid xml, unknown document type- Das Dokumentformat wurde nicht erkanntinvalid status- Es konnte kein gültiger Bestellcode gefunden werden
Beispiel cXML-Dokument
Das folgende Beispiel zeigt ein vollständiges cXML-Dokument mit Testdaten, das für die Bestellfreigabe verwendet werden kann:
xmlwide760