Košíky
Posílejte košíky kupujících, aby Emailit poznal opuštěné košíky.
Vytvoření nebo úprava košíku
Pošlete aktuální košík kupujícího pokaždé, když se změní. Klíčem košíku je jeho id ve vašem obchodě: když stejné id pošlete znovu, uložený košík se upraví. Každé volání nahradí items a total košíku. E-mail, kontakt, měna a URL pokladny se zachovají, když je vynecháte. Vyžaduje API klíč s oprávněním full, nebo events. S klíčem s oprávněním events obsahuje odpověď jen object, id a external_id.
Košíky může místo toho posílat z prohlížeče měřicí skript.
Nový košík nebo změna položek, celkové částky, stavu nebo kontaktu košíku vyvolá událost cart.updated. Opakované odeslání stejného košíku nevyvolá nic.
Jak košík přechází mezi stavy:
- Opuštěný. Košík, který patří kontaktu, obsahuje aspoň jednu položku a neaktualizuje se po dobu
cart_abandon_minutesz nastavení E-commerce (ve výchozím stavu 60), přejde do stavuabandoneda Emailit vyvolácart.abandoned. Košíky bez kontaktu zůstávají ve stavuactive. - Znovu aktivní. Úprava opuštěného košíku ho vrátí do stavu
activea vymažeabandoned_at. - Převedený. Objednávka se stejným
cart_idkošík převede. Nová objednávka od stejného kontaktu převede také košíky tohoto kontaktu, které se naposledy změnily před objednávkou. Převedený košík zůstane převedený, i když ho upravíte.
/cartsTělo požadavku
idstring | numberPovinnéID košíku nebo pokladny ve vašem obchodě, nejvýše 255 znaků. Ukládá se jako external_id. Stejnou hodnotu pošlete v objednávce jako cart_id. Můžete ho poslat také jako external_id nebo cart_id.
emailstringKontaktní e-mail kupujícího. Propojí košík s kontaktem s touto adresou. Košíky nikdy nevytvářejí kontakty: košík bez odpovídajícího kontaktu se nemůže stát opuštěným. Přijímá se také customer.email.
contact_idstringKontakt kupujícího (con_...). Pokud žádný kontakt nemá toto ID, Emailit kontakt dohledá podle email.
anonymous_idstringID návštěvníka z měřicího skriptu, nejvýše 255 znaků. Když se tento návštěvník později identifikuje, košíky s tímto ID a bez kontaktu se s kontaktem propojí.
currencystringTřípísmenný kód ISO 4217. Výchozí hodnota je měna workspace v nastavení E-commerce.
itemsobject[]Až 250 položek ve stejném formátu jako items endpointu Vytvoření nebo úprava objednávky. Položky bez title, url nebo image_url je převezmou z katalogu. Přijímá se také line_items.
totalnumber | stringHodnota košíku. Výchozí hodnota je součet částek položek.
checkout_urlstringOdkaz http nebo https, který kupujícího vrátí k tomuto košíku, nejvýše 2 048 znaků. E-maily na něj mohou odkazovat pomocí bloku košíku.
statusstringactive (výchozí hodnota), nebo converted. Pokud chcete košík uzavřít sami, pošlete converted.
Odpověď
201 Created s objektem košíku, když je košík nový, nebo 200 OK, když se upravil existující košík. Pokud je některé pole neplatné, vrací 422.
{
"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"
]
}
}Načtení košíku
Načte košík podle jeho ID v Emailitu nebo podle ID košíku či pokladny ve vašem obchodě. Vyžaduje API klíč s oprávněním full.
/carts/{id}Parametry v cestě
idstringPovinnéID košíku (crt_...), nebo ID košíku či pokladny ve vašem obchodě (external_id). ID z obchodu, která obsahují speciální znaky, zakódujte pro URL.
Objekt košíku
objectstringVždy cart.
idstringID košíku v Emailitu (crt_...).
external_idstringID košíku nebo pokladny ve vašem obchodě: id, které jste poslali. Košíky z měřicího skriptu bez vlastního ID používají web: a za ním anonymní ID návštěvníka.
contact_idstring | nullKontakt, kterému košík patří (con_...), nebo null, dokud kupující není známý.
emailstring | nullKontaktní e-mail kupujícího.
statusstring-
active: kupující ještě nakupuje. -
abandoned: košík patří kontaktu, obsahuje položky a nezměnil se po dobucart_abandon_minutesz nastavení E-commerce. -
converted: z košíku vznikla objednávka, nebo jste ho poslali sestatusnastaveným naconverted.
currencystring | nullTřípísmenný kód ISO 4217 měny částek.
totalnumberHodnota košíku.
itemsobject[]Položky košíku. Každá má product_id (ID produktu ve vašem obchodě), variant_id, sku, title, quantity, unit_price, total, url a image_url.
checkout_urlstring | nullOdkaz, který kupujícího vrátí k tomuto košíku.
sourcestringapi, nebo js u košíků z měřicího skriptu.
abandoned_atstring | nullKdy byl košík označen jako opuštěný. Vymaže se, když se košík znovu upraví.
converted_atstring | nullKdy byl košík převeden na objednávku.
converted_order_idstring | nullObjednávka (ord_...), která košík převedla.
created_at, updated_atstringKdy byl košík poprvé uložen a kdy se naposledy změnil, ve formátu ISO 8601 v 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."
}Výpis košíků
Vypíše košíky, naposledy upravené jako první. Vyžaduje API klíč s oprávněním full.
/cartsParametry dotazu
pageintegerČíslo stránky pro stránkování (nejméně 1, výchozí hodnota 1).
limitintegerPočet košíků, které se vrátí (nejméně 1, nejvýše 100, výchozí hodnota 25).
statusstringJen košíky v tomto stavu: active, abandoned nebo converted.
contact_idstringJen košíky tohoto kontaktu (con_...).
matchstringHodnota all (výchozí) vyžaduje shodu se všemi filtry. S hodnotou or stačí shoda s kterýmkoli filtrem. Viz Filtrování.
orderstringKlíč řazení pro tento výpis. Viz klíče řazení níže.
directionstringasc, nebo desc.
Filtry a řazení
Filtry výpisů jsou jedna úroveň parametrů dotazu ve tvaru key.condition=value. Parametry match, order a direction a seznam podmínek pro každý typ najdete na stránce Filtrování.
Klíče filtrů
| Klíč | Typ | Podmínky | Poznámky |
|---|---|---|---|
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 | Hodnoty: 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 |
Klíče řazení
V parametru order předejte jeden z těchto klíčů a v parametru direction hodnotu asc, nebo desc: external_id, email, status, total, currency, updated_at, abandoned_at, created_at
Odpověď
Stránka objektů košíků v poli data a k tomu total_records, next_page_url a previous_page_url. URL stránek nesou jen page a limit, takže když na ně přejdete, přidejte znovu své filtry.
{
"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
}Smazání košíku
Smaže košík. Objednávek, které ho převedly, se to nedotkne. Pokud košík se stejným id pošlete znovu, uloží se jako nový košík. Vyžaduje API klíč s oprávněním full.
/carts/{id}Parametry v cestě
idstringPovinnéID košíku (crt_...), nebo ID košíku či pokladny ve vašem obchodě.
{
"object": "cart",
"id": "crt_3Rx784H7VYWRTViadjbp5oKHRud",
"deleted": true
}{
"error": "Cart not found",
"message": "Cart not found."
}