Plentymarkets: Umbuchung (Auftragstyp) anlegen

Hi,
ich würde gerne in Plentymarkets Umbuchungen anlegen. Also keine Warenbewegungen, sondern den Auftragstyp diesen Namens. Verbirgt sich im Menü unter Waren > Bestellungen, wie die Nachbestellungen.

Im Usecase haben wir bereits eine Umbuchung, aus einem Lager ins Transitlager. Nun wollen wir deren „Bruder“ anlegen, der vom Transitlager ins Ziellager bucht. Die dann noch nicht gebucht, so dass wir nur noch das tun müssen wenn die Ware ankommt.

Konkret rufe ich mir diese erste Umbuchung mit einem PlentySearchOrders ab, teile in Head- und Body-Bereich, und schreibe das in zwei Master-Child Datastores vom Schema PlentyRESTOrder bzw PlentyRESTOrderItem.


Einschub: an der Stelle moniert mir das DS-Backend, dass meine orderType mit Wert 15 nicht in der „allowed list“ (1 bis 13) sei.

Weiß nicht ob ich deshalb schon scheitere? Eher nicht, der Datastore nimmt den Wert ja trotzdem.

Einschub Ende.


In den Datastores belege ich nicht alle Felder. Bin aber auch nicht sicher, ob es daran liegt. Konkret:

im Kopf
  • plentyID
  • ownerID
  • orderStatus
  • warehouseID
  • orderType
  • orderID
in den Positionen
  • identifier
  • master_identifier
  • variantId
  • quantity
  • itemText
  • warehouseID
  • price
  • priceNet
  • VAT
  • vatCountryId
  • currency
  • itemRebate
  • isRebatePercentage
  • itemReturnStatus
  • externalItemId

…und das ganze werfe ich dann gegen einen PlentyAddOrders. Das Log sagt leider rein gar nichts zum Erfolg:

2022-10-18 19_37_30-Eventlog 8a840496-4f32-11ed-bc44-901b0ea49fee - Synesty Studio - https___apps.sy
(Log Ende)


Den PlentySetBookReorderItems habe ich mir auch angeschaut, passt aber auch nicht.

Geht das denn überhaupt? Wenn ja, wie? :wink:
Danke Daniel

Hallo Daniel.

ich bin mir nicht sicher, ob es mit dem PlentyAddOrders Step möglich ist Umbuchungen anzulegen.
Im Log des PlentyAddOrders Steps sollte aber zumindest etwas mehr stehen.

Wenn ich es richtig verstanden habe, hast du die Spalte orderID gefüllt. Das wir mit dem Step nicht funktionieren, da diese Spalte automatisch mit der ID der angelegten Bestellung (oder Umbuchung) befüllt wird. Wenn die Spalte schon gefüllt ist, wird der Datensatz bei der Ausführung auf „PROCESSED_SUCCESS“ gesetzt und nicht nochmal übermittelt. Kannst du es bitte nochmal ohne orderID probieren ?

Viele Grüße
Torsten

1 „Gefällt mir“

Hi Torsten,

Im Eventlog? Leider nein :confused:

Ich bin jetzt aber einen Schritt weiter:

Ich übergebe dem DatastoreWriter eine leere orderID, benötige aber weiter einen Identifier, was die orderID (in einem anderen Feld) ist.

Damit läuft der AddOrders ein Stück weiter:

Hm, CountryID, gibts doch im DS-Schema gar nicht? :thinking: Wohl aber billingCustomerCountryID und deliveryCustomerCountryID, also belege ich die entsprechend beide mit meiner OrderCustomerAddressCountryID direkt aus Plenty. Ändert nur leider nichts an der Fehlermeldung, die bleibt bestehen.

Wobei so eine Umbuchung ja auch gar kein Land hat, der Empfänger ist ein Lager. Wenn ich eine bestehende Umbuchung per API abrufe, sind nur diese Felder belegt:

Head
  • OrderHeadOrderID
  • OrderHeadOrderTypeID
  • OrderHeadOrderType
  • OrderHeadOrderStatus
  • OrderHeadResponsibleID
  • OrderCreatedAt
  • OrderUpdatedAt
  • OrderCreatedOnAt
  • OrderPlentyID
  • OrderHeadIsSystemCurrency
  • OrderHeadCurrency
  • OrderHeadExchangeRatio
  • OrderHeadIsNetto
  • OrderHeadTotalNetto
  • OrderHeadTotalBrutto
  • OrderHeadTotalVAT
  • OrderHeadTotalInvoice
  • OrderHeadPaidAmount
  • OrderHeadTaxlessAmount
  • OrderHeadPrepaidAmount
  • OrderHeadGiftCardAmount
  • OrderHeadPaymentStatus
  • OrderDocumentLanguage
  • OrderHeadReferrerID
  • OrderHeadShippingCosts
  • OrderHeadShippingCostsNet
  • OrderID
  • OrderProperties
Body
  • OrderItemsIdentifier
  • OrderItemsRowID
  • parent_identifier
  • OrderItemsOrderID
  • OrderItemsVariantID
  • OrderItemsItemText
  • OrderItemsTypeID
  • OrderItemsType
  • OrderItemsQuantity
  • OrderItemsAmountPriceBrutto
  • OrderItemsAmountPriceNetto
  • OrderItemsAmountCurrency
  • OrderItemsAmountSurcharge
  • OrderItemsAmountDiscount
  • OrderItemsAmountPriceOriginalBrutto
  • OrderItemsAmountPriceOriginaNetto
  • OrderItemsAmountIsSystemCurrency
  • OrderItemsAmountExchangeRatio
  • OrderItemsAmountPurchasePrice
  • OrderItemsVariantItemID
  • OrderItemsVariantIsMain
  • OrderItemsVariantNumber
  • OrderItemsVariantModel
  • OrderItemsVariantAvailabilityID
  • OrderItemsVariantPurchasePrice
  • OrderItemsVariantWidthMM
  • OrderItemsVariantLengthMM
  • OrderItemsVariantHeightMM
  • OrderItemsVariantWeightG
  • OrderItemsVariantWeightNetG
  • OrderItemsID
  • OrderItemsProperties
  • OrderItemsStorageLocationQuantity
  • OrderItemsStorageLocationBatch
  • OrderItemsStorageLocationBestBeforeDate

→ da ist kein Land dabei das ist setzen könnte oder sollte.
Ich frag das mal im Plentyforum an und markiere euch…

Grüße Daniel

Hö, habt ihr was an eurem Debug-Modus geändert? Ich hätte mir ein ausführliches Log in ner Zip erhofft, hab aber nur noch diese drei Buttons:

2022-10-21 17_31_00-Eventlog f7c11a2c-517e-11ed-8715-901b0ea49fee - Synesty Studio - https___apps.sy

Der dritte Button ergibt ein CSV das den Eventlog in Tabellenform enthält, ein bisschen mehr verbose:

Ich wollt egtl die exakten Calls raus suchen die ihr verwendet, um die Plenty zu melden. Wo ist das hin @synesty-Torsten?

Danke Daniel

Vermutung: Lade mal den Eventlog erneut (mit Page refresh) und prüfe ob hier steht „Debug Mode Enabled“.
image

Manchmal gibt es evtl. einen Effekt, dass der Button erst nach einem Page-Refresh auftaucht. Wir prüfen das nochmal. Scheint nicht immer zu passieren.