Warenkörbe
Die Warenkörbe Ihrer Käufer senden, damit Emailit abgebrochene Warenkörbe erkennt.
Warenkorb erstellen oder aktualisieren
Senden Sie den aktuellen Warenkorb des Käufers bei jeder Änderung. Der Warenkorb wird über seine id in Ihrem Shop identifiziert: Senden Sie dieselbe id erneut, wird der gespeicherte Warenkorb aktualisiert. Jeder Aufruf ersetzt items und total des Warenkorbs. E-Mail-Adresse, Kontakt, Währung und Checkout-URL bleiben erhalten, wenn Sie sie weglassen. Erfordert einen API-Schlüssel mit dem Scope full oder events. Bei einem Schlüssel mit dem Scope events enthält die Antwort nur object, id und external_id.
Alternativ kann das Tracking-Skript Warenkörbe aus dem Browser senden.
Ein neuer Warenkorb oder eine Änderung an den Artikeln, dem Gesamtbetrag, dem Status oder dem Kontakt eines Warenkorbs löst cart.updated aus. Wird derselbe Warenkorb erneut gesendet, wird nichts ausgelöst.
So wechselt ein Warenkorb zwischen den Status:
- Abgebrochen. Ein Warenkorb, der zu einem Kontakt gehört, mindestens einen Artikel enthält und während der
cart_abandon_minutesder Commerce-Einstellungen (standardmäßig 60) nicht aktualisiert wird, wirdabandoned, und Emailit löstcart.abandonedaus. Warenkörbe ohne Kontakt bleibenactive. - Wieder aktiv. Wenn Sie einen abgebrochenen Warenkorb aktualisieren, wird er
activeundabandoned_atwird geleert. - Konvertiert. Eine Bestellung mit derselben
cart_idkonvertiert den Warenkorb. Eine neue Bestellung desselben Kontakts konvertiert außerdem die Warenkörbe dieses Kontakts, die zuletzt vor der Bestellung aktualisiert wurden. Ein konvertierter Warenkorb bleibt konvertiert, wenn Sie ihn aktualisieren.
/cartsAnfrage-Body
idstring | numberErforderlichDie Warenkorb- oder Checkout-ID in Ihrem Shop, bis zu 255 Zeichen. Wird als external_id gespeichert. Senden Sie denselben Wert als cart_id mit der Bestellung. Sie können ihn auch als external_id oder cart_id senden.
emailstringDie E-Mail-Adresse des Käufers. Verknüpft den Warenkorb mit dem Kontakt mit dieser Adresse. Warenkörbe erstellen nie Kontakte: Ein Warenkorb ohne passenden Kontakt kann nicht abgebrochen werden. customer.email wird ebenfalls akzeptiert.
contact_idstringDer Kontakt des Käufers (con_...). Wenn kein Kontakt diese ID hat, sucht Emailit den Kontakt über email.
anonymous_idstringDie Besucher-ID des Tracking-Skripts, bis zu 255 Zeichen. Wenn dieser Besucher später identifiziert wird, werden Warenkörbe mit dieser ID und ohne Kontakt mit dem Kontakt verknüpft.
currencystringDreistelliger Code nach ISO 4217. Standardmäßig gilt die Währung des Workspaces aus den Commerce-Einstellungen.
itemsobject[]Bis zu 250 Positionen im selben Format wie items bei Bestellung erstellen oder aktualisieren. Artikel ohne title, url oder image_url übernehmen diese aus dem Katalog. line_items wird ebenfalls akzeptiert.
totalnumber | stringWarenkorbwert. Standardwert: die Summe der Positionsbeträge.
checkout_urlstringEin http- oder https-Link, der den Käufer zu diesem Warenkorb zurückbringt, bis zu 2.048 Zeichen. E-Mails können mit dem Warenkorb-Block darauf verlinken.
statusstringactive (Standardwert) oder converted. Senden Sie converted, um einen Warenkorb selbst abzuschließen.
Rückgabe
201 Created mit dem Warenkorb-Objekt, wenn der Warenkorb neu ist, oder 200 OK, wenn ein bestehender Warenkorb aktualisiert wurde. Gibt 422 zurück, wenn ein Feld ungültig ist.
{
"object": "cart",
"id": "crt_3Rx784H7VYWRTViadjbp5oKHRud",
"external_id": "c-58f1a2",
"contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
"email": "ada@example.com",
"status": "active",
"currency": "USD",
"total": 89,
"items": [
{
"product_id": "8123456789",
"variant_id": "42-blue",
"sku": "TRS-BLU-42",
"title": "Trail running shoe",
"quantity": 1,
"unit_price": 89,
"total": 89,
"url": "https://shop.example.com/products/trail-running-shoe",
"image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
}
],
"checkout_url": "https://shop.example.com/cart/recover/c-58f1a2",
"source": "api",
"abandoned_at": null,
"converted_at": null,
"converted_order_id": null,
"created_at": "2026-10-08T12:12:47.630Z",
"updated_at": "2026-10-08T12:12:47.630Z"
}{
"message": "Validation failed. checkout_url: must be an http(s) URL",
"errors": {
"checkout_url": [
"must be an http(s) URL"
]
}
}Warenkorb abrufen
Ruft einen Warenkorb über seine Emailit-ID oder über die Warenkorb- oder Checkout-ID in Ihrem Shop ab. Erfordert einen API-Schlüssel mit dem Scope full.
/carts/{id}Pfadparameter
idstringErforderlichDie Warenkorb-ID (crt_...) oder die Warenkorb- oder Checkout-ID in Ihrem Shop (external_id). Shop-IDs mit Sonderzeichen müssen Sie URL-kodieren.
Das Warenkorb-Objekt
objectstringImmer cart.
idstringEmailit-Warenkorb-ID (crt_...).
external_idstringDie Warenkorb- oder Checkout-ID in Ihrem Shop: die id, die Sie gesendet haben. Warenkörbe aus dem Tracking-Skript ohne eigene ID verwenden web: plus die anonyme ID des Besuchers.
contact_idstring | nullDer Kontakt, zu dem der Warenkorb gehört (con_...), oder null, solange der Käufer unbekannt ist.
emailstring | nullDie E-Mail-Adresse des Käufers.
statusstring-
active: Der Käufer kauft noch ein. -
abandoned: Der Warenkorb gehört zu einem Kontakt, enthält Artikel und hat sich während dercart_abandon_minutesder Commerce-Einstellungen nicht geändert. -
converted: Für ihn wurde eine Bestellung aufgegeben, oder Sie haben ihn mitstatusaufconvertedgesendet.
currencystring | nullDreistelliger Code nach ISO 4217 für die Beträge.
totalnumberWarenkorbwert.
itemsobject[]Positionen. Jede hat product_id (die Produkt-ID in Ihrem Shop), variant_id, sku, title, quantity, unit_price, total, url und image_url.
checkout_urlstring | nullLink, der den Käufer zu diesem Warenkorb zurückbringt.
sourcestringapi oder js für Warenkörbe aus dem Tracking-Skript.
abandoned_atstring | nullZeitpunkt, zu dem der Warenkorb als abgebrochen markiert wurde. Wird geleert, wenn der Warenkorb erneut aktualisiert wird.
converted_atstring | nullZeitpunkt, zu dem der Warenkorb konvertiert wurde.
converted_order_idstring | nullDie Bestellung (ord_...), die den Warenkorb konvertiert hat.
created_at, updated_atstringZeitpunkt der ersten Speicherung und der letzten Änderung des Warenkorbs, im Format ISO 8601 in UTC.
{
"object": "cart",
"id": "crt_3Rx784H7VYWRTViadjbp5oKHRud",
"external_id": "c-58f1a2",
"contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
"email": "ada@example.com",
"status": "abandoned",
"currency": "USD",
"total": 107,
"items": [
{
"product_id": "8123456789",
"variant_id": "42-blue",
"sku": "TRS-BLU-42",
"title": "Trail running shoe",
"quantity": 1,
"unit_price": 89,
"total": 89,
"url": "https://shop.example.com/products/trail-running-shoe",
"image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
},
{
"product_id": "8123456790",
"variant_id": null,
"sku": null,
"title": "Merino running socks",
"quantity": 2,
"unit_price": 9,
"total": 18,
"url": "https://shop.example.com/products/merino-running-socks",
"image_url": "https://shop.example.com/images/merino-running-socks.jpg"
}
],
"checkout_url": "https://shop.example.com/cart/recover/c-58f1a2",
"source": "api",
"abandoned_at": "2026-10-08T13:31:04.118Z",
"converted_at": null,
"converted_order_id": null,
"created_at": "2026-10-08T12:12:47.630Z",
"updated_at": "2026-10-08T12:28:51.902Z"
}{
"error": "Cart not found",
"message": "Cart not found."
}Warenkörbe auflisten
Listet Warenkörbe auf, zuletzt aktualisierte zuerst. Erfordert einen API-Schlüssel mit dem Scope full.
/cartsQuery-Parameter
pageintegerSeitennummer für die Paginierung (Minimum: 1, Standardwert: 1).
limitintegerAnzahl der zurückgegebenen Warenkörbe (Minimum: 1, Maximum: 100, Standardwert: 25).
statusstringNur Warenkörbe mit diesem Status: active, abandoned oder converted.
contact_idstringNur Warenkörbe dieses Kontakts (con_...).
matchstringall (Standardwert) verlangt, dass alle Filter zutreffen. or trifft zu, wenn ein beliebiger Filter passt. Siehe Filtern und Sortieren.
orderstringSortierschlüssel für diese Liste. Siehe die Sortierschlüssel unten.
directionstringasc oder desc.
Filter und Sortierung
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üssel | Typ | Bedingungen | Hinweise |
|---|---|---|---|
external_id | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
email | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
status | enum | exact, not_exact | Werte: active, abandoned, converted |
total | number | exact, not_exact, gt, gte, lt, lte, empty, not_empty | |
currency | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
updated_at | date | exact, before, after, empty, not_empty | |
abandoned_at | date | exact, before, after, empty, not_empty | |
created_at | date | exact, before, after, empty, not_empty |
Sortierschlüssel
Übergeben Sie in order einen dieser Schlüssel und in direction den Wert asc oder desc: external_id, email, status, total, currency, updated_at, abandoned_at, created_at
Rückgabe
Eine Seite mit Warenkorb-Objekten in data, dazu total_records, next_page_url und previous_page_url. Die Seiten-URLs enthalten nur page und limit; fügen Sie Ihre Filter daher erneut hinzu, wenn Sie ihnen folgen.
{
"data": [
{
"object": "cart",
"id": "crt_3Rx784H7VYWRTViadjbp5oKHRud",
"external_id": "c-58f1a2",
"contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
"email": "ada@example.com",
"status": "abandoned",
"currency": "USD",
"total": 89,
"items": [
{
"product_id": "8123456789",
"variant_id": "42-blue",
"sku": "TRS-BLU-42",
"title": "Trail running shoe",
"quantity": 1,
"unit_price": 89,
"total": 89,
"url": "https://shop.example.com/products/trail-running-shoe",
"image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
}
],
"checkout_url": "https://shop.example.com/cart/recover/c-58f1a2",
"source": "api",
"abandoned_at": "2026-10-08T13:31:04.118Z",
"converted_at": null,
"converted_order_id": null,
"created_at": "2026-10-08T12:12:47.630Z",
"updated_at": "2026-10-08T12:28:51.902Z"
}
],
"total_records": 1,
"next_page_url": null,
"previous_page_url": null
}Warenkorb löschen
Löscht einen Warenkorb. Bestellungen, die ihn konvertiert haben, sind nicht betroffen. Wenn Sie einen Warenkorb mit derselben id erneut senden, wird er als neuer Warenkorb gespeichert. Erfordert einen API-Schlüssel mit dem Scope full.
/carts/{id}Pfadparameter
idstringErforderlichDie Warenkorb-ID (crt_...) oder die Warenkorb- oder Checkout-ID in Ihrem Shop.
{
"object": "cart",
"id": "crt_3Rx784H7VYWRTViadjbp5oKHRud",
"deleted": true
}{
"error": "Cart not found",
"message": "Cart not found."
}