Zum Inhalt springen
Doku

Filter über Ihre Kontakte speichern, die passenden Kontakte auflisten und Segmente mit Tracking über die Zeit verfolgen.

Basis-URLhttps://api.emailit.com/v2AuthentifizierungFehlerRate Limits

Segment erstellen

Erstellt ein Segment: einen gespeicherten Filter über die Kontakte des Workspaces. Erfordert einen API-Schlüssel mit dem Scope full.

Ein Segment enthält die Kontakte aus seiner Quelle (den Abonnenten der Kontaktlisten in audience_ids oder allen Kontakten, wenn das Feld leer ist), die seinen conditions entsprechen. Die Mitgliedschaft wird jedes Mal live ausgewertet, wenn das Segment gezählt, aufgelistet, in der Vorschau geprüft oder von einer Kampagne beim Senden verwendet wird. Siehe Segmente.

Jeder Tarif enthält eine bestimmte Anzahl von Segmenten pro Workspace, mit oder ohne Tracking. Siehe Limits.

POST/segments

Body-Parameter

namestringerforderlich
Name des Segments, bis zu 191 Zeichen.
descriptionstring | null
Notiz für Ihr Team, bis zu 1.000 Zeichen.
audience_idsstring[]
Die Quelle: IDs von Kontaktlisten (aud_…) in diesem Workspace, bis zu 100. Das Segment enthält nur Kontakte, die bei mindestens einer davon angemeldet sind. Leer oder weggelassen bedeutet alle Kontakte im Workspace.
conditionsobject
Die Regeln, denen Kontakte entsprechen müssen, beschrieben unter Bedingungen. Lassen Sie das Feld weg, um alle Kontakte aus der Quelle aufzunehmen.
trackedbooleanStandardwert: false
Speichert die Mitglieder des Segments, sodass Beitritte und Austritte von Kontakten zu Events für Automatisierungen und Webhooks werden. Enthalten in Pro, Business und Custom. Sie legen es hier fest und können es später nicht mehr ändern. Siehe Segmente mit Tracking.

Bedingungen

conditions enthält Gruppen von Regeln. Das match der obersten Ebene verknüpft die Gruppen, und das match jeder Gruppe verknüpft ihre Regeln:

JSON
{
  "match": "all",
  "groups": [
    { "match": "any", "rules": [{ "field": "email_domain", "operator": "in", "value": ["acme.com", "globex.io"] }] },
    { "match": "all", "rules": [{ "field": "status", "operator": "equals", "value": "subscribed" }] }
  ]
}
  • match ist all (Standardwert) oder any, auf der obersten Ebene und in jeder Gruppe.
  • Lassen Sie conditions weg oder senden Sie keine Gruppen, um alle Kontakte aus der Quelle aufzunehmen. Leere Gruppen werden verworfen.
  • Die flache Form { "match": "any", "rules": [...] } wird ebenfalls akzeptiert und als eine Gruppe gespeichert.
  • Ein Segment kann bis zu 10 Gruppen und insgesamt 50 Regeln haben.

Felder

Feld Typ Hinweise
email string
email_domain string Der Teil der Adresse nach @.
first_name, last_name string
status enum subscribed (nicht global abgemeldet und bei mindestens einer Kontaktliste angemeldet, sodass Kampagnen den Kontakt erreichen können) oder unsubscribed. Operatoren: equals, not_equals.
created_at, updated_at datetime Zeitpunkt, zu dem der Kontakt erstellt oder zuletzt geändert wurde, in UTC verglichen.
audience audience Angemeldete Mitgliedschaft. in trifft auf Kontakte zu, die bei einer der angegebenen Kontaktlisten angemeldet sind, not_in auf Kontakte, die bei keiner davon angemeldet sind.
tags tags Die Tags des Kontakts. Werte werden in Kleinbuchstaben verglichen.
score score Der Lead-Score des Kontakts.
custom_fields.<key> hängt vom Feld ab Textfelder sind string, Zahlenfelder number, Datumsfelder date (YYYY-MM-DD), Boolean-Felder boolean, Auswahlfelder enum und Mehrfachauswahlfelder multi.
orders_count, total_spent, average_order_value metric Aus den Bestellungen des Kontakts. 0 bei Kontakten ohne Bestellungen. Beträge sind in der Bestellwährung des Kontakts.
first_order_at, last_order_at moment Bei Kontakten ohne Bestellungen nicht gesetzt.
expected_next_order_at moment Die letzte Bestellung plus der durchschnittliche Abstand zwischen den Bestellungen des Kontakts. Ab der zweiten Bestellung gesetzt; kann in der Zukunft liegen.
churn_risk enum low, medium oder high: die Zeit seit der letzten Bestellung im Vergleich zum üblichen Abstand des Kontakts (mindestens 14 Tage) oder bei Einmalkäufern zu 90 Tagen. Ohne Bestellungen nicht gesetzt.
last_active_at moment Wann das Tracking-Skript den Kontakt zuletzt auf Ihrer Website gesehen hat.
purchased purchase Bestellungen, siehe Aktivitätsregeln.
viewed_product view Vom Tracking-Skript erfasste Produktaufrufe.
cart cart Offene und abgebrochene Warenkörbe.
used_coupon coupon Bestellungen, in denen ein Gutscheincode verwendet wurde.
campaign_activity campaign_activity Empfangene, geöffnete oder geklickte Kampagnen-E-Mails.

