Line_Item_Id in Shopify

Hallo zusammen,

bei der Erstellung von Bestellungen via ShopifyCreateOrders werden in dem Header-Datastore ja die Order-Id und einige weiteren Informationen aus Shopify abgespeichert. Könnte ihr dasselbe auch in dem Datastore mit den Bestellpositionen umsetzen? Diese kriegen ja eine Line_Item_Id zugewiesen, die man auch mit unter wieder zurück an Shopify melden muss.
Zum Beispiel bin ich beim OrderFulfillment-Step grade auf diese IDs angewiesen.

Ich lese die jetzt selbst nach Auftragserstellung aus. Sehe aber keinen Grund, warum die nicht schon bei der Erstellung der Bestellung eingetragen werden sollen. Oder fehlen diese in der Antwort von Shopify?

Gruß
Gustav

Hallo @gustavfriedeheim,

ich schau mal ob die in der Response mitkommt, wenn ja lasse ich sie in den Datastore schreiben.

Viele Grüße
Lukas

Hallo @synesty-Lukas,

danke erstmal für die Antwort.

Die Line_Item_Ids verwendet ich beim OrderFulfillment. Dort ist mir aber am Wochenende noch aufgefallen, dass der Step garnicht mehr von euch unterstützt wird. Übersehe ich da eine neue Alternative oder unterstützt ihr das im Moment garnicht?

Hatte das auch schonmal in dem alten Post zur neuen API-Version gefragt.

Das Orderfulfillment ist für mich ganz klar Prio A, die Line_Item_IDs habe ich ja im Grund schon auf Umwegen selbst abgefragt. Die direkt aus dem CreateOrders-Step zu kriegen, ist nur ein Nice-to-have.
Wenn ihr in Richtung OrderFulfillment nichts bietet, muss ich mir relativ schnell selbst was mit APICalls zusammen basteln. Daher wäre es sehr gut zu wissen, ob ihr da kurzfristig was liefern könnt.

Danke!
Gustav

Hallo @gustavfriedeheim,

habe gerade mal die neue Route für das Fulfillment gesucht und zum Glück auch gefunden. Wir versuchen noch diese Woche hinzuzufügen.

Viele Grüße
Lukas

1 „Gefällt mir“

Hallo @gustavfriedeheim,

es gibt jetzt eine neue Version des ShopifyOrderFulfillment 2023-01.
Diese Version verhält sich etwas anders, und zwar musst du die fulfillment_order_id übergeben statt wie zuvor die order_id. Sind tatsächlich zwei unterschiedliche.
Um an die fulfillment_order_id zu kommen gibt es beim ShopifyGetOrders eine neue Option „fulfillments“ diese musst du auf yes stellen um an die entsprechenden IDs zu kommen.

Viele Grüße
Lukas

Hallo @synesty-Lukas,

sehr cool, danke für die schnelle Reaktion. Leider kriege ich aber nur zu einer von 15 Bestellungen die Fulfillment-ID. Gibt es dabei noch was zu beachten?

Gruß
Gustav

Hallo Gutav,

da sollte es eigentlich nicht weiter zu beachten sein. Ich habe gerade nochmal in den Step geschaut… Der sollte für jede Zeile des Spreadsheets die entsprechenden Daten ausgeben. Wenns die ID nicht im System gibt sollte auch kommen die Zeilen in den „failedItems“ Output. Eventuell geht daraus hervor warum nicht alle IDs raus kommen…

Grüße Rocco

Hallo Rocco,

das Problem ist auch nicht der OrderFulfillment-Step selbst. Ich kriege aus dem GetOrders-Step garnicht erst die Fulfillment-IDs genannt. Die einzige Bestellung, für die ich eine Fulfillment-ID kriege, ist eine, bei der Fulfillment bereits manuell abgewickelt wurde.

Wenn ich Lukas richtig verstehe, brauche ich ja die ID aus GetOrders, um den OrderFulfillment-Step zu benutzen.

EDIT: Programm ist gelöst. Der Fulfillment_orders.json-Endpunkt hatte eben immer ein leeres Array zurückgeliefert. In der Doku zu dem Endpoint steht:

An API client will only receive a subset of the fulfillment orders which belong to an order if they don’t have the necessary access scopes to view all of the fulfillment orders. In the case that an API client does not have the access scopes necessary to view any of the fulfillment orders belongs to an order, an empty array will be returned.

Ich habe mir jetzt noch die Rechte für merchant_managed-, third_party- und custom_fulfillmentservices und nun kriege ich auch das Spreadsheet mit Fulfillment-IDs geliefert.

