API salesorders

GvWPtn

Neues Mitglied
24. Februar 2026
3
0
Ich teste die JTL-API. Ich rufe Verkaufsaufträge ab, aber es fehlen einige Daten.

Laut Dokumentation von Version 1.0-On-Premise sollten folgende Informationen abrufbar sein:
"SalesOrderShippingDetail": {
"ShippingMethodId": 0,
"DeliveryCompleteStatus": 0,
"ShippingPriority": 0,
"ShippingDate": "2019-08-24T14:15:22Z",
"EstimatedDeliveryDate": "2019-08-24T14:15:22Z",
"DeliveredDate": "2019-08-24T14:15:22Z",
"OnHoldReasonId": 0,
"ExtraWeight": 0
},

Ich erhalte jedoch folgende Informationen:
"SalesOrderShippingDetail": {
"ShippingMethodId": 0,
"DeliveryCompleteStatus": 0,
"ShippingPriority": 0,
"ExtraWeight": 0.0
},

Ich vermisse unter anderem „EstimatedDeliveryDate“. Was mache ich falsch?
 

Morimus

Sehr aktives Mitglied
16. Mai 2019
345
88
Vielleicht postest du einmal den genauen Request.
Also den aufgerufenen Endpoint inklusive Parameter, sowie idealerweise einen Beispiel-Response.

Dann kann man besser beurteilen, ob die Felder grundsätzlich nicht geliefert werden oder ob sie durch die konkrete Abfrage nicht enthalten sind.
 

GvWPtn

Neues Mitglied
24. Februar 2026
3
0
Request: http://192.168.???.??:????/api/eazybusiness/v1/salesOrders/2

Response:
{
"Id": 2,
"Number": "AU-202603-10001",
"ExternalNumber": "EXTERNE ORDER",
"CompanyId": 1,
"DepartureCountry": {
"CountryISO": "NZ",
"CurrencyIso": "EUR",
"CurrencyFactor": 1.0000000000000
},
"CustomerId": 1,
"MerchantVatID": "",
"BillingAddress": {
"Company": "????",
"Street": "????",
"PostalCode": "????",
"City": "Putten",
"CountryIso": "NL"
},
"Shipmentaddress": {
"Company": "????",
"Street": "????",
"PostalCode": "????",
"City": "Putten",
"CountryIso": "NL"
},
"SalesOrderDate": "2026-03-17T22:25:47.297+01:00",
"SalesOrderPaymentDetails": {
"PaymentMethodId": 1,
"PaymentStatus": 2,
"TotalGrossAmount": 0.0000000000000,
"CurrencyIso": "EUR",
"CurrencyFactor": 1.0000000000000,
"DateOfPayment": "2026-03-17T22:25:47.297+01:00",
"StillToPay": 0.0000000000000,
"PaymentTarget": 0,
"CashDiscount": 0.0,
"CashDiscountDays": 0
},
"SalesOrderShippingDetail": {
"ShippingMethodId": 0,
"DeliveryCompleteStatus": 0,
"ShippingPriority": 0,
"ExtraWeight": 0.0
},
"IsExternalInvoice": false,
"IsCancelled": false,
"LanguageIso": "nl",
"CancellationDetails": {
"Date": "0001-01-01T00:00:00+00:00"
},
"SalesChannelId": "1-1-1",
"UserCreatedId": 1,
"UserId": 1
}
 

Morimus

Sehr aktives Mitglied
16. Mai 2019
345
88
Das könnte durchaus ein ähnlicher Fall sein wie bei Company2 und Address2 im Shipmentaddress-Objekt.
Ich hatte damals auch den Fall, dass die Felder laut Modell vorhanden waren, bei GET aber nicht ausgelesen wurden. Der Support hat das bestätigt.

Hier könnte es also ebenfalls sein, dass ShippingDate, EstimatedDeliveryDate und DeliveredDate zwar im Schema von SalesOrderShippingDetail definiert sind, vom GET /salesOrders/{id} aber nicht zuverlässig geliefert werden.

Unabhängig davon würde ich, falls deine Wawi-Version es zulässt, auch einen Blick auf die neuere API-Version werfen.
Im offiziellen Changelog sind viele ältere Endpunkte in Richtung 2.0 bereits als „removed with deprecation“ markiert.
Das heißt nicht automatisch, dass dein aktueller Call falsch ist, aber mittel- bis langfristig ist der Wechsel auf die neuere API vermutlich die sauberere Richtung.
 

Ähnliche Themen