Segmentfelder auflisten gibt die Felder Ihres Workspaces zurück, einschließlich seiner eigenen Felder und Kontaktlisten, mit den Operatoren, die jedes Feld akzeptiert.

Operatoren

Typ Operatoren
string equals, not_equals, contains, not_contains, starts_with, ends_with, in, not_in, is_set, is_not_set
number equals, not_equals, greater_than, greater_than_or_equal, less_than, less_than_or_equal, between, is_set, is_not_set
date on, before, after, between, in_last_days, more_than_days_ago, in_next_days, is_set, is_not_set
datetime on, before, after, between, in_last_days, more_than_days_ago
boolean is_true, is_false, is_set, is_not_set
enum in, not_in, is_set, is_not_set
multi in (enthält mindestens einen), contains_all (enthält alle), not_in (enthält keinen), is_set, is_not_set
audience in, not_in
tags in (enthält mindestens eines), contains_all (enthält alle), not_in (enthält keines), is_set (hat mindestens ein Tag), is_not_set (hat keine Tags)
score equals, not_equals, greater_than, greater_than_or_equal, less_than, less_than_or_equal, between
metric equals, not_equals, greater_than, greater_than_or_equal, less_than, less_than_or_equal, between
moment on, before, after, between, in_last_days, more_than_days_ago, in_next_days, is_set, is_not_set
purchase, view, coupon has, has_not
cart has_open_cart, has_abandoned_cart, has_no_open_cart
campaign_activity received, not_received, opened, not_opened, clicked, not_clicked, received_not_opened, received_not_clicked

Werte

  • Textvergleiche bei String-Feldern ignorieren die Groß-/Kleinschreibung. Werte von Auswahl- und Mehrfachauswahlfeldern müssen exakt übereinstimmen.
  • not_equals, not_contains und not_in treffen auch auf Kontakte zu, die keinen Wert haben.
  • in, not_in und contains_all nehmen eine Liste mit bis zu 100 Werten an. Textwerte können bis zu 500 Zeichen lang sein.
  • between nimmt [from, to] an, beide einschließlich: zwei Zahlen oder zwei Datumsangaben im Format YYYY-MM-DD.
  • on, before und after nehmen ein Datum im Format YYYY-MM-DD an. before und after schließen diesen Tag nicht ein.
  • in_last_days, more_than_days_ago und in_next_days nehmen eine ganze Zahl von Tagen von 1 bis 3650 an, gezählt ab dem Moment, in dem das Segment ausgewertet wird. Eigene Felder vom Typ Datum vergleichen Kalendertage in UTC; created_at und updated_at verwenden exakte Zeitpunkte, daher bedeutet in_last_days mit 7 die letzten 7 × 24 Stunden.
  • is_set, is_not_set, is_true und is_false nehmen keinen Wert an. is_true trifft auf true, 1, yes und on zu, is_false auf false, 0, no und off.
  • Eine gespeicherte Regel, die nicht mehr anwendbar ist, etwa weil sich der Typ ihres eigenen Felds geändert hat, trifft auf keine Kontakte zu. Regeln für ein gelöschtes eigenes Feld funktionieren mit den Werten weiter, die Kontakte noch haben, aber neue Regeln müssen ein bestehendes Feld verwenden.

Aktivitätsregeln

purchased, viewed_product, cart, used_coupon und campaign_activity nehmen ein Objekt als value an. Jeder Schlüssel ist optional.

Feld Schlüssel in value
purchased days: nur Bestellungen der letzten N Tage. product_ids: Bestellungen mit einem dieser Produkte (die Produkt-IDs Ihres Shops). categories: Bestellungen mit einem Produkt in einer dieser Kategorien. min_count: mindestens so viele passende Bestellungen (Standardwert 1, bis zu 1000). Stornierte Bestellungen zählen nicht.
viewed_product days, product_ids, categories und min_count wie oben, gezählt werden Produktaufrufe.
cart days nur mit has_abandoned_cart: in den letzten N Tagen abgebrochene Warenkörbe. has_open_cart trifft auf einen aktiven Warenkorb zu, has_no_open_cart auf Kontakte ohne aktiven oder abgebrochenen Warenkorb.
used_coupon days und coupon: der Schlüssel eines Gutscheins. Ohne coupon zählt jeder Code.
campaign_activity campaign_id: eine Kampagne (cmp_...), ohne Angabe jede Kampagne. days: nur die letzten N Tage, ohne Angabe der gesamte Zeitraum.

