Reference automatizací
Vše na této stránce se generuje z kódu validátoru Poštárny a testy ověřují, že každý příklad validátor přijme, že bez povinného pole automatizace nejde zapnout a že výčtové hodnoty odpovídají validátoru. Stejná schémata jsou v OpenAPI jako AutomationNode_<typ>, ConditionRule_<typ>, SegmentRule_<typ> a TimeSpec.
Technické popisy polí jsou anglicky, stejně jako v OpenAPI.
Uzly
Každý uzel: {"id": "<klíč>", "type": "<typ>", "name"?, "note"?, "position"?, "config": {...}}. Pole se sloupcem „Povinné“ = ano musí být vyplněná, jinak automatizace nejde zapnout ani otestovat (graf se ale uloží, viz validace). Další pole bývají povinná jen u některých hodnot (například listId u události list_added); popis to uvádí.
Spouštěče
trigger_now
Starts once, right at the activation, with the contacts of the shop matching the filter (SmartEmailing "Hned teď").
Výstupy: next · SmartEmailing: run
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
filter | ConditionGroup or null | ne | Who may enter: a condition tree (segment rules and automation conditions except the run only ones). null or left out = every mailable contact of the shop. |
reentry | one of: parallel, restart, skip, once | ne | What happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever). |
{
"id": "trigger-now-1",
"type": "trigger_now",
"config": {
"reentry": "once"
}
}trigger_scheduled
Starts once at a local date and time (SmartEmailing "V plánovaný čas").
Výstupy: next · Povinné pro zapnutí: at · SmartEmailing: scheduled-time
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
at | string | ano | YYYY-MM-DDTHH:MM, local time of the company. pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$ |
filter | ConditionGroup or null | ne | Who may enter: a condition tree (segment rules and automation conditions except the run only ones). null or left out = every mailable contact of the shop. |
reentry | one of: parallel, restart, skip, once | ne | What happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever). |
{
"id": "trigger-scheduled-1",
"type": "trigger_scheduled",
"config": {
"at": "2026-12-01T09:00",
"reentry": "once"
}
}trigger_repeat
Starts repeatedly every every from startAt (default the activation) until stopAt, with the contacts matching the filter (SmartEmailing "Opakovat").
Výstupy: next · Povinné pro zapnutí: every · SmartEmailing: repeat
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
every | object | ano | Interval, at least 15 minutes, at most 10 years. |
startAt | string | ne | YYYY-MM-DDTHH:MM (local). pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$ |
stopAt | string | ne | YYYY-MM-DDTHH:MM (local), after startAt. pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$ |
filter | ConditionGroup or null | ne | Who may enter: a condition tree (segment rules and automation conditions except the run only ones). null or left out = every mailable contact of the shop. |
reentry | one of: parallel, restart, skip, once | ne | What happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever). |
{
"id": "trigger-repeat-1",
"type": "trigger_repeat",
"config": {
"every": {
"value": 1,
"unit": "days"
},
"startAt": "2026-11-01T08:00",
"reentry": "parallel",
"filter": {
"type": "group",
"match": "all",
"rules": [
{
"type": "contact_anniversary",
"field": "nameDay",
"relation": "now"
}
]
}
}
}trigger_event
Starts when an event happens to a contact (SmartEmailing "Při události"). Only events after the activation count. Event specific settings: cart_updated: The contact's cart changed (POST /contact-events type cart). shopId narrows the shop. contact_created: A new contact of the automation's shop. order_created: A new order (shopId: shop of the order, default the automation's shop). order_changed: An order changed state (state narrows to one state). list_added: The contact was added to listId. contact_updated: A profile field changed (fieldFilter narrows to one field and its values before / after). action_failed: An action of an automation failed (failureType, failureNode narrow it). list_status_changed: The contact's state in listId changed to status. email_sent: An e-mail of emailNode (a send_email node of ANOTHER automation) was sent. page_visit: A web tracking visit (POST /contact-events type visit): url, urlOperator, visitType. link_clicked: The contact clicked a link (link, compareParams) in an e-mail of emailNode (another automation). engagement_changed: The contact's engagement level changed. custom: A custom event named customEvent (POST /contact-events type custom, or a fire_event node of another automation). form_submitted: A form was submitted and confirmed (formId narrows to one form). blacklisted: The contact was blacklisted. order_completed: An order was completed (paid, shipped or delivered). subscribed: The contact subscribed (sources narrows the source; imports only when listed). manual: Contacts added by hand: POST /automations/{id}/contacts.
Výstupy: next · Povinné pro zapnutí: event · SmartEmailing: on-event
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
event | one of: cart_updated, contact_created, order_created, order_changed, list_added, contact_updated, score_changed, action_failed, list_status_changed, automation_saved, email_sent, sms_sent, page_visit, motionlab_rendered, link_clicked, engagement_changed, custom, form_submitted, blacklisted, order_completed, subscribed, manual | ano | The event. Not available yet: score_changed (scoring), automation_saved (unverified), sms_sent (sms), motionlab_rendered (motionlab). |
shopId | string | ne | Orders, carts, visits: shop (default the automation's). |
listId | string | ne | list_added, list_status_changed: list id. |
sources | array of one of: erp_order, signup_form, import, api, manual, shoptet, smartemailing | ne | subscribed: sources (default erp_order, signup_form, api, manual). min 1 items |
state | one of: new, unpaid, paid, processing, shipped, pickup, delivered, cancelled, returned, other | ne | order_changed: the new order state. |
status | one of: confirmed, unsubscribed, removed | ne | list_status_changed: the new state. |
fieldFilter | object | ne | contact_updated: one field and optionally its values before and after. Operators by field kind: text: any, eq, empty, filled, contains, starts; date: any, on_day, newer, until, older, from, filled, empty; number: any, gt, gte, lt, lte, filled, empty; choice: any, eq_option, filled, empty; multi: any, has_option, filled, empty; checkbox: any, checked, unchecked. Fields: affiliateId, language, firstName, mobile, city, birthday, vocativeFirstName, salutation, salutationFormal, vocativeLastName, gender, note, lastName, postalCode, company, nameDay, phone, titleBefore, titleAfter, street, country or cf:<id>. |
failureType | one of: customizationDataboxTerminate, customizationDataboxOutOfPromocodes, customizationSyntaxError, contactSetFieldFail, smsRateLimitReached, sklikError, other | ne | action_failed: type. |
failureNode | object | ne | action_failed: the node (automationId null = this graph). |
emailNode | object | ne | An e-mail node: automationId null (or left out) = a send_email node of this graph, else the id of another automation of the company and its node key. |
link | string | ne | link_clicked: the URL (at most 2 000); empty = any link. |
compareParams | boolean | ne | link_clicked: compare query parameters, default true. |
url | string | ne | page_visit: URL (at most 2 000). |
urlOperator | one of: eq, starts | ne | page_visit: eq (default) or starts. |
visitType | one of: home, article, cart, product, category, search, order_done, other | ne | page_visit: type of page. |
customEvent | string | ne | custom: event name, a-z, 0-9 and - (1 to 50), not starting with se-. pattern ^[a-z0-9-]{1,50}$ |
formId | string | ne | form_submitted: form id (empty = any form). |
reentry | one of: parallel, restart, skip, once | ne | What happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever). |
{
"id": "trigger-event-1",
"type": "trigger_event",
"config": {
"event": "cart_updated",
"shopId": "1",
"reentry": "restart"
}
}trigger_date
Starts once a day at at for contacts whose date is today: name day, birthday, a date custom field (shifted by offsetDays), fixed holidays (every contact of the shop), or the first completed order exactly days ago.
Výstupy: next · Povinné pro zapnutí: kind, at
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
kind | one of: name_day, birthday, first_order, custom_date, holiday | ano | Kind of date. |
days | integer | ne | first_order: days after the first order, 1 to 3 650. min 1, max 3650 |
field | string | ne | custom_date: cf:<id> of a date custom field. |
dates | array of string | ne | holiday: days of the year MM-DD (at most 366, unique). min 1 items, max 366 items |
offsetDays | integer | ne | name_day, birthday, custom_date: shift -365 to 365 (e.g. -3 = three days before). min -365, max 365 |
at | string | ano | HH:MM local time of the daily pass. pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$ |
reentry | one of: parallel, restart, skip, once | ne | What happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever). |
{
"id": "trigger-date-1",
"type": "trigger_date",
"config": {
"kind": "name_day",
"at": "08:00",
"reentry": "parallel"
}
}trigger_reorder
Starts once a day at at for customers whose last completed order is older than their usual interval between orders ("buy again"): the average gap of their order days, defaultDays with one order day, clamped to minDays..maxDays, plus graceDays.
Výstupy: next · Povinné pro zapnutí: at
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
at | string | ano | HH:MM. pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$ |
defaultDays | integer | ne | 1 to 365, default 30. default 30, min 1, max 365 |
minDays | integer | ne | 1 to 365, default 14. default 14, min 1, max 365 |
maxDays | integer | ne | 1 to 365 and >= minDays, default 120. default 120, min 1, max 365 |
graceDays | integer | ne | 0 to 365, default 0. default 0, min 0, max 365 |
reentry | one of: parallel, restart, skip, once | ne | What happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever). |
{
"id": "trigger-reorder-1",
"type": "trigger_reorder",
"config": {
"at": "10:00",
"defaultDays": 30,
"minDays": 14,
"maxDays": 120,
"graceDays": 3,
"reentry": "parallel"
}
}Operátory
condition
Splits the run: output yes when the definition holds, else no. With waitUntilMet the contact waits until it holds (then yes) or the time runs out (then no); checked every 20 minutes to once a day.
Výstupy: yes, no · Povinné pro zapnutí: definition · SmartEmailing: condition
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
definition | ConditionGroup | ano | |
waitUntilMet | object | ne | Wait for the definition up to this long (15 minutes to 10 years). |
waitUpTo | object | ne | Older form of waitUntilMet (hours or days, at most 30 days). |
{
"id": "condition-1",
"type": "condition",
"config": {
"definition": {
"type": "group",
"match": "all",
"rules": [
{
"type": "email_activity",
"operator": "opened",
"nodeId": null
}
]
}
}
}wait
Waits. mode time: until the time spec (relative to the arrival at the node, or to the entry with countFrom scenario); preferred: until the contact's usual reading time (most frequent quarter hour of opens, else no wait); spread: releases the contacts evenly over the period; duration: value units; time_of_day: the next HH:MM; weekday: the next listed weekday at time; date: a local date and time. At most 10 years.
Výstupy: next · Povinné pro zapnutí: mode · SmartEmailing: wait
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
mode | one of: time, preferred, spread, duration, time_of_day, weekday, date | ano | Mode. |
spec | TimeSpec | ne | |
countFrom | one of: node, scenario | ne | time: node (default) or scenario. |
spread | object | ne | spread: period over which contacts are released. |
value | integer | ne | duration: 1 to 100 000. min 1, max 100000 |
unit | one of: minutes, hours, days, weeks, months, years | ne | duration: unit. |
time | string | ne | time_of_day, weekday: HH:MM. pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$ |
weekdays | array of integer | ne | weekday: 1 (Monday) to 7, unique. min 1 items |
date | string | ne | date: YYYY-MM-DDTHH:MM local. pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$ |
{
"id": "wait-1",
"type": "wait",
"config": {
"mode": "duration",
"value": 2,
"unit": "days"
}
}ab_test
Splits contacts randomly (stable per run) into 2 to 10 variants; outputs v1..vN.
Výstupy: v1, ..., v10 · Povinné pro zapnutí: variants · SmartEmailing: ab
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
variants | array of object | ano | 2 to 10 variants {key: "v1".."vN" in order, share 1..99}, shares sum to 100. min 2 items, max 10 items |
{
"id": "ab-test-1",
"type": "ab_test",
"config": {
"variants": [
{
"key": "v1",
"share": 50
},
{
"key": "v2",
"share": 50
}
]
}
}holding
Storage (Odkladiště): contacts wait here until an edge out of the node is added (then they continue) or 90 days pass.
Výstupy: next · SmartEmailing: storage
Bez nastavení.
{
"id": "holding-1",
"type": "holding",
"config": {}
}goal
Goal of the scenario: before every step the goals are checked; a contact who meets one leaves the scenario wherever it is. No edges in or out.
Výstupy: - · Povinné pro zapnutí: definition
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
definition | ConditionGroup | ano |
{
"id": "goal-1",
"type": "goal",
"config": {
"definition": {
"type": "group",
"match": "all",
"rules": [
{
"type": "ordered_since_entry",
"operator": "yes",
"shopId": null
}
]
}
}
}Akce
send_email
Sends an e-mail from a template (once per node and contact within the company's window). Only to mailable contacts, rechecked right before sending.
Výstupy: next · Povinné pro zapnutí: templateId · SmartEmailing: send-email
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
templateId | string | ano | Template with content (GET /templates). Required. |
templateRef | string | ne | Information only (definition files). |
subject | string | ne | Subject, at most 200 characters; default the template's. |
preheader | string | ne | Preheader, at most 300; default the template's. |
senderId | string | ne | Sender of the automation's shop (GET /senders); default the shop's default sender. Must be verified to activate. |
senderName | string | ne | Sender name, at most 100. |
replyTo | string | ne | Reply-To e-mail address. |
trackOpens | boolean | ne | Default true. |
trackClicks | boolean | ne | Default true. |
trackingParams | object | ne | UTM parameters added to links. |
headers | object | ne | Own e-mail headers. |
unsubscribePageId | string | ne | Own unsubscribe page of this node (GET /unsubscribe-pages). |
controlAddress | string | ne | Send every e-mail of this node only to this test address of the company (GET /test-recipients) instead of the contact; for checking a live scenario. |
{
"id": "send-email-1",
"type": "send_email",
"config": {
"templateId": "301",
"subject": "Zapomněli jste něco v košíku",
"trackOpens": true,
"trackClicks": true
}
}list_change
Sets the contact's state in manual lists (confirmed adds, unsubscribed and removed take out). Lists bound to an e-shop cannot be changed.
Výstupy: next · Povinné pro zapnutí: status, listIds · SmartEmailing: add-to-list
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
status | one of: confirmed, unsubscribed, removed | ano | New state. |
action | one of: add, remove | ne | Older form: add = confirmed, remove = removed. |
listIds | array of string | ano | 1 to 20 manual or form list ids, unique. min 1 items, max 20 items |
listRefs | array of string | ne | Information only. |
{
"id": "list-change-1",
"type": "list_change",
"config": {
"status": "confirmed",
"listIds": [
"101"
]
}
}webhook
Calls a URL (queued, retried 5 times 5 minutes apart on a non-2xx answer, then an action failure "other"). Merge tags work in url (percent-encoded), body (JSON-escaped when the Content-Type is JSON; POST defaults to application/json) and header values. Only public addresses, no redirects.
Výstupy: next · Povinné pro zapnutí: url · SmartEmailing: send-webhook
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
url | string | ano | http(s) URL or one starting with a merge tag, at most 2 000. |
method | one of: GET, POST | ne | Default POST. default POST |
body | string | ne | POST body, at most 10 000 characters (merge tags allowed). |
headers | array of object | ne | At most 20 {name, value}. max 20 items |
basicAuth | object | ne | HTTP Basic of the call. password is write only: answers show passwordSet. |
{
"id": "webhook-1",
"type": "webhook",
"config": {
"url": "https://crm.example.cz/hooks/postarna",
"method": "POST",
"body": "{\"email\": \"{{df_emailaddress}}\", \"event\": \"cart\"}",
"headers": [
{
"name": "X-Source",
"value": "postarna"
}
]
}
}set_field
Sets or clears a contact field. valueKind fixed (a value of the field's type), relative (dates: a time spec from now) or template (text fields: merge tags).
Výstupy: next · Povinné pro zapnutí: field, action · SmartEmailing: set-field
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
field | string | ano | System field (firstName, lastName, titleBefore, titleAfter, company, companyId, phone, mobile, street, city, postalCode, note, affiliateId, salutation, salutationFormal, vocativeFirstName, vocativeLastName, gender, language, country, birthday, nameDay) or cf:<id>. |
action | one of: set, clear | ano | Action. |
valueKind | one of: fixed, relative, template | ne | Default fixed. default fixed |
value | any | ne | set only: by field kind: text (at most 200), textarea (1 000), gender f / m, language xx, country XX, date YYYY-MM-DD, name day MM-DD, number as string, checkbox true / false, select / radio an option, multi_checkbox a list of options. |
{
"id": "set-field-1",
"type": "set_field",
"config": {
"field": "cf:62",
"action": "set",
"valueKind": "fixed",
"value": "VIP"
}
}reset
Ends the contact's other active runs of this scenario that wait in nodes after this one (SmartEmailing Reset).
Výstupy: next · SmartEmailing: reset
Bez nastavení.
{
"id": "reset-1",
"type": "reset",
"config": {}
}fire_event
Fires a custom event of the contact that event triggers (custom) of OTHER automations listen to.
Výstupy: next · Povinné pro zapnutí: name · SmartEmailing: fire-event
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
name | string | ano | a-z, 0-9 and - (1 to 50), not starting with se-. pattern ^[a-z0-9-]{1,50}$ |
data | object | ne | Event data, at most 2 000 characters as JSON. |
{
"id": "fire-event-1",
"type": "fire_event",
"config": {
"name": "vip-reached",
"data": {
"level": "gold"
}
}
}notify
Notifies the team in the app (notification centre).
Výstupy: next · Povinné pro zapnutí: message
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
message | string | ano | 1 to 500 characters. |
important | boolean | ne | Mark as important, default false. |
{
"id": "notify-1",
"type": "notify",
"config": {
"message": "Zákazník dosáhl VIP úrovně",
"important": false
}
}goto
Jumps to another node of this graph (not a trigger or goal; the jump counts as an edge for cycles, so only forward).
Výstupy: - · Povinné pro zapnutí: target
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
target | string | ano | Key of the target node. |
end
Ends the run (the contact leaves).
Výstupy: -
Bez nastavení.
{
"id": "end-1",
"type": "end",
"config": {}
}Zatím nedostupné
| Typ | Chybí |
|---|---|
send_sms | sms |
send_viber | viber |
fb_audience | meta |
sklik_retargeting | sklik |
motionlab_adina | motionlab |
whatsapp |
Podmínky automatizací
Pravidla uzlu condition, cíle a filtru spouštěčů (spolu s pravidly segmentů níže). Každé smí mít negate.
ab_test_significant
The difference between nodes A and B is significant (95 %, two-proportion z-test).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | ab_test_significant | ano | |
metric | one of: open_rate, click_rate | ano | Metric. |
nodeA | string | ano | send_email node key. |
nodeB | string | ano | Another send_email node key. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
ab_test_winner
Node A beats node B (two send_email nodes of this graph) in open or click rate.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | ab_test_winner | ano | |
metric | one of: open_rate, click_rate | ano | Metric. |
nodeA | string | ano | send_email node key. |
nodeB | string | ano | Another send_email node key. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
cart_items
Old name of cart_items_count (still accepted).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | cart_items | ano | |
operator | one of: eq, lt, lte, gt, gte | ano | Operator. |
value | any | ano | Whole number. |
shopId | string or null | ne | |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "cart_items",
"operator": "gt",
"value": 0
}cart_items_count
Items in the contact's cart (a cart not changed since an order counts as empty).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | cart_items_count | ano | |
operator | one of: eq, lt, lte, gt, gte | ano | Operator. |
value | any | ano | Whole number. |
shopId | string or null | ne | Shop, null = any cart. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "cart_items_count",
"operator": "gt",
"value": 0,
"shopId": "1"
}contact_anniversary
Today is (or is offset from) the contact's birthday, name day or a date custom field. nameDay: the contact's own name day, else the calendar of the first name (calendar auto = Slovak for language sk, else by the shop's language).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | contact_anniversary | ano | |
field | string | ano | birthday, nameDay or cf:<id> of a date field. |
calendar | one of: auto, cz, sk | ne | nameDay only. |
relation | one of: now, offset | ne | now = today; offset = shifted. default now |
offset | object | ne | With relation offset, at least 15 minutes. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "contact_anniversary",
"field": "nameDay",
"calendar": "auto",
"relation": "now"
}contact_field
A contact field (system field or cf:<id>) compared with a value. Text: eq, filled, empty, gt, gte, lt, lte, starts, contains; dates: date_eq, date_filled, date_empty, date_after, date_from, date_before, date_until with a time spec value; numbers: eq, gt, gte, lt, lte, filled, empty; gender: eq (f / m); checkbox: checked, unchecked; choice: eq_option; multi: has_option.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | contact_field | ano | |
field | string | ano | System field (affiliateId, domain, email, language, firstName, mobile, city, birthday, vocativeFirstName, salutation, salutationFormal, vocativeLastName, gender, note, lastName, postalCode, company, nameDay, phone, titleBefore, titleAfter, street, createdAt, country, companyId) or cf:<id>. |
operator | string | ano | Operator for the field kind. |
value | any | ne | Text, number, f / m, an option, or a time spec for dates. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "contact_field",
"field": "city",
"operator": "eq",
"value": "Brno"
}contact_in_any_list
Contact is in any list in a state.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | contact_in_any_list | ano | |
state | one of: confirmed, unsubscribed | ne | State, default confirmed. default confirmed |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
{
"type": "contact_in_any_list"
}contact_in_automation
Contact is in an automation (another active run of it). automationId null = this automation (not allowed in a trigger filter).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | contact_in_automation | ano | |
automationId | string or null | ne | |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "contact_in_automation",
"automationId": "201"
}contact_in_list
Contact is in a list in a state.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | contact_in_list | ano | |
listId | string | ano | List id. |
state | one of: confirmed, unsubscribed | ne | State, default confirmed. default confirmed |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
{
"type": "contact_in_list",
"listId": "101",
"state": "confirmed"
}contact_in_list_label
Contact is in a list with this label.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | contact_in_list_label | ano | |
label | string | ano | Label, at most 40. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
{
"type": "contact_in_list_label",
"label": "newsletter"
}contact_origin
Contact came from a source.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | contact_origin | ano | |
origin | one of: erp_order, signup_form, import, api, manual, shoptet, smartemailing | ano | Source. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "contact_origin",
"origin": "signup_form"
}contact_purpose
Contact has a valid consent with a purpose.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | contact_purpose | ano | |
purposeId | string | ano | Purpose id. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
{
"type": "contact_purpose",
"purposeId": "51"
}day_of_month
Today is one of these days of the month.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | day_of_month | ano | |
days | array of integer | ano | Days 1 to 31. min 1 items |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "day_of_month",
"days": [
1,
15
]
}day_of_week
Today is one of these weekdays (1 = Monday).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | day_of_week | ano | |
weekdays | array of integer | ano | 1 to 7. min 1 items |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "day_of_week",
"weekdays": [
6,
7
]
}email_activity
The contact opened / clicked an e-mail of this run (nodeId null = any). Run only. (not allowed in trigger filters (needs a run))
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | email_activity | ano | |
operator | one of: opened, not_opened, clicked, not_clicked | ano | Operator. |
nodeId | string or null | ne | send_email node key. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "email_activity",
"operator": "opened",
"nodeId": null
}engagement_score
Engagement level of the contact.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | engagement_score | ano | |
levels | array of one of: N, A, B, C, D, E | ano | Levels. min 1 items |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "engagement_score",
"levels": [
"A",
"B"
]
}event_attribute
A value of the data of the custom event that started the run (data of POST /contact-events type custom, or of a fire_event node of another automation). Other triggers have no such data. Run only. (not allowed in trigger filters (needs a run))
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | event_attribute | ano | |
attribute | string | ano | Name. |
operator | one of: eq, contains, starts, gt, gte, lt, lte, filled, empty | ano | Operator. |
value | string | ne | Text. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "event_attribute",
"attribute": "plan",
"operator": "eq",
"value": "gold"
}feed_item_count
Number of items of a feed.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | feed_item_count | ano | |
feedId | string | ano | Feed id. |
operator | one of: eq, lt, lte, gt, gte | ano | Operator. |
value | any | ano | Whole number. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "feed_item_count",
"feedId": "71",
"operator": "gt",
"value": 0
}hour_of_day
The current hour (local) is one of these.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | hour_of_day | ano | |
hours | array of integer | ano | 0 to 23. min 1 items |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "hour_of_day",
"hours": [
8,
9,
10
]
}opened_email
The contact opened an e-mail of a node.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | opened_email | ano | |
emailNode | object | ano | An e-mail node: automationId null (or left out) = a send_email node of this graph, else the id of another automation of the company and its node key. |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "opened_email",
"emailNode": {
"automationId": "201",
"nodeKey": "email-1"
}
}opened_emails_count
Number of e-mails the contact opened.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | opened_emails_count | ano | |
operator | one of: eq, lt, lte, gt, gte | ano | Operator. |
value | any | ano | Whole number. |
kinds | array of one of: automation, campaign, transactional | ne | Kinds. |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "opened_emails_count",
"operator": "eq",
"value": 0
}ordered_attribute
A value of an order: code, state, status, sourceStatus, currency, companyId, totalWithVat, totalWithoutVat, or any delivery data field.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | ordered_attribute | ano | |
attribute | string | ano | Attribute name: letters, digits and _ . : - (at most 60). |
attributeType | one of: text, date, number | ne | How to compare. default text |
operator | one of: eq, filled, gt, gte, lt, lte, starts | ano | Operator. |
value | any | ne | Text, a number, or a time spec for attributeType date. |
limitToTriggerEvent | boolean | ne | Only the order of the run's own trigger event (order triggers). |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "ordered_attribute",
"attribute": "currency",
"operator": "eq",
"value": "CZK"
}ordered_product
The contact ordered a product by id (product code) or name.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | ordered_product | ano | |
productField | one of: id, name | ne | Field, default id. default id |
operator | one of: eq, starts, contains | ano | Operator. |
value | string | ano | Text. |
limitToTriggerEvent | boolean | ne | Only the order of the run's own trigger event (order triggers). |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "ordered_product",
"productField": "id",
"operator": "eq",
"value": "SKU-001"
}ordered_product_by_attribute
The contact ordered a product with a feed attribute.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | ordered_product_by_attribute | ano | |
attribute | string | ano | Attribute name: letters, digits and _ . : - (at most 60). |
attributeType | one of: text, date, number | ne | How to compare. default text |
operator | one of: eq, filled, gt, gte, lt, lte, starts | ano | Operator. |
value | any | ne | Text, a number, or a time spec for attributeType date. |
limitToTriggerEvent | boolean | ne | Only the order of the run's own trigger event (order triggers). |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "ordered_product_by_attribute",
"attribute": "brand",
"operator": "eq",
"value": "Example"
}ordered_since_entry
The contact ordered since the run entered. Run only. (not allowed in trigger filters (needs a run))
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | ordered_since_entry | ano | |
operator | one of: yes, no | ano | Operator. |
shopId | string or null | ne | |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "ordered_since_entry",
"operator": "yes",
"shopId": null
}orders_count
Number of orders.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | orders_count | ano | |
operator | one of: eq, lt, lte, gt, gte | ano | Operator. |
value | any | ano | Whole number. |
paid | one of: any, yes, no | ne | Paid filter, default any. default any |
states | array of one of: received, processing, shipped, cancelled, unknown | ne | Order states (SmartEmailing names). |
shopId | string or null | ne | |
limitToTriggerEvent | boolean | ne | Only the order of the run's own trigger event (order triggers). |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "orders_count",
"operator": "eq",
"value": 1,
"paid": "any"
}orders_total_value
Sum (or avg, min, max) of the contact's orders with VAT in one currency.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | orders_total_value | ano | |
operator | one of: eq, lt, lte, gt, gte | ano | Operator. |
value | any | ano | Number. |
aggregate | one of: sum, avg, min, max | ne | Aggregate, default sum. default sum |
currency | string | ano | Currency of a shop of the company (CZK, EUR). |
shopId | string or null | ne | |
limitToTriggerEvent | boolean | ne | Only the order of the run's own trigger event (order triggers). |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "orders_total_value",
"operator": "gte",
"value": "3000",
"currency": "CZK"
}passed_node
This run went (or did not go) through a node. Run only. (not allowed in trigger filters (needs a run))
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | passed_node | ano | |
operator | one of: passed, not_passed | ano | Operator. |
nodeId | string | ano | Node key. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
promo_code
The contact got (assigned) or used a coupon of a stack.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | promo_code | ano | |
state | one of: assigned, used | ano | State. |
stackId | string | ano | Coupon stack id. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "promo_code",
"state": "used",
"stackId": "81"
}script
A Twig script; true when it prints {{ result.returnTrue() }}. Not allowed in trigger filters. (not allowed in trigger filters (needs a run))
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | script | ano | |
script | string | ano | Twig source, at most 20 000 characters. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "script",
"script": "{% if contact.city == 'Brno' %}{{ result.returnTrue() }}{% endif %}"
}sent_email
An e-mail was sent to the contact: of one node (mode node) or of an automation (mode automation, automationId null = any).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | sent_email | ano | |
mode | one of: node, automation | ano | Mode. |
emailNode | object | ne | An e-mail node: automationId null (or left out) = a send_email node of this graph, else the id of another automation of the company and its node key. |
automationId | string or null | ne | |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "sent_email",
"mode": "node",
"emailNode": {
"automationId": "201",
"nodeKey": "email-1"
}
}sent_emails_count
Number of e-mails sent to the contact.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | sent_emails_count | ano | |
operator | one of: eq, lt, lte, gt, gte | ano | Operator. |
value | any | ano | Whole number 0 to 10 000 000. |
kinds | array of one of: automation, campaign, transactional | ne | Kinds, default automation and campaign. |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "sent_emails_count",
"operator": "gte",
"value": 3
}tracking_url_clicked
The contact clicked a link in an e-mail of a node.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | tracking_url_clicked | ano | |
emailNode | object | ano | An e-mail node: automationId null (or left out) = a send_email node of this graph, else the id of another automation of the company and its node key. |
link | string | ano | URL (at most 2 000). |
compareParams | boolean | ne | Compare query parameters too, default true. default true |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "tracking_url_clicked",
"emailNode": {
"automationId": "201",
"nodeKey": "email-1"
},
"link": "https://www.example.cz/akce"
}tracking_url_clicked_any
The contact clicked any link of a node (emailNode null = any e-mail node of this automation).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | tracking_url_clicked_any | ano | |
emailNode | object or null | ne | |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "tracking_url_clicked_any",
"emailNode": null
}visited_attribute
A web tracking visit with an attribute.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | visited_attribute | ano | |
url | string | ne | URL. |
urlOperator | one of: eq, starts | ne | Default eq. default eq |
visitType | one of: home, article, cart, product, category, search, order_done, other | ne | Visit type. |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
attribute | string | ano | Attribute name: letters, digits and _ . : - (at most 60). |
attributeType | one of: text, date, number | ne | How to compare. default text |
value | any | ne | Text, a number, or a time spec for attributeType date. |
operator | one of: starts, gt, gte, lt, lte, eq | ano | Operator. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "visited_attribute",
"attribute": "category",
"operator": "eq",
"value": "Káva"
}visited_url
A web tracking visit of a URL.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | visited_url | ano | |
url | string | ne | URL. |
urlOperator | one of: eq, starts, contains | ne | Default eq. default eq |
visitType | one of: home, article, cart, product, category, search, order_done, other | ne | Visit type. |
period | object | ne | Time window of the rule: from and to are time specs relative to now (null = unbounded). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "visited_url",
"url": "https://www.example.cz/kosik",
"urlOperator": "starts"
}Zatím nedostupné podmínky
| Typ | Chybí |
|---|---|
contact_preference | preferences |
contact_viber_state | viber |
delivered_viber | viber |
score | scoring |
seen_viber | viber |
sent_sms | sms |
Pravidla segmentů
Pravidla segmentů (a podmínek automatizací). Hodnoty jsou řetězce.
campaign
Delivered / opened / clicked a campaign (not_* also matches contacts that never got it); linkUrl narrows clicks to one link.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | campaign | ano | |
operator | one of: received, not_received, opened, not_opened, clicked, not_clicked | ano | Operator. |
campaignId | string or null | ano | Campaign id; null only with received = an e-mail of any campaign. |
linkUrl | string | ne | clicked / not_clicked only. |
days | string or null | ne | Last N days or null. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "campaign",
"operator": "opened",
"campaignId": "121",
"days": null
}custom_field
A custom field. kind must match the field type: text and textarea -> text, number -> number, date -> date, checkbox -> bool, select and radio -> choice, multi_checkbox -> multi_choice (400 definition.<path>.kind otherwise). Operators: text like the text fields, number gte/lte/eq/is_empty/is_not_empty, date like the date fields, bool is_true/is_false, choice is/is_not, multi_choice contains_any/contains_all/not_contains_any.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | custom_field | ano | |
fieldId | string | ano | Custom field id (without cf:). |
kind | one of: bool, choice, date, multi_choice, number, text | ano | Kind of the field type (see above). |
operator | string | ano | Operator for the kind. |
value | string | ne | Value (string). |
values | array of string | ne | Options (multi_choice). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "custom_field",
"fieldId": "62",
"kind": "text",
"operator": "equals",
"value": "VIP"
}engagement
Engagement level A (best) to E, N = new.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | engagement | ano | |
operator | one of: in, not_in | ano | Operator. |
values | array of one of: A, B, C, D, E, N | ano | Levels. min 1 items |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "engagement",
"operator": "in",
"values": [
"A",
"B"
]
}field
A contact field compared with a value. Text operators ignore case and diacritics; date operators count calendar days of the company. Text fields: email, firstName, lastName, city, company, companyId, phone, mobile, street, postalCode, note, country. Enum fields: status (pending/subscribed/unsubscribed/bounced/complained/customer), gender (f/m), language (cs/sk), source (erp_order/signup_form/import/api/manual/shoptet/smartemailing), consentBasis (soft_opt_in_customer/double_opt_in/imported/none). Date fields: createdAt, lastOpenAt, lastClickAt, lastSentAt, statusAt, consentAt.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | field | ano | |
field | one of: email, firstName, lastName, city, company, companyId, phone, mobile, street, postalCode, note, country, status, gender, language, source, consentBasis, createdAt, lastOpenAt, lastClickAt, lastSentAt, statusAt, consentAt | ano | Contact field. |
operator | one of: contains, not_contains, equals, not_equals, starts_with, ends_with, is_empty, is_not_empty, is, is_not, in_last_days, not_in_last_days, before, after, until, since | ano | Text: contains, not_contains, equals, not_equals, starts_with, ends_with, is_empty, is_not_empty; enum: is, is_not; date: in_last_days, not_in_last_days, before, after, until, since, is_empty, is_not_empty. |
value | string | ano | Always a string: the text, the enum value, a number of days ("30") for in_last_days / not_in_last_days, or a date YYYY-MM-DD for before / after; "" for is_empty / is_not_empty. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "field",
"field": "lastOpenAt",
"operator": "in_last_days",
"value": "60"
}last_order
The last completed order: within / older than N days, or before / after a date.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | last_order | ano | |
operator | one of: in_last_days, older_than_days, before, after | ano | Operator. |
value | string | ano | Days "1" to "3650" or a date YYYY-MM-DD. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
shopId | string or null | ne | Only orders of this shop (null = any). |
currency | string or null | ne | Only orders in this currency (CZK or EUR; it must be the currency of shopId when both are set). |
{
"type": "last_order",
"operator": "older_than_days",
"value": "180"
}list
Membership in a list. in / not_in = confirmed or unconfirmed member; status_is compares the exact state; added_before / added_after compare the day the contact was added; longer_than_days / shorter_than_days: in the list longer / shorter than N days.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | list | ano | |
operator | one of: in, not_in, added_before, added_after, status_is, longer_than_days, shorter_than_days | ano | Operator. |
listId | string | ano | List id. |
value | string | ne | status_is: confirmed, unconfirmed, unsubscribed, removed; added_: YYYY-MM-DD; _than_days: days "1" to "3650". |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "list",
"operator": "in",
"listId": "101"
}list_label
Confirmed or unconfirmed member of any list with this label.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | list_label | ano | |
operator | one of: in | ano | Operator. |
label | string | ano | Label, 1 to 40. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "list_label",
"operator": "in",
"label": "vip"
}opens
Number of the contact's e-mails (campaigns and automations) with an open.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | opens | ano | |
operator | one of: eq, gt, lt, gte, lte | ano | Operator. |
value | string | ano | Count "0" to "100000". |
days | string or null | ne | Only the last N days, "1" to "3650" (null = any time). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "opens",
"operator": "gte",
"value": "3",
"days": "90"
}order_attribute
A completed order has an item whose product code, category, brand or another item attribute (as stored on the order item) equals the value; with scope order an attribute of the order itself.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | order_attribute | ano | |
operator | one of: is | ano | Operator. |
scope | one of: item, order | ne | item (default) or order. default item |
attribute | string | ano | item: productCode, category, brand or any attribute name; order: status, companyId, deliveryCity, deliveryCountry, deliveryZip, deliveryCompany. |
value | string | ano | Exact value, at most 200 characters. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
shopId | string or null | ne | Only orders of this shop (null = any). |
currency | string or null | ne | Only orders in this currency (CZK or EUR; it must be the currency of shopId when both are set). |
days | string or null | ne | Only the last N days, "1" to "3650" (null = any time). |
{
"type": "order_attribute",
"operator": "is",
"attribute": "brand",
"value": "Example"
}order_count
Number of completed orders.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | order_count | ano | |
operator | one of: gte, lte, eq | ano | Operator. |
value | string | ano | Count "0" to "100000". |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
shopId | string or null | ne | Only orders of this shop (null = any). |
currency | string or null | ne | Only orders in this currency (CZK or EUR; it must be the currency of shopId when both are set). |
days | string or null | ne | Only the last N days, "1" to "3650" (null = any time). |
{
"type": "order_count",
"operator": "gte",
"value": "2",
"shopId": null,
"currency": null,
"days": "365"
}order_value
Sum of completed orders with VAT in one currency (CZK and EUR are never added up).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | order_value | ano | |
operator | one of: gte, lte | ano | Operator. |
amount | string | ano | Amount, at most 2 decimals, e.g. "1500.50". |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
shopId | string or null | ne | Only orders of this shop (null = any). |
currency | string or null | ano | Only orders in this currency (CZK or EUR; it must be the currency of shopId when both are set). |
days | string or null | ne | Only the last N days, "1" to "3650" (null = any time). |
{
"type": "order_value",
"operator": "gte",
"amount": "2000",
"currency": "CZK",
"shopId": "1",
"days": "365"
}product_bought
A completed order has an item whose name contains the text or whose product code equals it (case and diacritics ignored).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | product_bought | ano | |
operator | one of: is | ano | Operator. |
value | string | ano | Part of the name or the code, at most 200. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
shopId | string or null | ne | Only orders of this shop (null = any). |
currency | string or null | ne | Only orders in this currency (CZK or EUR; it must be the currency of shopId when both are set). |
days | string or null | ne | Only the last N days, "1" to "3650" (null = any time). |
{
"type": "product_bought",
"operator": "is",
"value": "Espresso",
"days": "30"
}purpose
A valid (not withdrawn, within its validity) consent with a purpose of processing.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | purpose | ano | |
operator | one of: has, not_has | ano | Operator. |
purposeId | string | ano | Purpose id. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "purpose",
"operator": "has",
"purposeId": "51"
}segment
Member of another segment of the same shop (never itself; chains at most 5 deep, no cycles).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | segment | ano | |
operator | one of: in, not_in, added_before, added_after | ano | Operator. |
segmentId | string | ano | Segment id. |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "segment",
"operator": "not_in",
"segmentId": "91"
}web_attribute
A page visit whose attribute matches: visitType = the page type, other names = the visit's own attributes; gt to lte compare numbers.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | web_attribute | ano | |
attribute | string | ano | Attribute name. |
operator | one of: is, starts_with, gt, gte, lt, lte | ano | Operator. |
value | string | ano | At most 200 (a number for gt to lte). |
days | string or null | ne | Only the last N days, "1" to "3650" (null = any time). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "web_attribute",
"attribute": "visitType",
"operator": "is",
"value": "product"
}web_visit
A page visit recorded by the shop's script or the API; any = any page.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | web_visit | ano | |
operator | one of: any, is, starts_with, contains | ano | Operator. |
url | string | ne | Not with any; at most 2 000. |
days | string or null | ne | Only the last N days, "1" to "3650" (null = any time). |
negate | boolean | ne | true = the rule must NOT hold (SmartEmailing "Neplatí, že"). |
{
"type": "web_visit",
"operator": "contains",
"url": "/kava/",
"days": "30"
}Časové údaje
A moment relative to a base moment (SmartEmailing's "Varianta výběru času"). The base is the moment the contact arrived at the node (or entered the scenario, countFrom scenario), or now in conditions. Days and longer keep the local wall time; months are calendar months. In waits only calendar, interval with sign "+" and event without the words yesterday and previous are allowed. Preview any spec with POST /automations/resolve-time.
calendar
A local calendar date and time.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
variant | calendar | ano | |
date | string | ano | YYYY-MM-DD (local). pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ |
time | string | ne | HH:MM (local), default 00:00. pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$ |
interval
Base plus or minus a number of units.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
variant | interval | ano | |
sign | one of: +, - | ano | "+" later, "-" earlier (conditions only). |
value | integer | ano | 1 to 100 000. min 1, max 100000 |
unit | one of: minutes, hours, days, weeks, months, years | ano | Unit. |
time | string or null | ne | Optional HH:MM set after the shift (days and longer). pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$ |
event
A named day: today, tomorrow, this/next/previous weekday, working day, week, month or year, or the last day of this or next month.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
variant | event | ano | |
word | one of: yesterday, previous, today, this, tomorrow, next, last_day_of | ano | Which day. |
unit | one of: monday, tuesday, wednesday, thursday, friday, saturday, sunday, workday, day, week, month, year | ne | With previous, this and next: a weekday, workday, day, week, month or year; with last_day_of: month. |
scope | one of: this, next | ne | With last_day_of: this or next month. |
time | string | ano | HH:MM (local), required. pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$ |
[
{
"variant": "interval",
"sign": "+",
"value": 2,
"unit": "days",
"time": "09:00"
},
{
"variant": "event",
"word": "next",
"unit": "monday",
"time": "08:00"
},
{
"variant": "calendar",
"date": "2026-12-24",
"time": "09:00"
}
]