Nach Benutzerattributen filtern
Antworten nach den Attributen der Teilnehmenden filtern und Attribute mit ausgeben.
Beim Abruf der Antworten kannst du nach den Benutzerattributen filtern, die du über identify() an PollHero übermittelt hast, und diese Attribute mit ausgeben lassen.
Attribute ausgeben
Mit attributes[] legst du fest, welche Attribute in respondent.attributes zurückkommen, höchstens 50:
curl -G "https://app.poll-hero.com/api/v1/surveys/{survey_id}/responses" \
-H "Authorization: Bearer ph_xxxxxxxx" \
--data-urlencode "attributes[]=email" \
--data-urlencode "attributes[]=customer_type""respondent": {
"id": "b1f4c2d0-7a35-4c1e-8f7b-2f6f0e1f9a44",
"attributes": [
{ "name": "email", "value": "customer@example.com" },
{ "name": "customer_type", "value": "new" }
]
}- Werte sind immer Strings, zum Beispiel
"true"oder"1249.99". - Leere Attribute werden weggelassen.
- Attribute, nach denen du filterst, werden automatisch mit ausgegeben.
Filter
Ein Filter hat die Form filter[<Attribut>][<Operator>]=<Wert>:
| Beispiel | Bedeutung |
|---|---|
filter[customer_type]=new | Kurzform für [eq] |
filter[total_purchases][gte]=3 | mindestens 3 Käufe |
filter[has_subscription][eq]=true | Custom Attribute |
filter[country][in]=DE,AT,CH | einer der Werte |
filter[email][exists]=false | ohne E-Mail-Adresse |
filter[plan->name]=pro | verschachteltes Custom Attribute |
- Mehrere Filter werden mit UND verknüpft. Pro Anfrage sind höchstens 10 Bedingungen möglich.
filter[x][gte]=1&filter[x][lte]=5zählt als zwei. - Verneinte Operatoren (
ne,not_contains,exists=false) treffen auch auf Teilnehmende zu, die nie identifiziert wurden. filter[country]filtert nach dem Attributcountryausidentify(), nicht nach dem Land in der Antwort.
Attributnamen
| Art | Namen |
|---|---|
| Feste Attribute | email, customer_id, customer_type, total_revenue, total_purchases, total_aov, country, language |
| Custom Attributes | Schlüssel der Daten, die du an identify() übergibst. Verschachtelte Schlüssel trennst du mit ->, z. B. plan->name. |
Operatoren
| Operator | Bedeutung |
|---|---|
eq | gleich (Standard ohne Operator) |
ne | ungleich |
contains | enthält den Text |
not_contains | enthält den Text nicht |
in | einer der Werte, durch Komma getrennt |
gt, gte | größer als, größer oder gleich |
lt, lte | kleiner als, kleiner oder gleich |
exists | true: Attribut ist gesetzt. false: Attribut fehlt. |
Bei Custom Attributes werden true und false als Wahrheitswerte und Zahlen als Zahlen verglichen. Feste Textattribute wie email oder country werden als Text verglichen.
Seiten mit Filtern
Mit Attributfiltern prüft die API pro Anfrage nur eine begrenzte Zahl von Antworten. Eine Seite kann deshalb weniger Einträge enthalten als angefragt, oder gar keine, obwohl es weitere Treffer gibt. Entscheidend ist nur links.next: Blättere weiter, solange es nicht null ist.