Filter

Einige Endpunkte in der API untersützen die Angabe von Filtern. Die Werte der Felder werden in der API immer als String übergeben. Customa kümmert sich intern um die Konvertierung in den richtigen Datentyp, falls erforderlich.

Kombination von Filtern

Durch die Kombination unterschiedlicher Filter lassen sich über die API Teile der Daten in Customa umfassend auswerten. Mehrere Filter werden mit einem booleschen UND verknüpft, so dass alle Filterbedingungen erfüllt sein müssen. Manche Filter erlauben die Angabe von mehreren Werten, nach denen gefiltert werden soll. Diese Werte werden mit einem booleschen ODER verknüpft, das heißt, es muss mindestens einer der Werte übereinstimmen.

Zur Veranschaulichung der Filter folgt ein Beispiel:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
    // ...
    "Filter": [
        {
            "Type": "MatchPrefix",
            "Field": "FirstName",
            "Values": [
                "A"
            ]
        },
        {
            "Type": "MatchSuffix",
            "Field": "EMail",
            "Values": [
                "@example.com",
                "@example.org"
            ]
        },
        {
            "Type": "GreaterThanOrEqual",
            "Field": "Birthday",
            "Values": [
                "1987-11-19T00:00:00.000Z"
            ]
        }
    ]
    // ...
}

Alle mit diesen über die Search API zurückgegebenen Kunden erfüllen dabei die folgenden drei Bedingungen:

  • Der Vorname beginnt mit A
  • Die E-Mailadresse endet entweder auf @example.com oder auf @example.org
  • Das Geburtsdatum ist frühestens der 19. November 1987

Filtertypen

Match-Filter

Match-Filter
1
2
3
4
5
6
7
{
    "Type": "Match",
    "Field": "Number",
    "Values": [
        "RE2025A98235D"
    ]
}
1
2
3
4
5
6
7
{
    "Type": "MatchPrefix",
    "Field": "PostalCode",
    "Values": [
        "22"
    ]
}
1
2
3
4
5
6
7
{
    "Type": "MatchSuffix",
    "Field": "EMail",
    "Values": [
        "@example.com"
    ]
}
1
2
3
4
5
6
7
{
    "Type": "MatchInfix",
    "Field": "Name",
    "Values": [
        "Toaster"
    ]
}

Match

Das Verhalten des Match-Filters hängt von der Art des Feldes ab, auf dem gefiltert werden soll. Bei Boolean- oder Zahlenfeldern wird exakt geprüft, ob der Wert übereinstimmt. Bei String-Feldern wird der Wert ohne Beachtung von Groß- und Kleinschreibung geprüft.

MatchPrefix, MatchSuffix und MatchInfix

Die MatchPrefix, MatchSuffix und MatchInfix-Varianten des Match-Filters arbeiten nur mit Strings und prüfen wie die Hauptvariante den Wert ohne Beachtung von Groß- und Kleinschreibung. In der Stats API stehen diese Filter nicht zur Verfügung, da das Backend diese nicht unterstützt.

Wertvergleich

  • LessThan
  • LessThanOrEqual
  • GreaterThan
  • GreaterThanOrEqual
Wertvergleich
1
2
3
4
5
6
7
{
    "Type": "LessThan",
    "Field": "Quantity",
    "Values": [
        "3"
    ]
}
1
2
3
4
5
6
7
{
    "Type": "LessThanOrEqual",
    "Field": "SalesPrice",
    "Values": [
        "44.95"
    ]
}
1
2
3
4
5
6
7
{
    "Type": "GraterThan",
    "Field": "ModificationDate",
    "Values": [
        "2025-11-01T17:45:00.000Z"
    ]
}
1
2
3
4
5
6
7
{
    "Type": "GreaterThanOrEqual",
    "Field": "Birthday",
    "Values": [
        "1987-11-19T00:00:00.000Z"
    ]
}

Die Wertvergleichsfilter funktionieren bei Zahlen-, Preis- und Datumsfeldern. Beim Vergleichen von Preisfeldern wird die Projektwährung verwendet.

Filter für leere Felder

  • IsEmpty
  • IsNotEmpty
Filter für leere Felder
1
2
3
4
5
{
    "Type": "IsEmpty",
    "Field": "Birthday",
    "Values": []
}
1
2
3
4
5
{
    "Type": "IsNotEmpty",
    "Field": "GoogleClickID",
    "Values": []
}

Die Filter für leere Werte prüfen, ob ein Feld, das NULL sein kann, einen Wert hat. Wenn das Feld ein String ist, prüft der Filter, ob der Inhalt ein leerer String ist. Die übergebenen Parameter werden nicht weiter ausgewertet.

Felder