Gruß
Gustav

1 „Gefällt mir“

Fulfillments klappen soweit bei meinen Tests. Aber kann es sein, dass die Fulfillment-APICalls sich nicht an das konfigurierte API-Ratelimit aus dem Shopify-Konto halten? Ich kriege in dem GetOrders, wo die Fulfillment-IDs abgefragt werden, häufiger 429-Fehler „Too many requests“.

EDIT: Außerdem läuft der Step anscheinend in Fehler, wenn man durch Filterung o.ä. keine Bestellungen abruft. Das finde ich so auch nicht richtig.

Hallo @gustavfriedeheim,

vielen Dank für den Hinweis. Beide Fälle sollten nun nicht mehr auftreten. Ich hatte als Bedingung, dass die fulfillments abgerufen werden, nur gesetzt ob das auf „yes“ gesetzt ist und nicht ob es auch überhaupt Aufträge kommen.
Ratelimit ist jetzt auch das gleich wie beim Aufträge abrufen.

Viele Grüße
Lukas

1 „Gefällt mir“

Hallo @synesty-Lukas,

jetzt muss ich hier nochmal nerven. Ich brauche natürlich auch die Möglichkeit, Bestellpositionen zu stornieren. Ist das auch noch drin :slight_smile: ?

Gruß
Gustav

Hallo @synesty-Lukas,

kannst du mir dazu schon was sagen? Kommt da die Tage was? Letzte Woche wart ihr ja anderweitig beschäftigt.

Ansonsten muss ich das nächste Woche selbst über GraphQL angehen.

Gruß
Gustav

Hallo @gustavfriedeheim,

werde ich mir heute gleich mal anschauen und dir auch im Laufe des Tages bescheid geben, ob und wie wir das unterstützen.

Viele Grüße
Lukas

Hallo @gustavfriedeheim,

kannst du mir mal bitte die genaue Bezeichnung nennen, was du mit „stornieren“ in Shopify meinst? Vllt. auch mit Screenshot, wie so eine stornierte Bestellposition aussieht.

Meinst du das bei einer einem Fulfillment?
image

Viele Grüße
Lukas

Hallo Lukas,

ich müsste auf Positionsebene einen Refund auslösen. Also eine Bestellung mit mehreren Positionen kommt rein, aber eine Position kann garnicht mehr beliefert werden. Dann sollen ja nur die verfügbaren Positionen beliefert werden und die nicht verfügbare Position storniert werden.

Im Backend gibt es dafür einen Knopf „Refund“. Hier ein Screenshot davon:

Und hier noch die API-Referenz dazu:

Im Endeffekt möchte ich für eine von mir vorgegebene Liste an Positionen so einen Refund auslösen. Am besten ähnlich wie der OrderFulfillment-Step mit eine Zeile pro Bestellung und eine Key-Value-Liste für die Angabe der Refunds und Refundmengen.

Shipping-Kosten werde ich vermutlich nie refunden müssen, aber vielleicht kann man hier ein Feld vorsehen für No Refund/Fullrefund/Specific_Amount?

Gruß
Gustav

Hallo @gustavfriedeheim,

denke ich bekommen wir hin. Ich würde das dann so bauen, dass man pro Zeile eine Position angeben kann, damit sollten die individuellen Parameter entsprechend gut übergeben werden.

Ich denke spätestens morgen solltest du es nutzen können. Ich gebe dir dann nochmal bescheid.

Viele Grüße
Lukas

Hallo @gustavfriedeheim,

kurzes Lebenszeichen von mir. Step ist noch in Arbeit. Es hat erstmal bisschen gedauert, bis ich es im Postman zum laufen gebracht habe.
Der Step kommt aber die nächsten Tage.

Viele Grüße
Lukas

Hallo @synesty-Lukas,

ich bin die letzten Tage krankheitsbedingt ausgefallen. Den Go-Live haben wir dadurch auch weiter nach hinten geschoben. Ich gedulde mich, bis der Step fertig ist.

Gruß
Gustav

Hallo @synesty-Lukas,

gibt es schon was neues zu dem Step?

Hallo @gustavfriedeheim,

es gibt jetzt den shopifyCreateRefund Step im Beta Add-On. Ein Hinweis dazu, die transaction_id sollte ausgefüllt sein, wenn du das nicht machst, wird die Position im Shopify Backend lediglich removed.
Und wenn die transaction_id gefüllt ist muss mindestens auch payment_gateway gefüllt sein.

Die transaction_id bekommst du übrigens mit shopifyGetOrderTransaction abgerufen.

Viele Grüße
Lukas