ShopifyCreateRefund errors:"refund_line_items.line_item":["can't be blank"]

Hallo zusammen,

wir nutzen Shopify als Vertriebskanal. SinglePointOfTruth ist Tradebyte. Von dort kommen neben den Versandbestätigungen auch Meldungen, wie „Kein Bestand“ und „Retourniert“.

Mit beiden wollte ich dann in Shopify mithilfe des Steps „ShopufyCreateRefund“ die Positionen aktualisieren.

Leider bekomme ich eine Fehlermeldung, welche ich nicht nachvollziehen kann.

errorMessage: HTTP status: 422 (Unprocessable Entity), Response Content: {„errors“:{„refund_line_items.line_item“:[„can’t be blank“]}}:

Fehlt hier im Step ein Feld?
Das gilt für beide Step-Versionen (2023 & 2024) Weder in der Synesty-Doku noch in der Step-Konfiguration sind Pflichtfelder hinterlegt.

  row 1 : method: POST: 
  row 1 : host: https://e97169.myshopify.com/admin/api/2024-01/orders/6176937410890/refunds.json: 
  row 1 : requestBody: {
  "refund": {
    "note": "TB Message Type: NO_INVENTORY",
    "notify": true,

    "refund_line_items": [
      {
        "line_item_id": 16026550010186,
        
        "quantity": 1,
        "restock_type": "no_restock"
      }
    ],
        "shipping": {
            "full_refund": true
        },
      "currency": "EUR"
  }
}: 
  row 1 : statusCode: : 
  row 1 : statusMessage: : 
  row 1 : responseHeaders: : 
  row 1 : responseFilename: : 
  row 1 : error: : 
  row 1 : source_order_id: 6176937410890: 
  row 1 : source_line_item_id: 16026550010186: 
  row 1 : responseContent: : 
  row 1 : errorMessage: HTTP status: 422 (Unprocessable Entity), Response Content: {"errors":{"refund_line_items.line_item":["can't be blank"]}}: 

Laut Shopify API gibt es auch den Parameter „line.item“, welcher auch leer sind kann. Dieser scheint in dem Call zu fehlen.

Wieder mal vielen Dank vorab für die Hilfe!

Hallo Tobias,

ich habe das getestet. Die Fehlermeldung wird von der Shopify API ausgegeben, wenn die line_item_id nicht korrekt ist. Kannst du bitte noch einmal prüfen ob sie mit Shopify übereinstimmt?

Die Id kann mit shopifyGetOrders abgerufen werden und heißt dort im Output line_items_id.

Viele Grüße
Felix

Ich nutze den OrderFulfillments Output aus dem @shopifyGetOrders.
Hier ist die „line_items_id“ eine Andere, als im Output GetOrders.

Bei beiden ist der Name identisch, jedoch hat andere Werte beinhaltet.

Um hier ans Ziel zu kommen, musste ist aus dem OrderFulfillments Output den Wert von „line_items_line_item_id“ nehmen, da sich die hier die tatsächliche „line_items_id“ versteckt.

Danke @synesty-Felix

1 „Gefällt mir“