days ist eine ganze Zahl von 1 bis 3650. has_not ist das Gegenteil von has mit demselben Wert.

JSON
{
  "match": "all",
  "groups": [
    { "match": "all", "rules": [
      { "field": "purchased", "operator": "has", "value": { "categories": ["Shoes"], "days": 180 } },
      { "field": "churn_risk", "operator": "in", "value": ["medium", "high"] },
      { "field": "campaign_activity", "operator": "clicked", "value": { "days": 90 } }
    ] }
  ]
}

received_not_opened und received_not_clicked treffen auf Kontakte zu, die mindestens eine passende Kampagnen-E-Mail erhalten und keine davon geöffnet bzw. geklickt haben. Öffnungen sind ungenau: Apple Mail lädt die Bilder jeder E-Mail, die es empfängt.

Rückgabe

Gibt 201 Created mit dem Segment-Objekt zurück, einschließlich contacts_count und subscribed_count. Ein neues Segment mit Tracking beginnt mit tracking.status auf syncing, während Emailit seine aktuellen Mitglieder erfasst.

Status Wann
400 name fehlt oder ein Feld hat den falschen Typ.
403 tracked ist true und der Tarif enthält keine Segmente mit Tracking. Der Body ist {"error": "plan_required", "required_plan": "pro", ...}.
422 Ein Feld oder eine Regel ist ungültig: errors ist nach dem Pfad geschlüsselt, etwa conditions.groups.0.rules.1.value, und message wiederholt das erste Problem. Wird auch zurückgegeben, wenn der Workspace das Segmentlimit seines Tarifs erreicht hat; dieser Body enthält usage.used und usage.limit.
POST/segments
Terminal
curl -X POST https://api.emailit.com/v2/segments \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pro customers renewing soon",
    "audience_ids": ["aud_2nYs8Qm4Hc1Zx7Vb3Ne6Tg9Lk2a"],
    "conditions": {
      "match": "all",
      "groups": [{
        "match": "all",
        "rules": [
          { "field": "custom_fields.plan", "operator": "in", "value": ["pro", "enterprise"] },
          { "field": "custom_fields.renews_on", "operator": "in_next_days", "value": 30 }
        ]
      }]
    },
    "tracked": true
  }'
JSON
{
  "object": "segment",
  "id": "seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p",
  "name": "Pro customers renewing soon",
  "description": null,
  "audience_ids": ["aud_2nYs8Qm4Hc1Zx7Vb3Ne6Tg9Lk2a"],
  "conditions": {
    "match": "all",
    "groups": [
      {
        "match": "all",
        "rules": [
          { "field": "custom_fields.plan", "operator": "in", "value": ["pro", "enterprise"] },
          { "field": "custom_fields.renews_on", "operator": "in_next_days", "value": 30 }
        ]
      }
    ]
  },
  "tracked": true,
  "tracking": {
    "status": "syncing",
    "synced_at": null
  },
  "contacts_count": 412,
  "subscribed_count": 398,
  "created_at": "2026-10-18T12:00:00.000000+00:00",
  "updated_at": "2026-10-18T12:00:00.000000+00:00"
}

Segment abrufen

Ruft ein Segment ab und zählt seine Kontakte zum Zeitpunkt des Aufrufs. Erfordert einen API-Schlüssel mit dem Scope full.

GET/segments/{id}

Pfadparameter

idstringerforderlich
Die ID des Segments (seg_…).

Rückgabe

Gibt das Segment-Objekt zurück.

objectstring
Immer segment.
idstring
ID des Segments mit dem Präfix seg_.
namestring
Name des Segments.
descriptionstring | null
Notiz für Ihr Team.
audience_idsstring[]
Die Kontaktlisten der Quelle. Leer bedeutet alle Kontakte im Workspace.
conditionsobject
Die Regeln, als { "match", "groups": [{ "match", "rules": [...] }] }. Siehe Segment erstellen.
trackedboolean
Ob das Segment seine Mitglieder speichert und Beitritte und Austritte meldet. Siehe Segmente mit Tracking.
trackingobject | null