Dieser Abschnitt bietet eine Übersicht über die Felder der einzelnen API-Entitäten, auf denen gefiltert werden kann. Grundsätzlich entsprechen diese vom Datentyp und ihrer Definition den Feldern in der API-Dokumentation, wenn nicht anders beschrieben. Die Stats API benutzt ein anderes Backend als die Search API, welches nicht das Filtern auf bestimmten Feldern erlaubt, bietet dafür jedoch die Möglichkeit, auf abhängigen Entitäten zu filtern.

Legende

  • ✅ Das Feld wird von der API unterstützt
  • ⚠️ Das Feld wird in Zukunft nicht mehr unterstützt
  • 🚫 Das Feld wird nicht unterstützt

Kunden

Feld Beschreibung Search API Stats API
CreationDate Erstellungszeitpunkt in der Customa-Datenbank
ModificationDate Zeitpunkt der letzten Änderung in der Customa-Datenbank
Number Kundennummer
Salutation Anrede des Kunden
Title (akademischer) Titel des Kunden 🚫
FirstName Vorname des Kunden
LastName Nachname des Kunden
Company Firmenname des Kunden 🚫
Address Anschrift des Kunden (Straße, Hausnummer) 🚫
PostalCode Postleitzahl des Kunden
Suburb Stadtteil/Bezirk des Kunden
City Stadt des Kunden
Country Land des Kunden (ISO 3166 ALPHA-2)
EMail E-Mailadresse des Kunden
Phone Telefonnummer des Kunden
Referrer Referrer des Kunden
ReferrerChannel Referrerkanal des Kunden
RegisterDate Registrierungsdatum des Kunden
PurchaseDate Letztes Einkaufsdatum des Kunden
Birthday Geburtstag des Kunden
Marketplace Marktplatz des Kunden
ExternalCustomerID Kunden-ID des Quellsystems vom Datenimport 🚫
ExternalOrderAccountID Mandanten-ID des Quellsystems vom Datenimport
ContactBan Hat der Kunde eine Kontaktsperre?
Newsletter Ist der Kunde ein Newsletterempfänger?
Segment Kundensegment

Produkte

Feld Beschreibung Search API Stats API
CreationDate Erstellungszeitpunkt in der Customa-Datenbank
ModificationDate Zeitpunkt der letzten Änderung in der Customa-Datenbank
Number Artikelnummer
EAN EAN des Produkts
Name Name des Produkts
ShortDescription Kurzbeschreibung des Produkts (z.B. in Produktlisten) 🚫
ShortDescription Lange Beschreibung des Produkts (z.B. auf der Produktdetailseite) 🚫
ImageSource URL des Produktbildes
Status Ist das Produkt aktiv?
TaxClass Steuerklasse des Produkts 🚫
Stock Bestand 🚫
PurchasePrice Einkaufspreis des Produkts (in Projektwährung)
SalesPrice Verkaufspreis des Produkts (in Projektwährung)
RecommendedRetailprice UVP des Produkts (in Projektwährung)

Belege

Info

In der Stats API sind zusätzliche Felder definiert.

Feld Beschreibung Search API Stats API
CreationDate Erstellungszeitpunkt in der Customa-Datenbank
ModificationDate Zeitpunkt der letzten Änderung in der Customa-Datenbank
Type Art des Belegs (z.B. RE=Rechnung, AU=Auftrag, etc.)
Number Belegnummer
ExternalOrderType
ExternalOrderID Beleg-ID im Quellsystem
ExternalOrderExternalID
ExternalOrderAccountID Mandanten-ID des Quellsystems vom Datenimport
ExternalOrderSubAccountID Shop-ID des Quellsystems vom Datenimport
Marketplace Marktplatz des Belegs
PurchaseDate Kaufdatum des Belegs
DeliveryDate Belegdatum Veraltet, bitte ReceiptDate benutzen! ⚠️ ⚠️
ReceiptDate Belegdatum
Referrer Referrer des Belegs
ReferrerChannel Referrerkanal des Belegs
PaymentMethod Zahlart des Belegs
RevenueNet Nettoumsatz des Belegs
RevenueGross Bruttoumsatz des Belegs
ReceiptStatus Belegstatus
PaymentStatus Zahlstatus
DeliveryStatus Lieferstatus
GoogleClickID 🚫

Belegpositionen

Info

In der Stats API sind zusätzliche Felder definiert.

Feld Beschreibung Search API Stats API
ProductNumber Artikelnummer der Belegposition. Kann sich von der Artikelnummer des Produkts unterscheiden! 🚫
Quantity Stückzahl der Belegposition 🚫
SellingPrice Verkaufspreis von 1 Stück des Artikels der Belegposition zum Zeitpunkt des Belegs. 🚫
PurchasePrice Einkaufspreis von 1 Stück des Artikels der Belegposition zum Zeitpunkt des Belegs. 🚫