Hi zusammen,
ich möchte für eine Liste von Order IDs jeweils einen API Call machen. Der Identifier wird jeweils in die URL eingefügt.
Ich habe es so versucht, funktioniert allerdings nicht.
<#list spreadsheet@SearchMasterDatastore_4.getRows() as row>parcels/${row.get(„identifier“)!}</#list>
Das Ergebnis ist dann:
http://…/parcels/27452parcels/31236"
Hallo @philippm,
ich weiß nun nicht genau wie deine Ziel-URL aussehen muss, gehen aber stark davon aus, dass die „parcels/“-Route nur einmal vorhanden sein darf.
<#list spreadsheet@SearchMasterDatastore_4.getRows() as row>
parcels/${row.get(„identifier“)!}
</#list>
Du listest hier über jeden identifier, und gibst für jeden identifier-Wert folgendes aus
„parcels/“ + Wert des aktuellen identifiers den du am Wickel hast
Dadurch kommt dann sowas Zustande (ich mache es der Verständlichkeit halber in eigene Zeilen, aber am Ende wird es wie bei dir alles aneinander gehangen)
parcels/1
parcels/2
parcels/3
…
TLDR;
-
Du darfst - wenn ich mit meiner eingehehenden Annahme richtig gelegen habe - nicht „parcels/“ in die <#list>
Anweisung packen, sondern davor.
-
Du musst mit Sicherheit deine OrderIDs (in unserem Beispiel also „identifier“) trennen, das machst du mit einem <#sep>
gefolgt von deinem gewünschten Trennzeichen, also z.B. Komma
-
Absolut persönliche Präferenz und vollkommen optional: Ich würde den dynamischen Part den du gerade direkt im host erzeugst, ggf. in einem TextHTML-Writer erzeugen und dann nur noch dort verknüpfen. Da es sich im Zweifel einfacher debuggen/nachschauen lässt.
Nehmen wir abschließend an deine URL muss so aussehen:
http:/… parcels/1,2,3,4
kannst du den Part ab „parcels“ wie folgt erzeugen:
parcels/<#list spreadsheet@SearchMasterDatastore_4.getRows() as row>${row.get("identifier")!}<#sep>,</#list>
Viele Grüße,
Benjamin
Hallo Benjamin,
danke für die schnelle Hilfe. Das sieht jetzt schon viel besser aus, allerdings wird die erste ID in der URL 2 mal aufgerufen. Wie kann ich denn 2 separate Calls machen mit jeweils der Order ID hinter /parcels
Hallo @philippm,
ich habe dein Screenshot mal offline genommen (DSGVO & Co).
Ah okay, in deinem Post las es sich für mich so, dass du an die URL einfach OrderIds anhängen kannst und mit einmal mehrere Orders abrufen kannst.
Wenn du pro Order jeweils einen Abruf machen musst und die Daten dazu aus einem Datastore/Spreadsheet kommen, kannst du hierfür sehr gut den
SpreadsheetURLDownload - Step
benutzen.
Ich habe dir mal die Doku verlinkt, dort ist ein ziemlich ähnlicher Anwendungsfall zu deinem beschrieben (zumindest sieht das für mich sehr ähnlich aus).
Viele Grüße
Benjamin
den Step nutze ich ja schon…
Hat sich erledigt, ich hatte es zu komplziert gemacht…
Okay das war für mich in dem ersten Post nicht so direkt erkenntlich, ich dachte du nutzt einen normalen URLDownload bzw. API-Call.
Schau mal in die Doku, du musst eigentlich nur deine OrderID in die URL packen. Danach müsste der Step automatisch über das eingehende Spreadsheet loopen.
Grüße