null bei Segmenten ohne Tracking. Bei Segmenten mit Tracking:

  • status: active, wenn die Mitglieder aktuell gehalten werden, syncing, während Emailit die aktuellen Mitglieder erfasst, nachdem das Segment erstellt oder das Tracking fortgesetzt wurde, oder paused, wenn der Tarif des Workspaces keine Segmente mit Tracking mehr enthält.
  • synced_at: Zeitpunkt, zu dem das ganze Segment zuletzt mit seinen Regeln abgeglichen wurde, oder null vor dem ersten Abgleich.
contacts_countinteger
Kontakte, die dem Segment in diesem Moment entsprechen.
subscribed_countinteger
Der Teil von contacts_count, an den Kampagnen senden können: Kontakte, die nicht global abgemeldet und bei mindestens einer Kontaktliste angemeldet sind. Gesperrte Adressen werden trotzdem mitgezählt.
created_at, updated_atstring
Zeitstempel in UTC.

Gibt 404 zurück, wenn das Segment nicht existiert.

GET/segments/{id}
Terminal
curl https://api.emailit.com/v2/segments/seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "segment",
  "id": "seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p",
  "name": "Pro customers renewing soon",
  "description": "Pro and Enterprise plans that renew in the next 30 days.",
  "audience_ids": ["aud_2nYs8Qm4Hc1Zx7Vb3Ne6Tg9Lk2a"],
  "conditions": {
    "match": "all",
    "groups": [
      {
        "match": "all",
        "rules": [
          { "field": "custom_fields.plan", "operator": "in", "value": ["pro", "enterprise"] },
          { "field": "custom_fields.renews_on", "operator": "in_next_days", "value": 30 }
        ]
      }
    ]
  },
  "tracked": true,
  "tracking": {
    "status": "active",
    "synced_at": "2026-10-18T00:30:04.211000+00:00"
  },
  "contacts_count": 412,
  "subscribed_count": 398,
  "created_at": "2026-10-02T09:14:03.551000+00:00",
  "updated_at": "2026-10-02T09:14:03.551000+00:00"
}

Segment aktualisieren

Aktualisiert die übergebenen Felder und lässt die übrigen unverändert. audience_ids und conditions werden als Ganzes ersetzt. Erfordert einen API-Schlüssel mit dem Scope full.

Kampagnen werten ein Segment beim Senden aus, daher gelten neue Regeln für jede Kampagne, die noch nicht gesendet wurde, auch für geplante.

Bei einem Segment mit Tracking gleicht eine Änderung von audience_ids oder conditions die gespeicherten Mitglieder mit den neuen Regeln ab. Für Kontakte, die durch die Änderung dem Segment beitreten oder es verlassen, werden die Events segment.contact_added und segment.contact_removed mit reason auf segment_updated gesendet. Webhooks erhalten sie, aber sie starten keine Automatisierungen.

POST/segments/{id}

Pfadparameter

idstringerforderlich
Die ID des Segments (seg_…).

Body-Parameter

namestring
Neuer Name, bis zu 191 Zeichen. Darf nicht leer sein.
descriptionstring | null
Notiz für Ihr Team, bis zu 1.000 Zeichen. null oder ein leerer String löscht sie.
audience_idsstring[]
IDs der Kontaktlisten der Quelle. [] bedeutet alle Kontakte im Workspace.
conditionsobject
Die Regeln. Siehe Segment erstellen.
trackedboolean
Wird nur mit dem aktuellen Wert des Segments akzeptiert. Das Tracking wird beim Erstellen eines Segments festgelegt; um es zu ändern, erstellen Sie ein neues Segment.

Rückgabe

Gibt das aktualisierte Segment-Objekt mit neu gezählten Kontakten zurück.

Status Wann
404 Das Segment existiert nicht.
422 Ein Feld oder eine Regel ist ungültig, oder tracked weicht vom aktuellen Wert des Segments ab. errors ist nach Feldpfad geschlüsselt.
POST/segments/{id}
Terminal
curl -X POST https://api.emailit.com/v2/segments/seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Pro customers renewing this month" }'
JSON
{
  "object": "segment",
  "id": "seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p",
  "name": "Pro customers renewing this month",
  "description": "Pro and Enterprise plans that renew in the next 30 days.",
  "audience_ids": ["aud_2nYs8Qm4Hc1Zx7Vb3Ne6Tg9Lk2a"],
  "conditions": {
    "match": "all",
    "groups": [
      {
        "match": "all",
        "rules": [
          { "field": "custom_fields.plan", "operator": "in", "value": ["pro", "enterprise"] },
          { "field": "custom_fields.renews_on", "operator": "in_next_days", "value": 30 }
        ]
      }
    ]
  },
  "tracked": true,
  "tracking": {
    "status": "active",
    "synced_at": "2026-10-18T00:30:04.211000+00:00"
  },
  "contacts_count": 412,
  "subscribed_count": 398,
  "created_at": "2026-10-02T09:14:03.551000+00:00",
  "updated_at": "2026-10-18T12:00:00.000000+00:00"
}

