Beantwortet

ArtikelEdit mit der Standard API

  • 13 December 2020
  • 4 Antworten
  • 169 Ansichten

Moin.

Die Standard API Doku macht Kopfschmerzen

Ich bekomme ArtikelGet zum Laufen, aber ArtikelEdit nicht:

ArtikelGet Request: OK

POST /api/ArtikelGet HTTP/1.1Authorization: Digest username="scripts", realm="Xentral-API", nonce="xxx", uri="/api/ArtikelGet", response="xxx", opaque="xxx", qop=auth, nc=00000001, cnonce="xxx"Content-Type: application/x-www-form-urlencoded; charset=utf-8Host: erp.null-een.deConnection: closeUser-Agent: Paw/3.2 (Macintosh; OS X/10.16.0) GCDHTTPRequestContent-Length: 201

xml=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3Crequest%3E%3Cstatus%3E%3Cfunction%3EArtikelGet%3C%2Ffunction%3E%3C%2Fstatus%3E%3Cxml%3E%3Cid%3E86%3C%2Fid%3E%3C%2Fxml%3E%3C%2Frequest%3E

Decoded: <?xml version="1.0" encoding="UTF-8"?><request><status><function>ArtikelGet</function></status><xml><id>86</id></xml></request>

ArtikelEdit Request: Fehler Invalid Key (id)

POST /api/ArtikelEdit HTTP/1.1Authorization: Digest username="scripts", realm="Xentral-API", nonce="xxx", uri="/api/ArtikelEdit", response="xxx", opaque="xxx", qop=auth, nc=00000001, cnonce="xxx"Content-Type: application/x-www-form-urlencoded; charset=utf-8Host: erp.null-een.deConnection: closeUser-Agent: Paw/3.2 (Macintosh; OS X/10.16.0) GCDHTTPRequestContent-Length: 259

xml=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3Crequest%3E%3Cstatus%3E%3Cfunction%3EArtikelEdit%3C%2Ffunction%3E%3C%2Fstatus%3E%3Cxml%3E%3Cid%3E86%3C%2Fid%3E%3Clieferzeitmanuell%3E3-5+Tage%3C%2Flieferzeitmanuell%3E%3C%2Fxml%3E%3C%2Frequest%3E

Decoded: <?xml version="1.0" encoding="UTF-8"?><request><status><function>ArtikelEdit</function></status><xml><id>86</id><lieferzeitmanuell>3-5 Tage</lieferzeitmanuell></xml></request>

Danke und Gruß

Robert

 

icon

Beste Antwort von Robert Walther 13 December 2020, 17:15

Original anzeigen

4 Antworten

Hi Robert,

 

Hast du mal versucht, die ID statt im XML per GET-Parameter anzugeben? 

POST /api/ArtikelEdit?id=123

Oder alternativ könnte es funktionieren, wenn du sie im XML-Body angebist, dann aber mit dem XML-Tag "id_ext":

 

<?xml version="1.0" encoding="UTF-8"?><request><status><function>ArtikelEdit</function></status><xml><id_ext>86</id_ext><lieferzeitmanuell>3-5 Tage</lieferzeitmanuell></xml></request>

 

Viele Grüße,

Basti

Benutzerebene 1

Hi,

eine Sache die mir noch auffällt: Versuch im Header als "Content-Type"  "application/xml" statt "application/x-www-form-urlencoded". Ich hab zwar noch keinen Apizugriff mit Artikeledit gemacht, aber bei BestellungEdit ging es bei mir auch nur mit application/xml soweit ich das noch richtig im Kopf hab. Dort hab ich den Endpoint "/api/BestellungEdit" genutzt und hab die Bestellungs-ID im XML selber angegeben und nicht als GET-Parameter. 

Lars

Danke euch beiden.

 

Nutze nun id_ext und der Form halber auch den richtigen Content-Type und siehe da, es läuft.

 

Robert

@Robert Walther wenn Du deinen kompletten Request der funtkioniert einmal posten könntest wäre das super. Bei mir tritt leider das selbe Problem auf - ist jedoch mit ext_id nicht gelöst.

Danke & VG, Peter

Antworten