Hallo,
ich versuche per Rest (Post) auf /api/search/order offene Bestellungen in einem bestimmten Status abzuholen. Ich habe mir jetzt einen body zusammengeraten, in dem hoffentlich alle für mich relevanten Informationen vorhanden sind: Bestellnummer, Lieferadresse, Bestellpositionen (Mengen, Artikel). Der Response ist allerdings recht kompliziert zu lesen. Z.B. Muss man, um herauszufinden, welche Adresse die Lieferadresse ist, erst im Feld shippingOrderAddressId nach der ID suchen und anschließend die passende Adresse nehmen. Ähnlich ist es mit dem Verhältnis von Bestellpositionen und Artikeln. Die Bestellposition enthält nur die ArtikelID, weitere Infos muss man dann über die ID suchen.
Ich frage mich jetzt: Ist es wirklich soooo kompliziert oder habe ich etwas übersehen? Kann man die notwendigen Informationen auch übersichtlicher bekommen? Gibt es irgendwo in der Doku praxistaugliche Beispiele und eine Liste mit Attributen, damit man die Anfragen zusammen bauen kann ohne ständig raten zu müssen?
Viele Grüße
Susanne
Hier mein Body:
{
"associations": {
"transactions": {
"associations": {
"stateMachineState": []
}
},
"addresses": {
"associations": {
"country": [],
"countryState" :[]
}
},
"lineItems": {
"associations": {
"product": []
}
},
"deliveries": {
"associations": {
"shippingOrderAddress":{}
}
},
"stateMachineState": {}
},
"filter": [
{
"value": "open",
"field": "order.stateMachineState.technicalName",
"type": "equals"
},
{
"value": "paid",
"field": "transactions.stateMachineState.technicalName",
"type": "equals"
},
{
"value": "open",
"field": "deliveries.stateMachineState.technicalName",
"type": "equals"
}
],
"includes": {
"order_transaction": [
"id",
"stateMachineState"
],
"order_customer": [
"email"
],
"order": [
"id",
"orderNumber",
"createdAt",
"lineItems",
"billingAddressId",
"salesChannelId",
"addresses",
"deliveries",
"salesChannelId",
"salesChannel",
"stateMachineState",
"transactions",
"orderCustomer",
"shippingTotal"
],
"order_line_item": [
"id",
"position",
"quantity",
"unitPrice",
"productId",
"product"
],
"country": [
"iso"
],
"product": [
"productNumber",
"name"
],
"sales_channel": [
"id",
"name",
"paymentMethodId",
"paymentMethods"
],
"order_address": [
"id",
"firstName",
"lastName",
"street",
"zipcode",
"city",
"company",
"department",
"countryId",
"country"
],
"state_machine_state": [
"id",
"technicalName"
],
"order_delivery": [
"id",
"shippingOrderAddressId",
"firstName",
"lastName",
"street",
"zipcode",
"city",
"company",
"department",
"countryId",
"country"
]
}
}