API Get Funktion richtig konfigurieren
Hallo, ich versuche gerade Daten mittels API abzufragen. Aber ich bekomme immer einen API-Fehler und ich verstehe nicht warum. Geschafft habe ich, über ein script mit meinen Logindaten einen Token zu erhalten. Wenn ich dann aber versuche tatsächlich Daten zu ziehen, gibt es immer den Error. Das ist mein Script:
let response := http("GET", "https://XXXXX.de/de/v1/product_variants/quantity_id/8789961", {
Authorization: "Bearer Mein Token"
}, null);
if response.error then
alert(text(response.error))
else
alert(text(response.result))
end
Sieht jemand einen offensichtlichen Fehler?
Liebe Grüße
Paul
6 Antworten
-
Hallo Paul....
... dazu wäre es natürlich hilfreich zu wissen, welche API du da anfragst... und wie die API Dokumentation aussieht.... und welchen Fehler du bekommst....
Ich tippe mal auf die shopify API ...?
-
Das Problem hatte ich auch, es half mir das so umzubauen: mit einem "do as server"
let response := do as server http("GET", "https://XXXXX.de/de/v1/product_variants/quantity_id/8789961", { Authorization: "Bearer Mein Token" }, null); if response.error then alert(text(response.error)) else alert(text(response.result)) end
Copy
-
Sehr gut... ich würde den http Befehl aber grundsätzlich in ein "do as server" packen, dann sollte es auch bei Trigger nach Änderung eines Feldes gehen...
let response := do as server http("GET", "https://XXXXX.de/de/v1/product_variants/quantity_id/8789961", { Authorization: "Bearer Mein Token" }, null) end;
-
Jetzt brauche ich doch nochmal eure Hilfe.
Ich habe eine Tabelle Produkte mit einer Untertabelle Produktvariationen in der ersten Tabelle stehen alle Produkte z.B. Plakate DIN A1 und in der Untertabelle alle Variationen, z.B. 10 Stück, 20 Stück...
Ich schaffe es die Werte in der Untertabelle mittels API einzutragen. Muss dann aber in jedem Datensatz auf den Button für die API-Anfrage drücken. Schicker wäre es in der Tabelle Produkte einen Button zu haben, der alle verknüpften Datensätze abfragt und aktualisiert. Das bekomme ich aber nicht hin.
Hier ist das Script, dass in der Untertabelle funktioniert:
let response := do as server http("GET", "https://resellerapi.flyeralarm.com/de/v1/product_variants/quantity_id/" + 'Variations ID', { Authorization: "Bearer " + 'API Token' }, null) end; if response.error then alert(text(response.error)) else let daten := response.result; let datenUebertragenZaehler := 0; for item in daten.quantities do if item.quantity_id = 'Variations ID' then 'EK Standard' := item.Standard_price; datenUebertragenZaehler := datenUebertragenZaehler + 1; 'Lieferzeit Standard' := item.Standard_to; datenUebertragenZaehler := datenUebertragenZaehler + 1; Auflage := item.quantity; datenUebertragenZaehler := datenUebertragenZaehler + 1; 'Deadline Standard' := item.Standard_deadline; datenUebertragenZaehler := datenUebertragenZaehler + 1; if item.Express_available then 'Lieferzeit Express' := item.Express_to; 'EK Express' := item.Express_price; 'Deadline Express' := item.Express_deadline; datenUebertragenZaehler := datenUebertragenZaehler + 3 end; if item.Overnight_available then 'Lieferzeit Overnight' := item.Overnight_to; 'EK Overnight' := item.Overnight_price; 'Deadline Overnight' := item.Overnight_deadline; datenUebertragenZaehler := datenUebertragenZaehler + 3 end end end; for attribute in daten.attributes do if attribute.attribute_name = "Format" then Format := attribute.attribute_value; datenUebertragenZaehler := datenUebertragenZaehler + 1 end; if attribute.attribute_name = "Material" then Material := attribute.attribute_value; datenUebertragenZaehler := datenUebertragenZaehler + 1 end; if attribute.attribute_name = "Farbigkeit" then Farbigkeit := attribute.attribute_value; datenUebertragenZaehler := datenUebertragenZaehler + 1 end; if attribute.attribute_name = "Veredelung" then Veredelung := attribute.attribute_value; datenUebertragenZaehler := datenUebertragenZaehler + 1 end end; 'Abfrage Datum' := today(); if datenUebertragenZaehler > 0 then alert(datenUebertragenZaehler + " von 14 Daten erfolgreich übertragen.") else alert("Keine Daten übertragen. API Token überprüfen.") end end
und hier mein Versuch es abzuändern:
for produktvariation in Produktvariationen do let produktvariationId := produktvariation.'Variations ID'; let response := do as server http("GET", "https://resellerapi.flyeralarm.com/de/v1/product_variants/quantity_id/" + produktvariationId, { Authorization: "Bearer " + Produktvariationen.'API Token' }, null) end; if response.error then alert("Fehler bei der Anfrage für Produktvariation ID " + produktvariationId + ": " + text(response.error)) else let daten := response.result; let datenUebertragenZaehler := 0; for item in daten.quantities do if item.quantity_id = produktvariationId then produktvariation.('EK Standard' := item.Standard_price); datenUebertragenZaehler := datenUebertragenZaehler + 1; if item.Express_available then produktvariation.('EK Express' := item.Express_price); datenUebertragenZaehler := datenUebertragenZaehler + 1 end; if item.Overnight_available then produktvariation.('EK Overnight' := item.Overnight_price); datenUebertragenZaehler := datenUebertragenZaehler + 1 end end end; if datenUebertragenZaehler > 0 then alert(datenUebertragenZaehler + " Preise erfolgreich aktualisiert für Produktvariation ID " + produktvariationId) else alert("Keine Preise aktualisiert für Produktvariation ID " + produktvariationId) end end end
Das funktioniert aber leider nicht.
Content aside
- vor 10 MonatenZuletzt aktiv
- 6Antworten
- 95Ansichten
-
3
Folge bereits