Wir möchten über der API von unserer Versandsoftware bei Warenausgang die Lagerzahlen reduzieren.
Dazu möchte ich über die REST API einen abgeschlossenen Auftrag anlegen und hoffe, dass sich darüber die Lagerzahlen entsprechend updaten.
Digest Auth funktioniert. Leider bekomme ich aber zurück:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<status>
<action>AuftragCreate</action>
<message>Invalid key (id)</message>
<messageCode>5</messageCode>
</status>
<xml>address not found</xml>
</response>
Diese beiden Themen hatten das gleiche Problem, haben mir aber nicht bei der Problemlösung geholfen:
Mein Request-Body:
<?xml version="1.0" encoding="UTF-8"?>
<request>
<status>
<function>AuftragCreate</function>
</status>
<xml>
<kundennummer>10008</kundennummer>
<artikelliste>
<position>
<nummer>1</nummer>
<preis>9.99</preis>
<menge>2</menge>
<waehrung>EUR</waehrung>
</position>
</artikelliste>
</xml>
</request>
Die Kundennummer ist definitiv im System
Hier der gesamte Node.js Code
import convert from "xml-js"
import {request} from "urllib";
const auftrag = {
"kundennummer": 10008,
"artikelliste": {
"position": p
{
"nummer": 1,
"preis": 9.99,
"menge": 2,
"waehrung": "EUR"
},
]
}
}
const req = {
request: {
status: {
function: "AuftragCreate"
},
xml: auftrag,
}
}
const requestXMLString = '<?xml version="1.0" encoding="UTF-8"?>\n' + convert.json2xml(JSON.stringify(req), {compact: true, spaces: 4});
console.log(requestXMLString)
const url = 'https://*********.xentral.biz/api/AuftragCreate';
const options = {
content: requestXMLString,
method: 'POST',
streaming: true,
digestAuth: "************:**********",
};
console.log(requestXMLString)
const response = await request(url, options);
const responseText = await response.res.text();
console.log(responseText)
Hat hier jemand eine Idee woran es liegen könnte?
Xentral-Version: 23.0.8
Ich bin schon einigermaßen frustriert, da ich schon diese Schritte hinter mir habe:
- die neue Xentral API implementiert → Benötigte Endpunkte nicht vorhanden
- Die REST API Digest Auth implementiert habe → Benötigte Endpunkte nicht vorhanden
- Standard API Zugriff über REST API Digest gebaut habe → keine JSON Unterstützung → XML Konvertierung
- …
Gruß
Niklas