NEWS
UNSOLVED Werte von Bitpanda abrufen
-
@dasbo1975 sagte in Werte von Bitpanda abrufen:
z.b. aus https://api.bitpanda.com/v1/fiatwallets/transactions
Na Du machst halt parallel die HTTP-Request Nodes und verfährst halt entsprechend. Ob Du alle gemeinsam triggerst oder zu unterschiedlichen Zeiten - bleibt Dir überlassen. Ich würde halt den http Request Nodes entsprechende Namen geben.
-
@mickym
ja, das habe ich schon gemacht mit den Namen. Ich scheitere gerade an dem Punkt wo ich die Daten in die Change Note eintragen muss. -
Ja dann musst Du halt sagen, was Du für Daten brauchst. Ansonsten wenn Dir das zu kompliziert ist, dann nimm halt das komplette 1. Objekt.
Damit setzt Du die payload komplett auf das 1. data Objekt
Ansonten probiere in dem JSONATA Exerciser das aus.
JSONATA ist insofern genial, dass Du komplett neue Objekte erstellen kannst.
payload.data[0].{ "fiat_id": attributes.fiat_id, "fiat_symbol": attributes.fiat_symbol, "balance": attributes.balance, "name": attributes.name, "pending_transactions_count": attributes.pending_transactions_count, "id":id }
Mit payload.data[0] wählst Du auch das 1. Objekt aus. Dann machst Du einen Punkt und kannst mit den geschweiften Klammern ein völlig neues Objekt erzeugen.
In den Klammern definierst Du einfach wie die neuen Eigenschaften heißen sollen als Strings:
hier habe ich einfach eine neue Eigenschaft "Währung" definiert mit dem Wert aus dem Originalpfad: "attributes.fiat_symbol oder eine Eigenschaft "Benutzer" mit deinem Namen.
-
@mickym
ja, das ist wirklich genial.
Ich hänge gerade daran die Ausgabe von https://api.bitpanda.com/v1/fiatwallets/transactions
hinzubekommen. Wenn ich nur payload 0 nehme dann hab ich auch die metadaten mit dabei. Die bräuchte ich nicht. Jetzt versuche ich das etwas zu verkleinern. -
@dasbo1975 Ich habe Dir unten beschrieben wie Du neue Objekte erstellst .
Ansonsten - ohne meta:
payload.data[0]
-
Übrigens JSONATA kannst Du auch beim Puzzeln nutzen - es erspart Dir eine Menge Schleifen.
-
Ansonsten wenn Du mit den transactions nicht klarkommst, dann poste halt nochmal das Objekt, so wie Du es brauchst.
{ "type": "fiat_wallet_transaction", "attributes": { "fiat_wallet_id": "4019cdb0-1d62-11e8-b4b2-313f9b0a3bca", "user_id": "331efc50-1d62-11e8-89e6-c9db2cf7f1cc", "fiat_id": "1", "amount": "10.00000000", "fee": "0.00000000", "to_eur_rate": "1.00000000", "time": { "date_iso8601": "2019-02-21T17:53:23+01:00", "unix": "1550768003" }, "in_or_out": "outgoing", "type": "transfer", "status": "finished", "confirmation_by": "not_required", "confirmed": false, "payment_option_id": "12", "requires_2fa_approval": false, "last_changed": { "date_iso8601": "2019-02-21T17:53:23+01:00", "unix": "1550768003" } }, "id": "330bf710-35f9-11e9-9ad6-835877ccb6b9" }
Das ist ja das 1. data Objekt aus den fiat_transactions
-
@mickym
ich hab das jetzt noch nicht rausbekommen wie ich das bei jsonata exercier eingeben kann damit ein verwendbares json für die change note erhalte -
@dasbo1975 Dann gehen wir es Schritt für Schritt durch. - Also für die fiat_transactions.
https://try.jsonata.org/hHSA5jQlA
Mach diesen Link auf - und dann geben wir zusammen den Code in das rechte obere Fenster ein. OK?
-
@mickym
ok -
@dasbo1975 sagte in Werte von Bitpanda abrufen:
@mickym
okAlso was brauchst Du? - Erstmal das 1. Data Objekt?
-
@mickym
können wir ja als beispiel mal nehmen -
@dasbo1975 Also dann
payload.data[0]
-
@mickym
ok, das hab ich jetzt drin. und rechts unten füllt sich -
@dasbo1975 OK. dann machen wir eine Punkt und eine leere geschweifte Klammer - um ein neues leeres Objekt zu erzeugen:
payload.data[0].{}
-
@mickym
hab ich -
@dasbo1975 So nun kannst Du entweder die gleichen Bezeichnungen wie im Originalobjekt oder neue Eigenschaften definieren. Ich habe mal deutsche Bezeichnungen verwendet:
payload.data[0].{"Menge":"", "Gebühr":"", "Wechselkurs":"", "status":""}
Als Werte habe ich einfach erst mal leere Strings genommen. Wenn Du Dein Objekt hast, dann poste es mal hier in CodeTags.
Eine Eigenschaft ist immer ein String gefolgt von einem Doppelpunkt und dann den Wert - in diesem Fall konstant ein leerer String.
Mehrere Eigenschaften in einem Objekt werden durch Kommas getrennt.Wenn Du soweit bist, dann füllen wir nun Menge mit dem Originalwert.
-
@mickym
ja, Menge können wir füllen -
@dasbo1975 So nachdem wir das 1. data Objekt bereits vorselektiert haben, müssen wir nur den relativen Pfad nehmen.
Also attributes.amount
Hier nochmal ein Link - damit solltest Du weitermachen können
https://try.jsonata.org/DrI96K5cO
Sag kurz ob Du das Prinzip verstanden hast. amount ist eine Eigenschaft des Objektes attributes und den Pfad trennt man mit dem Punkt.
Das Transaktionsdatum ist
folglich der Pfad:
attributes.time.date_iso8601
-
@mickym
ja. das prinzip hab ich verstanden