Segmente auflisten

Gibt die Segmente des Workspaces zurück, die neuesten zuerst, und dazu, wie viele der im Tarif enthaltenen Segmente belegt sind. Erfordert einen API-Schlüssel mit dem Scope full.

GET/segments

Query-Parameter

pageintegerStandardwert: 1
Seitennummer, beginnend bei 1.
limitintegerStandardwert: 10
Segmente pro Seite, von 1 bis 100.
with_countsbooleanStandardwert: false
Fügt jedem Segment contacts_count und subscribed_count hinzu. Das Zählen wertet jedes Segment auf der Seite aus und ist daher standardmäßig deaktiviert.
matchstring

all (Standardwert) verlangt, dass alle Filter zutreffen. or trifft zu, wenn ein beliebiger Filter passt. Siehe Filtern und Sortieren.

orderstring

Sortierschlüssel für diese Liste. Siehe die Sortierschlüssel unten.

directionstring

asc oder desc.

Filterschlüssel

Filter verwenden Query-Parameter der Form key.condition=value, zum Beispiel name.contains=customers oder created_at.after=2026-09-01. Die Bedingungen je Typ finden Sie unter Filtern.

Schlüssel Typ Hinweise
name string
created_at date
updated_at date

Sortierschlüssel für order: name, created_at, updated_at.

Rückgabe

dataobject[]
Segment-Objekte auf dieser Seite. contacts_count und subscribed_count sind nur mit with_counts enthalten.
total_recordsinteger
Anzahl der Segmente, die der Abfrage entsprechen.
usageobject
Die Segmente des Workspaces im Verhältnis zu seinem Tarif: used (alle Segmente, mit oder ohne Tracking), limit (im Tarif enthaltene Segmente) und tracking_allowed (ob der Tarif Segmente mit Tracking enthält). Siehe Limits.
next_page_urlstring | null
Pfad der nächsten Seite oder null auf der letzten Seite. Er enthält nur page und limit; fügen Sie Ihre Suche und Filter erneut hinzu, wenn Sie ihm folgen.
previous_page_urlstring | null
Pfad der vorherigen Seite oder null auf der ersten Seite.
GET/segments
Terminal
curl -G https://api.emailit.com/v2/segments \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -d with_counts=true
JSON
{
  "data": [
    {
      "object": "segment",
      "id": "seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p",
      "name": "Pro customers renewing soon",
      "description": "Pro and Enterprise plans that renew in the next 30 days.",
      "audience_ids": ["aud_2nYs8Qm4Hc1Zx7Vb3Ne6Tg9Lk2a"],
      "conditions": {
        "match": "all",
        "groups": [
          {
            "match": "all",
            "rules": [
              { "field": "custom_fields.plan", "operator": "in", "value": ["pro", "enterprise"] },
              { "field": "custom_fields.renews_on", "operator": "in_next_days", "value": 30 }
            ]
          }
        ]
      },
      "tracked": true,
      "tracking": {
        "status": "active",
        "synced_at": "2026-10-18T00:30:04.211000+00:00"
      },
      "contacts_count": 412,
      "subscribed_count": 398,
      "created_at": "2026-10-02T09:14:03.551000+00:00",
      "updated_at": "2026-10-02T09:14:03.551000+00:00"
    }
  ],
  "total_records": 1,
  "usage": {
    "used": 1,
    "limit": 10,
    "tracking_allowed": true
  },
  "next_page_url": null,
  "previous_page_url": null
}

Segment löschen

Löscht ein Segment. Erfordert einen API-Schlüssel mit dem Scope full.

  • Ein Segment, das eine Kampagne verwendet, während sie geplant ist, in der Warteschlange steht, gesendet oder getestet wird, lässt sich nicht löschen. Ändern Sie zuerst die Empfänger der Kampagne.
  • Ein Segment lässt sich nicht löschen, solange eine nicht gelöschte Automatisierung, egal in welchem Status, es verwendet: in einem Trigger Added to segment oder Removed from segment, in einem Ziel, einem Schritt Wait until oder einer Ausstiegsbedingung zu diesen Events oder in einer Regel Segment einer Bedingung. Ändern Sie zuerst diese Automatisierungen.
  • Kampagnenentwürfe, die an das Segment senden, verlieren es aus ihren Empfängern, und removed_from_campaigns gibt an, wie viele es sind. Entwürfe, die das Segment ausschließen, behalten den Ausschluss und lassen sich daher erst senden, wenn Sie ihn ersetzen: Ohne ihn würden sie an die Personen gehen, die Sie ausschließen wollten. Gesendete, stornierte und archivierte Kampagnen behalten den Verweis als Verlauf.
  • Bei einem Segment mit Tracking werden auch seine gespeicherten Mitglieder und sein Wachstumsverlauf gelöscht.
