Zum Hauptinhalt springen
Verwendung von /query in API v2

Verwendung von /query in POST-Anfragen

Petr Pech avatar
Verfasst von Petr Pech
Vor über 2 Jahren aktualisiert

Mit dem /query können alle Parameter und Filter, die standardmäßig in der URL mitgesendet werden, über den Call-Body gesendet werden. In dieser Dokumentation beschreiben wir die grundlegende Funktionalität. Der Detaillierungsgrad, paginierung, Filterung usw. können im Hauptteil des POST-Aufrufs gesendet werden.

Bevor Sie die Abfrage verwenden, empfehlen wir Ihnen, die Standard-URL-Kompilierung oder So starten Sie mit der Flexi-API zu studieren.

Standard-JSON-Aufruf

  1. POST
    https://demo.flexibee.eu/c/demo/faktura-vydana/query.json

  2. Der Text der Anfrage
    { "winstrom": { ... filtry, detail, parametry } }

Weitere Informationen sind im Hauptteil der Anfrage enthalten. Es gibt auch eine Kombination, bei der wir einige Parameter in die URL schreiben:

  1. POST
    https://demo.flexibee.eu/c/demo/faktura-vydana/query.json?use-internal-id=true&no-ext-ids=true&authToken=123abc456

  2. Der Text der Anfrage

    { "winstrom": { ... filtry, detail, parametry } }

Detaileintrag

Das Detail wird durch Aufzählung von Werten wie folgt geschrieben, auch bei verschachtelten eingeschlossenen Eigenschaften:

"detail":"custom:kod,nazFirmy,datVyst,datSplat,zbyvaUhradit,sumCelkem,stavUhrK,sumCelkemMen,mena(kod),stredisko(nazev,kod,id)"

In ähnlicher Weise schreiben wir als weiteres Element das Includes selbst, indem wir eine durch Kommas getrennte Liste der enthaltenen Datensätze verwenden:

"includes":"/faktura-vydana/mena,/faktura-vydana/stredisko"

Wessen andere Detail- und Paging-Parameter:

"no-ext-ids":"true","limit":"80","start":"0","@version":"1.0"

Schreibfilter

Wir schreiben die Filterung in Klammern auf die gleiche Weise wie beim Schreiben einer URL:

"filter":"(datSplat lt now() and ((storno eq false and (stavUhrK is null or (stavUhrK neq \"stavUhr.uhrazeno\")))))"

Der Filter enthält die logischen Operatoren und ggf. weitere, wie in der Filterdokumentation angegeben. Außerdem werden hier Anführungszeichen mit Backslashes zum Schreiben von Strings maskiert. Möglicherweise bemerken Sie auch die Funktion now(), die sicherstellt, dass das heutige Datum übergeben wird. Wir filtern Rechnungen, bei denen das Fälligkeitsdatum niedriger als das heutige Datum ist und gleichzeitig das Dokument nicht storniert und bezahlt wird.

Notation sortieren

Wir schreiben die Sortierung in eckigen Klammern in der Reihenfolge, in der wir die Sortierung anwenden möchten, wenn die Sortierung mehr ist:

"order":["sumCelkem","sumCelkemMen","mena"]

Die Ausgabe wird also zuerst nach Gesamtbeträgen und dann nach Währung sortiert. Sortierung kann mehr spezifiziert werden. Bei einer Sorte schreiben wir:

"order":"kod"

Beispiele für Anrufe

Wir zeigen nun vollständige Beispiele für demonstrierte Anrufe in Postman.

  1. Wir filtern 100 ausgestellte Rechnungen und fügen den Parameter add-row-count zur Überprüfung hinzu. Wir erhalten Rechnungen mit unseren eigenen Angaben, zusammen mit der verschachtelten Währung, dem Zentrum und der Art des Dokuments. Im Filter bekommen wir die Währung nach der ID, die Dokumentenart nach dem Code. Wir wollen das ganze Ergebnis ohne externe IDs.

    POST

    https://demo.flexibee.eu/c/demo/faktura-vydana/query.json?add-row-count=true&limit=100

    Der Text der Anfrage

    { "winstrom": { "detail":"custom:kod,nazFirmy,datVyst,datSplat,zbyvaUhradit,storno,juhSum,sumCelkem,stavUhrK,sumCelkemMen,mena(kod),stredisko(nazev,kod,id),typDokl(typDoklK)",
    "includes":"/faktura-vydana/mena,/faktura-vydana/stredisko,/faktura-vydana/typDokl",
    "filter":"(kod like \"2021\" and mena eq \"31\" and typDokl eq \"code:FAKTURA\")",
    "no-ext-ids":"true",
    "@version":"1.0"
    }}

    Schreiben im Postboten

  2. Wir möchten Ihre eigenen Details der eingegangenen Bestellung erhalten, einschließlich Informationen zu E-Mail- und Telefon-verschachtelten Firmendatensätzen. Wir filtern Bestellungen mit dem Ausstellungsdatum ab dem 1. Juni 2021 und der Art des OBP-Dokuments. Wir sortieren die Ergebnisse nach dem Gesamtbetrag und dem Dokumentencode.

    POST

    https://demo.flexibee.eu:5434/c/demo/objednavka-prijata/query.json

    Der Text der Anfrage

    { "winstrom": { "detail":"custom:kod,sumCelkem,varSym,typDokl,firma(email,tel)", 
    "limit":"0",
    "filter" : "(datVyst > 2021-06-01) and typDokl = \"code:OBP\" ",
    "includes":"/objednavka-prijata/firma",
    "order":["sumCelkem","kod"],
    "@version":"1.0"
    }}

    Schreiben im Postman

Hat dies deine Frage beantwortet?