Parameter
Grundsätzliche Parameter sind wie folgt.
Parameter | Description | Example |
---|---|---|
dataset | Label des Dataset auf das zugegriffen werden soll | "product" |
fields | Felder, die zurückgegeben werden sollen | |
filter | Filter, um nach beliebigen Feldern und Werten das Ergebnis zu filtern | |
sql | (optional) Um LIMITs oder ORDERs (Sortierung) der Abfrage hinzuzufügen |
Dataset
Fields
{
...
"fields": [ // An array of field-labels to be returned
"firstname",
"lastname",
"gender"
],
...
}
Filter
{
...
"filter": {
"lastname": "skywalker" // Finds all records where field "lastname" matches "skywalker"
},
...
}
Sortierung
{
...
"sql": {
"order": "<field 1> ASC, <field 2> DESC" // sorts for <field 1> ascending and within that for <field 2> descending.
},
...
}
Limit / Paging
{
...
"sql": {
"limit": {
"max": 50 // Returns only the first 50 records
}
},
...
}
{
...
"sql": {
"limit": {
"start": 100 // Start a result position 100 ...
"max": 50 // and return the next 50 records!
} // Which results to: record number #100 until #149
},
...
}
Aggregierte Daten
Datensätze können auch in aggregierter Form zurückgeliefert werden.
Die zuvor beschriebenen Parameter werden hierbei mit verwendet.
Gruppierung
Um Datensätze zusammenzufassen, kann festgelegt werden, nach welchen Feldern des Datasets gruppiert werden soll.
Beispiel Parameter
... "fieldGroupBy": [ { "field": "master_pcode" } ], ...
Measurements
Zum Aggregieren der Daten stehen verschiedene Aggregierungs-Funktionen zur Verfügung, die auf die Fields des Datensets angewendet werden können.
Felder, die bereits mit "filter_having" gekennzeichnet sind, stehen hierbei nicht zur Verfügung.
Achtung: Falls kein eigenes Gruppierungsfeld festgelegt wird, werden alle Datensätze zusammengefasst.
Verfügbare Aggregierungs-Funktionen:
"SUM" | "COUNT" | "COUNTDISTINCT" | "AVG" | "MIN" | "MAX" | "DISTINCT"
Beispiel Parameter
...,
"fieldMeasure": [ { "field": "price", // dataset-field this relates to "aggregation": "MIN", // aggregation-function "alias": "priceFrom" // alias for the aggregated value }, { "field": "price", "aggregation": "MAX", "alias": "priceTo" } ],
...
Endpunkte
data_get
Url: https://{your hublify url}/api/eos_10/data_get
Parameters
{
"dataset": "person",
"fields": [ "personid", "firstname", "lastname" ],
"filter": {
"personid": "K00000001"
}
}
Response
Bei get-Calls wird der eigentliche Datensatz direkt unter [data] zurückgegeben.
{
"data": {
"personid": "K00000001",
"firstname": "Luke",
"lastname": "Skywalker"
},
"status": true
}
data_getList
Url: https://{your hublify url}/api/eos_10/data_getList
Parameters
{
"dataset": "person",
"fields": [ "personid", "firstname", "lastname" ],
"filter": {
"lastname": "Skywalker"
}
}
Response
Bei getList-Calls werden die Datensätze als numerisches Array unter [data] zurückgegeben.
{
"data": [
{
"personid": "K00000001",
"firstname": "Luke",
"lastname": "Skywalker"
},
{
"personid": "K00000003",
"firstname": "Anakin",
"lastname": "Skywalker"
}
],
"status": true
}