DELETE/segments/{id}

Pfadparameter

idstringerforderlich
Die ID des Segments (seg_…).

Rückgabe

objectstring
Immer segment.
idstring
ID des gelöschten Segments.
namestring
Sein Name.
deletedboolean
Immer true.
removed_from_campaignsinteger
Anzahl der Kampagnenentwürfe, die nicht mehr an das Segment senden.
Status Wann
404 Das Segment existiert nicht.
409 Eine Kampagne, die geplant ist, in der Warteschlange steht, gerade sendet oder getestet wird, verwendet das Segment, oder eine Automatisierung startet damit. Die Meldung nennt sie.
DELETE/segments/{id}
Terminal
curl -X DELETE https://api.emailit.com/v2/segments/seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "segment",
  "id": "seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p",
  "name": "Pro customers renewing soon",
  "deleted": true,
  "removed_from_campaigns": 1
}

Kontakte eines Segments auflisten

Gibt die Kontakte zurück, die dem Segment zum Zeitpunkt des Aufrufs entsprechen, die neuesten zuerst. Erfordert einen API-Schlüssel mit dem Scope full.

GET/segments/{id}/contacts

Pfadparameter

idstringerforderlich
Die ID des Segments (seg_…).

Query-Parameter

pageintegerStandardwert: 1
Seitennummer, beginnend bei 1.
limitintegerStandardwert: 25
Kontakte pro Seite, von 1 bis 100.
matchstring

all (Standardwert) verlangt, dass alle Filter zutreffen. or trifft zu, wenn ein beliebiger Filter passt. Siehe Filtern und Sortieren.

orderstring

Sortierschlüssel für diese Liste. Siehe die Sortierschlüssel unten.

directionstring

asc oder desc.

Filterschlüssel

Die Kontakte eines Segments akzeptieren dieselben Filter- und Sortierschlüssel wie Kontakte auflisten, angewendet zusätzlich zum Segment, zum Beispiel email.ends_with=acme.com.

Listenfilter sind Query-Parameter der Form key.condition=value auf einer einzigen Ebene. match, order, direction und die Bedingungen pro Typ finden Sie unter Filtern und Sortieren.

Filterschlüssel

SchlüsselTypBedingungenHinweise
emailstringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
first_namestringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
last_namestringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
namestringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_emptyVorname plus Nachname, ohne Leerzeichen am Anfang und Ende.
audiencesstringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_emptyVergleicht mit dem alphabetisch ersten Namen der Kontaktlisten des Kontakts.
created_atdateexact, before, after, empty, not_empty
updated_atdateexact, before, after, empty, not_empty
unsubscribedbooleanexact, not_exact
audience_idstringexact, not_exactNur exact und not_exact. Der Wert ist eine Kontaktlisten-ID (aud_...).
custom_fields.*stringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_emptyErsetzen Sie * durch den Schlüssel eines eigenen Felds, zum Beispiel custom_fields.company.contains=Acme.

Sortierschlüssel

Übergeben Sie in order einen dieser Schlüssel und in direction den Wert asc oder desc: email, first_name, last_name, name, audiences, created_at, updated_at, unsubscribed

Rückgabe

dataobject[]
Kontakte auf dieser Seite, jeweils mit object, id, email, first_name, last_name, custom_fields, unsubscribed, audiences (id, name, subscribed), created_at und updated_at. Kontakte eines Segments mit Tracking haben außerdem joined_at.
data[].joined_atstring | null
Nur bei Segmenten mit Tracking: Zeitpunkt, zu dem die aktuelle Mitgliedschaft des Kontakts im Segment begann. null, bis das Tracking den Kontakt erfasst hat, zum Beispiel direkt nachdem er dem Segment zu entsprechen begann, während das Segment syncing ist oder während das Tracking paused ist.
total_recordsinteger
Anzahl der Kontakte, die dem Segment, der Suche und den Filtern entsprechen.
subscribed_countinteger
An wie viele davon Kampagnen senden können: nicht global abgemeldet und bei mindestens einer Kontaktliste angemeldet.
next_page_urlstring | null
Pfad der nächsten Seite oder null auf der letzten Seite. Er enthält page, limit und search; fügen Sie Ihre Filter erneut hinzu, wenn Sie ihm folgen.
previous_page_urlstring | null
Pfad der vorherigen Seite oder null auf der ersten Seite.

Gibt 404 zurück, wenn das Segment nicht existiert.

