Inhalte aufrufen

Profilbild
- - - - -

Mehrere Sendungen mit Web API anlegen

Sendung Web API JSON

  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
2 Antworten zu diesem Thema

#1 Ralf Ehlert

Ralf Ehlert

    Newbie

  • Members
  • Punkt
  • 4 Beiträge

Geschrieben: 29 December 2016 - 20:07

Hallo zusammen,

 

ich binde in einer eigener .NET C# Anwendung unseren SmartStore WebShop an, um die Statusänderungen für die Bestellungen zu verwalten (bezahlt, Sendungsnummern erfassen etc).

 

Einige Bestellungen umfassen mehrere Positionen und müssen auf mehrere Pakete verteilt werden, demzufolge muss ich mehrere Sendungsnummern pflegen. Das normale Web-Admin-UI des Shops beherrscht dies, über die WebAPI bekomme ich das aber nicht realisiert.

 

Nachdem  ich festgestellt habe, dass die Methode AddShipment nicht passt zu meinen Anforderungen, dachte ich, lege ich selber Shipment-Objekte an und entsprechende ShipmentItem-Objekte.

 

Beim Anlegen von Shipments via Post-Aufruf bekomme ich lediglich HTTP 400 Fehler - ungültige Anforderung.

 

Mein JSON Body sieht wie folgt aus:

{
  "OrderId": 13,
  "CreatedOnUtc": "2016-12-29T18:50:27.5659609Z",
  "TrackingNumber": "1Z30W7666824864381",
  "TotalWeight": 2.8000
}
 
An folgende URL wird der Post-Aufruf durchgeführt: 
http://<domain>/odata/v1/Shipments
 
Im ähnlichen Stil werden Patch-Anfragen durchgeführt, die problemlos funktioniert.
 
Ich habe auch schon verschiedene Formate für CreatedOnUtc probiert sowie es komplett nicht anzugeben - es ändert am HTTP 400 Status aber nix.
 
Weiß jemand Rat? Danke!
 


#2 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3831 Beiträge

Geschrieben: 29 December 2016 - 21:17

Der Response enthält einen odata.error, der näheres über die Ursache verrät. Findet man bei einem POST die Ursache nicht, hilft oft ein Blick auf den GET Response. Demnach müsste der Body so aussehen:
{"OrderId":13,"TrackingNumber":"1Z30W7666824864381","TotalWeight":"2.8000","CreatedOnUtc":"2016-12-29T18:50:27.5659609Z"}

Marcus Gesing

Smartstore AG


#3 Ralf Ehlert

Ralf Ehlert

    Newbie

  • Members
  • Punkt
  • 4 Beiträge

Geschrieben: 30 December 2016 - 18:02

Hallo Marcus,

 

vielen Dank für deine Antwort und deine Tipp - hat geholfen :)




Auch markiert mit einem oder mehrerer dieser Schlüsselwörter: Sendung, Web API, JSON