GET/segments/{id}/contacts
Terminal
curl -G https://api.emailit.com/v2/segments/seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p/contacts \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -d email.ends_with=acme.com
JSON
{
  "data": [
    {
      "object": "contact",
      "id": "con_2nYs7Ab3Kd9Lm1Qw5Er8Ty2Ui4o",
      "email": "ada@acme.com",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "custom_fields": {
        "plan": "pro",
        "renews_on": "2026-10-20"
      },
      "unsubscribed": false,
      "audiences": [
        {
          "id": "aud_2nYs8Qm4Hc1Zx7Vb3Ne6Tg9Lk2a",
          "name": "Customers",
          "subscribed": true
        }
      ],
      "created_at": "2026-03-11T08:00:00.000000+00:00",
      "updated_at": "2026-09-30T16:42:10.000000+00:00",
      "joined_at": "2026-10-03T00:30:02.874000+00:00"
    }
  ],
  "total_records": 1,
  "subscribed_count": 1,
  "next_page_url": null,
  "previous_page_url": null
}

Wachstum eines Segments abrufen

Gibt den Verlauf eines Segments mit Tracking zurück: eine Zeile pro UTC-Tag, die ältesten zuerst, bis einschließlich heute. Das sind die Daten hinter dem Diagramm Growth auf der Seite des Segments. Erfordert einen API-Schlüssel mit dem Scope full.

Der Verlauf beginnt, wenn das Tracking beginnt. Kontakte, die bei der ersten Zählung nach dem Erstellen des Segments oder nach dem Fortsetzen des Trackings erfasst werden, zählen als Mitglieder, aber nicht als Beitritte.

GET/segments/{id}/growth

Pfadparameter

idstringerforderlich
Die ID des Segments (seg_…).

Query-Parameter

daysintegerStandardwert: 30
Anzahl der zurückgegebenen Tage, von 1 bis 365, bis einschließlich heute.

Rückgabe

objectstring
Immer segment_growth.
segment_idstring
Die ID des Segments.
dataobject[]
Eine Zeile pro Tag.
data[].datestring
Der UTC-Tag, YYYY-MM-DD.
data[].members_countinteger | null
Mitglieder am Ende des Tages oder die neueste Zählung für heute. Tage ohne neue Zählung übernehmen den vorherigen Wert, zum Beispiel während das Tracking pausiert ist. null vor Beginn des Trackings.
data[].joined_countinteger
Kontakte, die an diesem Tag dem Segment beigetreten sind.
data[].left_countinteger
Kontakte, die an diesem Tag das Segment verlassen haben.
Status Wann
404 Das Segment existiert nicht.
422 Das Segment hat kein Tracking.
GET/segments/{id}/growth
Terminal
curl -G https://api.emailit.com/v2/segments/seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p/growth \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -d days=7
JSON
{
  "object": "segment_growth",
  "segment_id": "seg_2nYs9Kd1Lq3vB8wXcE4fT7uRm0p",
  "data": [
    { "date": "2026-10-12", "members_count": null, "joined_count": 0, "left_count": 0 },
    { "date": "2026-10-13", "members_count": 380, "joined_count": 0, "left_count": 0 },
    { "date": "2026-10-14", "members_count": 391, "joined_count": 14, "left_count": 3 },
    { "date": "2026-10-15", "members_count": 391, "joined_count": 0, "left_count": 0 },
    { "date": "2026-10-16", "members_count": 402, "joined_count": 12, "left_count": 1 },
    { "date": "2026-10-17", "members_count": 405, "joined_count": 6, "left_count": 3 },
    { "date": "2026-10-18", "members_count": 412, "joined_count": 9, "left_count": 2 }
  ]
}

Segmentvorschau abrufen

Prüft eine Segmentdefinition, ohne sie zu speichern: Gibt zurück, wie viele Kontakte ihr entsprechen, und eine Stichprobe davon. Die Definition wird wie bei Segment erstellen validiert, und eine Vorschau zählt nicht zum Segmentlimit des Tarifs. Erfordert einen API-Schlüssel mit dem Scope full.

POST/segments/preview

Body-Parameter

audience_idsstring[]
IDs der Kontaktlisten, aus denen das Segment schöpfen würde. Leer oder weggelassen bedeutet alle Kontakte.
conditionsobject
Die Regeln. Siehe Segment erstellen.
limitintegerStandardwert: 10
Anzahl der Beispielkontakte, von 1 bis 25.

Rückgabe

objectstring
Immer segment_preview.
audience_idsstring[]
Die Kontaktlisten der Quelle, ohne Duplikate.
conditionsobject
Die Regeln, so wie sie gespeichert würden: Ein flaches { match, rules } wird zu einer Gruppe, und leere Gruppen werden verworfen.
contacts_countinteger
Kontakte, die der Definition entsprechen.
subscribed_countinteger
An wie viele davon Kampagnen senden können.
contactsobject[]
Die neuesten passenden Kontakte, in derselben Form wie bei Kontakte eines Segments auflisten.

Gibt 422 mit errors, geschlüsselt nach Feldpfad, zurück, wenn die Definition ungültig ist.

POST/segments/preview
Terminal
curl -X POST https://api.emailit.com/v2/segments/preview \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "conditions": { "rules": [{ "field": "email_domain", "operator": "equals", "value": "acme.com" }] },
    "limit": 5
  }'
JSON
{
  "object": "segment_preview",
  "audience_ids": [],
  "conditions": {
    "match": "all",
    "groups": [
      {
        "match": "all",
        "rules": [
          { "field": "email_domain", "operator": "equals", "value": "acme.com" }
        ]
      }
    ]
  },
  "contacts_count": 8,
  "subscribed_count": 8,
  "contacts": [
    {
      "object": "contact",
      "id": "con_2nYs7Ab3Kd9Lm1Qw5Er8Ty2Ui4o",
      "email": "ada@acme.com",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "custom_fields": {
        "plan": "pro",
        "renews_on": "2026-10-20"
      },
      "unsubscribed": false,
      "audiences": [
        {
          "id": "aud_2nYs8Qm4Hc1Zx7Vb3Ne6Tg9Lk2a",
          "name": "Customers",
          "subscribed": true
        }
      ],
      "created_at": "2026-03-11T08:00:00.000000+00:00",
      "updated_at": "2026-09-30T16:42:10.000000+00:00"
    }
  ]
}

Segmentfelder auflisten

Gibt die Felder zurück, die Segmentregeln in diesem Workspace verwenden können: die Kontaktfelder, jedes eigene Feld (typisiert nach seinem Feldtyp), die Mitgliedschaft in Kontaktlisten, Kaufdaten und das Engagement mit Kampagnen. Erfordert einen API-Schlüssel mit dem Scope full.

GET/segments/fields

Rückgabe

dataobject[]
Ein Eintrag pro Feld.
data[].keystring
Der Wert, den Sie als field einer Regel verwenden, zum Beispiel email_domain oder custom_fields.plan.
data[].labelstring
Anzeigename. Bei eigenen Feldern der Name des eigenen Felds.
data[].typestring
string, number, date, datetime, boolean, enum, multi, audience, metric, moment, purchase, view, cart, coupon oder campaign_activity. Siehe Segment erstellen. Aktivitätsfelder wie purchased nehmen ein Objekt als Wert an, siehe Aktivitätsregeln.
data[].groupstring
contact, custom_fields, audiences, commerce (Kaufdaten) oder engagement (Kampagnenaktivität).
data[].operatorsstring[]
Operatoren, die das Feld akzeptiert.
data[].valuesobject[]
Erlaubte Werte als value und label: die Optionen eigener Felder vom Typ Auswahl und Mehrfachauswahl, subscribed und unsubscribed für status sowie die Kontaktlisten des Workspaces für audience. Fehlt bei anderen Feldern.
GET/segments/fields
Terminal
curl https://api.emailit.com/v2/segments/fields \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "data": [
    {
      "key": "email",
      "label": "Email",
      "type": "string",
      "group": "contact",
      "operators": ["equals", "not_equals", "contains", "not_contains", "starts_with", "ends_with", "in", "not_in", "is_set", "is_not_set"]
    },
    {
      "key": "status",
      "label": "Subscription status",
      "type": "enum",
      "group": "contact",
      "operators": ["equals", "not_equals"],
      "values": [
        { "value": "subscribed", "label": "Subscribed" },
        { "value": "unsubscribed", "label": "Unsubscribed" }
      ]
    },
    {
      "key": "audience",
      "label": "Audience",
      "type": "audience",
      "group": "audiences",
      "operators": ["in", "not_in"],
      "values": [
        { "value": "aud_2nYs8Qm4Hc1Zx7Vb3Ne6Tg9Lk2a", "label": "Customers" }
      ]
    },
    {
      "key": "purchased",
      "label": "Purchased",
      "type": "purchase",
      "group": "commerce",
      "operators": [
        "has",
        "has_not"
      ]
    },
    {
      "key": "custom_fields.renews_on",
      "label": "Renews on",
      "type": "date",
      "group": "custom_fields",
      "operators": ["on", "before", "after", "between", "in_last_days", "more_than_days_ago", "in_next_days", "is_set", "is_not_set"]
    }
  ]
}

War diese Seite hilfreich?

Danke für Ihr Feedback.

Danke, wir lesen jede Nachricht.