Kampaně
Vytvářejte kampaně, vybírejte pro ně seznamy kontaktů a segmenty a kampaně odešlete hned, nebo je naplánujte.
Vytvoření kampaně
Vytvoří kampaň ve stavu draft. Vyžaduje API klíč s oprávněním full. Vyvolá událost campaign.created.
Nová kampaň nemá žádné příjemce. Seznamy kontaktů a segmenty pro ni vyberte endpointem Úprava kampaně a potom ji odešlete nebo naplánujte. Kredity se účtují při odeslání kampaně: 2 kredity za e-mail.
/campaignsParametry v těle požadavku
namestringpovinnésubjectstring{{first_name}}.from_emailstringnews@acme.com.from_namestringAcme. Zpráva se odešle od Acme <news@acme.com>.reply_tostringfrom_email.htmlstring{{first_name}}, {{last_name}}, {{email}}, {{unsubscribe_url}} a {{cf.<key>}} pro vlastní pole, s náhradními hodnotami a bloky {{#if}}. Tělo nastavte při vytváření kampaně.textstringhtml.preview_textstring<mj-preview>).contentstringhtml ani text a content_type je html nebo text, Emailit odešle content jako tělo v HTML nebo v prostém textu.content_typestringvýchozí: htmlcontent: html, text nebo mjml. Pro tým Emailitu Emailit zkompiluje obsah mjml do html (alfaverze). Pro všechny ostatní je mjml jen označení: zkompilované HTML pošlete v html.utm_trackingbooleanvýchozí: falsetrue, pokud chcete při odeslání kampaně přidat UTM parametry ke každému odkazu http a https, aby vaše webová analytika připsala návštěvy kampani. Parametry, které odkaz už má, se zachovají, a odkazy pro odhlášení a odkazy na webovou verzi se nemění. Viz Možnosti odesílání.utm_paramsobject | nullHodnoty UTM, které se použijí, když je utm_tracking zapnuté. Každý klíč nastavuje jeden parametr utm_:
source(výchozí hodnotaemailit),medium(výchozí hodnotaemail) acampaign(výchozí hodnota{campaign_name}).content,termaid, které se ve výchozím stavu nepřidávají.
Hodnoty jsou text o délce nejvýše 191 znaků a mohou obsahovat tokeny {campaign_name} (název kampaně malými písmeny, s pomlčkami), {campaign_id}, {subject}, {variant} (název verze A/B testu) a {send_date} (YYYY-MM-DD). Neznámé klíče a tokeny vrací 422. Klíče, které nenastavíte, si ponechají výchozí hodnoty; null nebo {} obnoví všechny.
smart_sending_hoursinteger | nullnull (výchozí hodnota) chytré odesílání vypne. Kontroluje se při zahájení odesílání kampaně. E-maily z automatizací a z e-mailového API se nepočítají.exclude_unengagedbooleanvýchozí: falsetrue, pokud chcete vynechat kontakty, kterým byly za posledních 90 dní odeslány 3 nebo více e-mailů z kampaní a žádný z nich neotevřely ani v něm neklikly.tagsstring[]tags se seznam nahradí.send_strategystringvýchozí: immediateimmediate, throttled, local_time nebo smart_time. Uloží se s kampaní a použije se, když ji odešlete bez strategie.send_optionsobject | nullsend_strategy, uložené tak, jak je zadáte, a úplně zkontrolované až při odeslání kampaně. Viz Odeslání nebo naplánování kampaně.ab_testobject | nullA/B test se 2 až 5 verzemi. Náhodně vybraný podíl příjemců se rovnoměrně rozdělí mezi verze. Po uplynutí duration_hours dostane zbytek příjemců verzi s nejlepším výsledkem. Během testu je kampaň ve stavu testing. A/B testy se odesílají se strategií immediate, hned, nebo v naplánovaný čas.
enabled(boolean, výchozí hodnotatrue):falsetest vypne.winner_metric(string, výchozí hodnotaopened):opened,clicked,orders(připsané objednávky na odeslaný e-mail) neborevenue(připsané tržby na odeslaný e-mail).ordersarevenuejsou součástí E-commerce, které je v alfaverzi: ostatní požadavky vracejí403serror: "commerce_alpha".test_size_percent(integer, výchozí hodnota20): podíl příjemců v testu, od 10 do 100. Při 100 jsou v testu všichni a žádný vítěz se neodesílá.duration_hours(integer, výchozí hodnota4): jak dlouho test běží, než se odešle vítěz, od 1 do 168.variants(object[], povinné): 2 až 5 verzí. Každá může nastavitname(nejvýše 100 znaků, výchozí hodnotyA,B,Ca tak dále),subject,preview_text,from_name,from_email,reply_to,htmlatext. Pole, která verze vynechá, se převezmou z kampaně. Aspoň jedna verze musí nastavit předmět, text náhledu, jméno nebo adresu odesílatele, nebo tělo.
Odpověď
Vrací 201 Created s objektem kampaně. status je draft. Odpověď nevrací html, text ani content. Obsahuje nastavení uvedená výše, send_completes_at a send_summary (obojí null, dokud se kampaň neodešle) a ab_test s verzemi a jejich ID (cvr_…). Viz Načtení kampaně.
Pokud chybí name, vrací 400, pokud API klíč nemá oprávnění full, vrací 403, a pokud je některé nastavení nebo A/B test neplatný, vrací 422.
{
"object": "campaign",
"id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
"name": "October newsletter",
"status": "draft",
"subject": "October news for {{first_name}}",
"from_email": "news@acme.com",
"from_name": "Acme",
"reply_to": "support@acme.com",
"preview_text": null,
"content_type": "html",
"created_at": "2026-10-01T09:30:12.482193Z",
"updated_at": "2026-10-01T09:30:12.482193Z",
"utm_tracking": false,
"utm_params": null,
"smart_sending_hours": null,
"exclude_unengaged": false,
"tags": [],
"send_strategy": "immediate",
"send_options": null,
"send_completes_at": null,
"send_summary": null,
"ab_test": {
"enabled": false,
"variants": []
}
}{
"error": "Bad Request"
}{
"statusCode": 403,
"error": "Forbidden",
"message": "Permission denied: campaigns:create"
}{
"message": "Validation failed. ab_test.variants: Send 2 to 5 variants.",
"errors": {
"ab_test.variants": ["Send 2 to 5 variants."]
}
}Načtení kampaně
Načte kampaň podle jejího ID nebo názvu. Vyžaduje API klíč s oprávněním full.
/campaigns/{id}Parametry v cestě
idstringpovinnécmp_…), nebo název kampaně. Názvy s mezerami nebo speciálními znaky zakódujte pro URL.Odpověď
Vrací objekt kampaně.
objectstringcampaign.idstringcmp_.statusstringdraft, scheduled, queued, sending, testing, sent, canceled nebo archived. queued znamená, že naplánovaná kampaň dosáhla času odeslání a čeká na volný odesílací proces. testing znamená, že probíhá A/B test a vítěz ještě nebyl odeslán. Odeslání rozložené v čase zůstává ve stavu sending, dokud nenastane čas jeho poslední dávky.namestringsubjectstringfrom_emailstring"", dokud není nastavená.from_namestring"", dokud není nastavené.reply_tostring"" znamená, že odpovědi chodí na from_email.preview_textstring | nullcontent_typestringhtml, text nebo mjml. Kampaně, jejichž MJML zkompiloval Emailit (alfaverze), vracejí navíc objekt mjml s verzemi dokumentu.scheduled_atstring | nullsent_atstring | nullutm_trackingbooleanutm_paramsobject | nullnull. Viz Vytvoření kampaně.smart_sending_hoursinteger | nullnull, když je chytré odesílání vypnuté.exclude_unengagedbooleantagsstring[]send_strategystringimmediate, throttled, local_time nebo smart_time.send_optionsobject | nullsend_completes_atstring | nullsent.send_summaryobject | nullCo udělalo poslední odeslání, nebo null, dokud se kampaň neodešle:
recipients: kontakty v seznamech kontaktů a segmentech, každá adresa jednou.suppressed: vynechané, protože je adresa blokovaná.smart_sending_skipped: vynechané kvůlismart_sending_hours.unengaged_skipped: vynechané kvůliexclude_unengaged.sent: kontakty, kterým byla kampaň odeslána. U A/B testu jen testovací skupina.batches: počet odesílacích dávek.completes_at: stejné jakosend_completes_at.
ab_testobjectA/B test. Bez testu: { "enabled": false, "variants": [] }. S testem: enabled, winner_metric, test_size_percent, duration_hours a variants. Každá verze má id (cvr_…), name, subject, preview_text, from_name, from_email, reply_to, html, text (null, když verze používá hodnotu kampaně) a is_winner. Viz Vytvoření kampaně.
recipientsobject[]audience_id (aud_…), nebo segment_id (seg_…) a k tomu exclude (true u vyloučení).Tělo (html, text a content) odpověď neobsahuje. Zapojení a tržby zjistíte endpointem Načtení statistik kampaně, nebo v reportu ve webovém rozhraní v sekci Email MarketingCampaigns.
Pokud parametru id neodpovídá žádná kampaň ve workspace, vrací 404.
{
"object": "campaign",
"id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
"name": "October newsletter",
"status": "scheduled",
"subject": "October news for {{first_name}}",
"from_email": "news@acme.com",
"from_name": "Acme",
"reply_to": "support@acme.com",
"preview_text": null,
"content_type": "html",
"sent_at": null,
"scheduled_at": "2026-10-08 09:00:00+00",
"created_at": "2026-10-01 09:30:12.482193+00",
"updated_at": "2026-10-01 10:02:47.118204+00",
"utm_tracking": true,
"utm_params": {
"campaign": "{campaign_name}-{send_date}"
},
"smart_sending_hours": 16,
"exclude_unengaged": true,
"tags": ["newsletter", "q4"],
"send_strategy": "throttled",
"send_options": {
"per_hour": 5000
},
"send_completes_at": null,
"send_summary": null,
"ab_test": {
"enabled": false,
"variants": []
},
"recipients": [
{ "audience_id": "aud_3Cz7WJ9GpvD7P0PQez50xOmkZSV", "exclude": false },
{ "segment_id": "seg_3Kq8VbN2xYt5Lm9Pw1Rc7Hd4Zf0", "exclude": true }
]
}{
"error": "Campaign not found"
}Úprava kampaně
Upraví pole, která předáte, a ostatní ponechá beze změny. Použijte ho k výběru seznamů kontaktů a segmentů kampaně před odesláním. Vyžaduje API klíč s oprávněním full. Vyvolá událost campaign.updated.
Naplánovaná kampaň odešle to, co je v čase odeslání uložené, takže ji můžete upravovat i po naplánování.
/campaigns/{id}Parametry v cestě
idstringpovinnécmp_…), nebo název kampaně.Parametry v těle požadavku
namestringsubjectstringfrom_emailstringfrom_namestringreply_tostringfrom_email.preview_textstringcontentstringcontent nebo content_type a formát je html nebo text, Emailit odešle content jako nové tělo v HTML nebo v prostém textu.content_typestringcontent: html, text nebo mjml. Pro tým Emailitu Emailit zkompiluje obsah mjml do html (alfaverze). Pro všechny ostatní je mjml jen označení.utm_trackingbooleanutm_paramsobject | nullsource, medium, campaign, content, term a id. Nahradí uložený objekt; null obnoví výchozí hodnoty. Viz Vytvoření kampaně.smart_sending_hoursinteger | nullnull ho vypne.exclude_unengagedbooleantagsstring[]send_strategystringsend_optionsobject | nullsend_strategy, úplně zkontrolované až při odeslání kampaně. Viz Odeslání nebo naplánování kampaně.ab_testobject | nullA/B test s poli popsanými na stránce Vytvoření kampaně. Odesláním ab_test se test i jeho verze nahradí. Pokud chcete zachovat ID verze, a s ním i výsledky verze, uveďte ve verzi její id (cvr_…). null nebo "enabled": false test vypne a verze smaže.
recipientsobject[]Seznamy kontaktů a segmenty, na které má kampaň cílit, nejvýše 100 položek. Nahradí stávající výčet. Zahrňte alespoň jednu položku s exclude nastaveným na false. Každá položka má buď audience_id, nebo segment_id, ne obojí:
audience_id(string): ID seznamu kontaktů (aud_…) v tomto workspace.segment_id(string): ID segmentu (seg_…) v tomto workspace. Segmenty jsou v alfaverzi: přidat segment může jen tým Emailitu a ostatní požadavky vracejí403serror: "segments_alpha". Segmenty, které už kampaň má, lze ponechat.exclude(boolean, výchozí hodnotafalse):truevynechá odběratele seznamu nebo kontakty segmentu, i když jsou také v některé zahrnuté položce.
Duplicitní položky se ignorují. Při odeslání Emailit pošle e-mail jednou každému kontaktu, který je přihlášený k zahrnutému seznamu nebo odpovídá zahrnutému segmentu, není ve vyloučeném seznamu ani segmentu, není globálně odhlášený, je přihlášený alespoň k jednomu seznamu a jeho adresa není zablokovaná. Segmenty se vyhodnotí v čase odeslání. Pokud do té doby vyloučený seznam kontaktů nebo segment přestane existovat, kampaň se neodešle.
Tělo v HTML a prostém textu se nastavuje při vytvoření kampaně. Neznámá pole v těle požadavku se ignorují.
Odpověď
Vrací upravený objekt kampaně včetně recipients a ab_test. Viz Načtení kampaně.
Pokud recipients neobsahuje žádný zahrnutý seznam kontaktů ani segment, má více než 100 položek, obsahuje položku s oběma ID nebo odkazuje na seznam či segment mimo workspace, vrací 422. 422 vrací také, když je některé nastavení nebo A/B test neplatný nebo když posíláte ab_test u kampaně, která není koncept ani naplánovaná, a pokud kampaň neexistuje, vrací 404.
{
"object": "campaign",
"id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
"name": "October newsletter",
"status": "draft",
"subject": "Your October update, {{first_name}}",
"from_email": "news@acme.com",
"from_name": "Acme",
"reply_to": "support@acme.com",
"preview_text": null,
"content_type": "html",
"scheduled_at": null,
"created_at": "2026-10-01 09:30:12.482193+00",
"updated_at": "2026-10-01 10:02:47.118204+00",
"utm_tracking": false,
"utm_params": null,
"smart_sending_hours": null,
"exclude_unengaged": false,
"tags": [],
"send_strategy": "immediate",
"send_options": null,
"send_completes_at": null,
"send_summary": null,
"ab_test": {
"enabled": false,
"variants": []
},
"recipients": [
{ "audience_id": "aud_3Cz7WJ9GpvD7P0PQez50xOmkZSV", "exclude": false },
{ "segment_id": "seg_3Kq8VbN2xYt5Lm9Pw1Rc7Hd4Zf0", "exclude": true }
]
}{
"message": "Validation failed.",
"errors": {
"recipients": ["One or more segments are invalid."]
}
}{
"error": "Campaign not found"
}Výpis kampaní
Vrací kampaně workspace od nejnovějších. Vyžaduje API klíč s oprávněním full.
/campaignsParametry dotazu
pageintegervýchozí: 1limitintegervýchozí: 10searchstringstatusstringdraft, scheduled, sending (zahrnuje i queued), sent, canceled, archived nebo all.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.
Klíče filtrů
Filtry používají parametry dotazu ve tvaru key.condition=value, například status.exact=sent nebo created_at.after=2026-09-01. Podmínky pro jednotlivé typy najdete na stránce Filtrování a řazení.
| Klíč | Typ | Poznámky |
|---|---|---|
name |
string | |
subject |
string | |
status |
enum | draft, scheduled, queued, sending, sent, archived |
created_at |
date | |
sent_at |
date |
Klíče řazení pro order: name, subject, status, created_at, sent_at.
Odpověď
Vrací stránku objektů kampaní bez reply_to, preview_text, content_type a recipients a z možností odesílání jen s tags, send_strategy a send_completes_at. Zbytek získáte endpointem Načtení kampaně.
dataobject[]total_recordsintegernext_page_urlstring | nullnull na poslední stránce. Obsahuje jen page a limit, takže když ji použijete, přidejte znovu vyhledávání a filtry.previous_page_urlstring | nullnull na první stránce.{
"data": [
{
"object": "campaign",
"id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
"name": "October newsletter",
"status": "sent",
"subject": "Your October update, {{first_name}}",
"from_email": "news@acme.com",
"from_name": "Acme",
"sent_at": "2026-10-08 09:00:04+00",
"scheduled_at": "2026-10-08 09:00:00+00",
"created_at": "2026-10-01 09:30:12.482193+00",
"updated_at": "2026-10-08 09:00:31+00",
"tags": ["newsletter"],
"send_strategy": "immediate",
"send_completes_at": null
}
],
"total_records": 34,
"next_page_url": "/v2/campaigns?page=2&limit=20",
"previous_page_url": null
}Odeslání nebo naplánování kampaně
Odešle kampaň hned, nebo ji naplánuje, když předáte budoucí scheduled_at. Vyžaduje API klíč s oprávněním full a ověřený workspace: neověřené workspace nemohou kampaně odesílat a dostanou 403. Odeslat lze jen koncepty a naplánované kampaně: kampaň, která se odesílá nebo byla odeslána, vrací 422, takže opakovaný požadavek znovu neobešle všechny příjemce.
Před odesláním se ujistěte, že kampaň má from_email na ověřené doméně, předmět, tělo html nebo text a alespoň jeden zahrnutý seznam kontaktů nebo segment (nastavíte je endpointem Úprava kampaně). Každý e-mail stojí 2 kredity.
/campaigns/{id}/sendParametry v cestě
idstringpovinnécmp_…), nebo název kampaně.Parametry v těle požadavku
scheduled_atstringKdy odeslat. Přijímá ISO 8601 (2026-10-08T09:00:00Z), unixové časové razítko v sekundách nebo přirozený jazyk, například tomorrow at 9am (vyhodnocuje se v UTC). Čas musí být v budoucnosti a kampaň musí být ve stavu draft.
Pokud chcete odeslat hned, parametr vynechte. Pokud chcete naplánovanou kampaň odeslat dřív, zavolejte tento endpoint bez scheduled_at.
send_strategystringJak se odeslání rozloží v čase. Výchozí hodnota je strategie uložená u kampaně, jinak immediate. Strategie a její možnosti se u kampaně uloží. Viz Možnosti odesílání.
immediate: všem najednou, hned, nebo v časescheduled_at.throttled: rovnoměrným tempemper_houre-mailů za hodinu, se začátkem hned, nebo v časescheduled_at.local_time: v zadaný čas v časovém pásmu každého kontaktu.scheduled_atse ignoruje.smart_time: každému kontaktu v hodinu, kdy obvykle otevírá nebo kliká, v rámci okna od začátku.
Kampaně s A/B testem se odesílají jen se strategií immediate.
send_optionsobjectMožnosti strategie. Výchozí hodnota jsou možnosti uložené u kampaně.
throttled:per_hour(integer, povinné), od 100 do 1 000 000 e-mailů za hodinu.local_time:local_time(string, povinné), čas ve tvaruYYYY-MM-DDTHH:mm, například2026-10-08T09:00, atimezone(string, výchozí hodnotaUTC), časové pásmo IANA pro kontakty, jejichž časové pásmo není známé. Časová pásma kontaktů pocházejí z měřicího skriptu. Odesílání začne, když zadaný čas nastane v nejranějším časovém pásmu (UTC+14); kontakty v pásmech, kde už uplynul, dostanou e-mail hned. Do té doby je kampaň ve stavuscheduled, takže musí jít o koncept. Pokud čas už uplynul ve všech časových pásmech, vrací422.smart_time:window_hours(integer, výchozí hodnota24), od 1 do 48. Každý kontakt dostane e-mail v hodinu dne (UTC), ve které za posledních 90 dní nejčastěji otevíral nebo klikal, přičemž proklik se počítá třikrát víc než otevření, pokud tato hodina nastane v rámci okna. Kontakty bez této historie dostanou hodinu, která je nejčastější u ostatních příjemců. Kontakty bez obojího, nebo ty, jejichž hodina padne mimo okno, dostanou e-mail na začátku.
timezone se přijímá u každé strategie a musí to být platné časové pásmo IANA, používá ho ale jen local_time.
Odpověď
Odeslání hned: stav se změní na sending a Emailit vyvolá campaign.sending. Emailit potom určí příjemce: každý přihlášený kontakt ze zahrnutých seznamů kontaktů a každý kontakt, který odpovídá zahrnutým segmentům, každou adresu jednou, bez kontaktů z vyloučených seznamů nebo segmentů, bez kontaktů, které jsou globálně odhlášené nebo nejsou v žádném seznamu, a bez blokovaných adres. Segmenty se vyhodnotí v tuto chvíli. Vynechá také kontakty vyřazené pravidly smart_sending_hours a exclude_unengaged. E-maily se vytvoří v časech, které určí strategie odesílání. Jakmile jsou všichni příjemci předáni k odeslání, stav se změní na sent a Emailit vyvolá campaign.sent. Odeslání rozložené v čase zůstává ve stavu sending, dokud nenastane čas jeho poslední dávky (send_completes_at). send_summary kampaně ukazuje, kolika kontaktům byla kampaň odeslána a kolik jich bylo vynecháno. Doručování sledujte ve webovém rozhraní, endpointem Načtení statistik kampaně nebo pomocí událostí e-mailů.
A/B test: testovací skupina dostane verze a stav se změní na testing. Po uplynutí duration_hours dostane zbytek příjemců vítěznou verzi a stav se změní na sent.
Naplánování: stav se změní na scheduled a Emailit vyvolá campaign.scheduled. V naplánovaný čas kampaň přejde do stavu queued (campaign.queued) a potom se odešle stejně jako výše. Pokud se mezitím smazal vyloučený seznam kontaktů nebo segment, kampaň se místo odeslání vrátí do stavu draft.
Odpověď obsahuje object, id, name a nový status, při naplánování také scheduled_at.
| Stavový kód | Kdy |
|---|---|
403 |
Workspace není ověřený, nebo API klíč nemá oprávnění full. |
404 |
Parametru id neodpovídá žádná kampaň. |
422 |
Kampaň není koncept ani naplánovaná (například se odesílá nebo byla odeslána), scheduled_at nelze zpracovat nebo není v budoucnosti, pokusili jste se naplánovat kampaň, která není koncept, kampaň nemá tělo html ani text, nemá žádné příjemce (nastavte je přes Úprava kampaně), vylučuje seznam kontaktů či segment, který už neexistuje, nebo jsou send_strategy a send_options neplatné. Chyba strategie uvádí název pole v message. |
{
"object": "campaign",
"id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
"name": "October newsletter",
"status": "scheduled",
"scheduled_at": "2026-10-08T09:00:00.000000Z"
}{
"object": "campaign",
"id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
"name": "October newsletter",
"status": "sending"
}{
"code": "unverified_workspace_recipient",
"error": "Workspace not verified",
"message": "Unverified workspaces cannot send campaigns. You can send individual emails only to workspace members' account emails."
}{
"error": "Campaign cannot be sent",
"message": "Campaign status is 'sent'. Only draft or scheduled campaigns can be sent."
}{
"error": "Campaign excludes a deleted audience or segment",
"message": "This campaign excludes an audience or segment that no longer exists. Update its recipients before sending."
}{
"error": "Invalid send strategy",
"message": "send_options.per_hour: Send between 100 and 1,000,000 emails per hour."
}Zrušení kampaně
Nastaví stav kampaně na canceled a vyvolá událost campaign.canceled. Vyžaduje API klíč s oprávněním full.
Zrušit lze jen kampaně ve stavu draft nebo sending; jakýkoli jiný stav vrací 422. Zrušení kampaně, která se odesílá, nestáhne zpět e-maily, které už jsou ve frontě k doručení.
/campaigns/{id}/cancelParametry v cestě
idstringpovinnécmp_…), nebo název kampaně.Odpověď
Vrací object, id, name a status (canceled).
Pokud stav kampaně není draft ani sending, vrací 422, a pokud kampaň neexistuje, vrací 404.
{
"object": "campaign",
"id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
"name": "October newsletter",
"status": "canceled"
}{
"error": "Campaign cannot be canceled",
"message": "Campaign status is 'scheduled'. Only 'draft' or 'sending' campaigns can be canceled."
}{
"error": "Campaign not found"
}Načtení statistik kampaně
Načte report kampaně: kolik e-mailů bylo odesláno, doručeno, otevřeno a prokliknuto, výsledky podle poskytovatelů schránek, tržby z objednávek připsaných kampani (E-commerce, alfaverze) a u A/B testů výsledky jednotlivých verzí. Stejná čísla ukazuje report ve webovém rozhraní v sekci Email MarketingCampaigns. Vyžaduje API klíč s oprávněním full.
Každý počet je počtem e-mailů: e-mail otevřený třikrát se v opened počítá jednou. Procenta jsou vztažená k sent, pokud není uvedeno jinak, a mají dvě desetinná místa.
/campaigns/{id}/statsParametry v cestě
idstringPovinnéID kampaně (cmp_...), nebo název kampaně. Názvy s mezerami nebo speciálními znaky zakódujte pro URL.
Parametry dotazu
fromstringPočítá jen e-maily vytvořené v tento čas nebo později. Datum, nebo datum a čas ve formátu ISO 8601.
tostringPočítá jen e-maily vytvořené v tento čas nebo dříve.
statusstringPočítá jen e-maily, jejichž aktuální stav je tento: accepted, scheduled, delivered, loaded, clicked, attempted, bounced, failed, rejected, suppressed nebo complained. Jiné hodnoty se ignorují.
Filtry se vztahují na počty e-mailů, na poskytovatele a na počty A/B testu a from a to také na unsubscribed. Tržby, objednávky a kupující vždy zahrnují všechny objednávky připsané kampani a jejich míry vycházejí ze všech doručených e-mailů kampaně.
Odpověď
objectstringVždy campaign_stats.
campaign_idstringID kampaně (cmp_...).
sentintegerPočet e-mailů vytvořených pro kampaň. sent_percent je 100, nebo 0, dokud se nic neodeslalo.
delivered, delivered_percentinteger, numberPočet e-mailů ve stavu delivered, loaded nebo clicked.
opened, opened_percentinteger, numberPočet e-mailů otevřených aspoň jednou.
clicked, clicked_percentinteger, numberPočet e-mailů s aspoň jedním změřeným proklikem.
click_through_percentnumberclicked jako procento z opened.
bounced, suppressed, complained, attemptedintegerPočet e-mailů ve stavu bounced, suppressed, complained nebo attempted (čekají na další pokus). Každé má také pole _percent.
not_processed, not_processed_percentinteger, numberPočet e-mailů, které jsou stále ve stavu accepted nebo scheduled.
unsubscribed, unsubscribed_percentinteger, numberOdhlášení z e-mailů kampaně.
providersobject[]Výsledky podle poskytovatelů schránek příjemců, pro poskytovatele s aspoň jedním e-mailem. key je gmail, outlook.com, live.com, hotmail.com, yahoo, icloud nebo other a label je jeho zobrazovaný název. Každý má sent, delivered, opened, clicked a bounced s jejich poli _percent. sent_percent je podíl poskytovatele na všech e-mailech; ostatní procenta jsou vztažená k sent daného poskytovatele.
commerceobjectJen pro tým Emailitu, dokud je E-commerce v alfaverzi: ostatní požadavky toto pole nedostanou a jejich variants A/B testu vynechávají orders, revenue a revenue_per_recipient. Objednávky připsané kampani. Tržby jsou celková částka objednávky minus vrácené peníze a zrušené objednávky se nepočítají. Částky v různých měnách se nesčítají: hlavní měna je ta s nejvyššími tržbami.
-
currency(string nebo null): hlavní měna. -
revenue(number): tržby v hlavní měně. -
orders(integer): připsané objednávky ve všech měnách. -
buyers(integer): různí kupující ve všech měnách. Kupující, který platil ve dvou měnách, se počítá jednou. -
average_order_value(number): v hlavní měně. -
conversion_percent(number):buyersjako procento z doručených e-mailů kampaně. -
revenue_per_recipient(number):revenuevydělené počtem doručených e-mailů kampaně. -
by_currency(object[]):currency,orders,revenue,buyersaaverage_order_valuepro každou měnu, seřazené od nejvyšších tržeb.
ab_testobjectJen u kampaní s A/B testem.
-
winner_metric(string):opened,clicked,ordersneborevenue. -
leader_variant_id(string nebo null): verze, která má zatím nejlepší míru: otevření, prokliky nebo objednávky na odeslaný e-mail, nebo tržby na odeslaný e-mail. -
win_probability(number nebo null): pravděpodobnost v procentech, že vedoucí verze skutečně překonává druhou v pořadí. -
significance(string):significant(90 % nebo více, s aspoň 50 e-maily na verzi),promising(75 % nebo více, se stejným minimem),not_significant(pod 75 % s aspoň 1 800 e-maily na verzi) neboinconclusive. Urevenuevychází pravděpodobnost z objednávek. -
variants(object[]): pro každou verzivariant_id,name,subject,is_winner,sent,delivered,opened,opened_percent,clicked,clicked_percent,orders,revenuearevenue_per_recipient. Jakmile se vítěz odešle zbytku příjemců, počty vítězné verze tyto e-maily zahrnují.
Pokud parametru id neodpovídá žádná kampaň, vrací 404, a pokud úložiště analytiky není dostupné, vrací 503.
{
"object": "campaign_stats",
"campaign_id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
"sent": 12480,
"sent_percent": 100,
"delivered": 12302,
"delivered_percent": 98.57,
"opened": 5021,
"opened_percent": 40.23,
"clicked": 1187,
"clicked_percent": 9.51,
"click_through_percent": 23.64,
"bounced": 98,
"bounced_percent": 0.79,
"suppressed": 42,
"suppressed_percent": 0.34,
"complained": 3,
"complained_percent": 0.02,
"attempted": 0,
"attempted_percent": 0,
"not_processed": 38,
"not_processed_percent": 0.3,
"unsubscribed": 27,
"unsubscribed_percent": 0.22,
"providers": [
{
"key": "gmail",
"label": "Gmail",
"sent": 7310,
"sent_percent": 58.57,
"delivered": 7236,
"delivered_percent": 98.99,
"opened": 3102,
"opened_percent": 42.44,
"clicked": 741,
"clicked_percent": 10.14,
"bounced": 41,
"bounced_percent": 0.56
},
{
"key": "other",
"label": "Other",
"sent": 5170,
"sent_percent": 41.43,
"delivered": 5066,
"delivered_percent": 97.99,
"opened": 1919,
"opened_percent": 37.12,
"clicked": 446,
"clicked_percent": 8.63,
"bounced": 57,
"bounced_percent": 1.1
}
],
"commerce": {
"currency": "USD",
"revenue": 17311.9,
"orders": 214,
"buyers": 198,
"average_order_value": 86.13,
"conversion_percent": 1.61,
"revenue_per_recipient": 1.41,
"by_currency": [
{
"currency": "USD",
"orders": 201,
"revenue": 17311.9,
"buyers": 186,
"average_order_value": 86.13
},
{
"currency": "EUR",
"orders": 13,
"revenue": 1052.4,
"buyers": 12,
"average_order_value": 80.95
}
]
}
}{
"object": "campaign_stats",
"campaign_id": "cmp_37WtKnTZIi4ZbdQ8057IgW0Pbjk",
"sent": 2496,
"sent_percent": 100,
"delivered": 2461,
"delivered_percent": 98.6,
"opened": 1004,
"opened_percent": 40.22,
"clicked": 231,
"clicked_percent": 9.25,
"click_through_percent": 23.01,
"bounced": 21,
"bounced_percent": 0.84,
"suppressed": 9,
"suppressed_percent": 0.36,
"complained": 1,
"complained_percent": 0.04,
"attempted": 0,
"attempted_percent": 0,
"not_processed": 5,
"not_processed_percent": 0.2,
"unsubscribed": 6,
"unsubscribed_percent": 0.24,
"providers": [
{
"key": "gmail",
"label": "Gmail",
"sent": 1460,
"sent_percent": 58.49,
"delivered": 1447,
"delivered_percent": 99.11,
"opened": 612,
"opened_percent": 41.92,
"clicked": 139,
"clicked_percent": 9.52,
"bounced": 9,
"bounced_percent": 0.62
},
{
"key": "other",
"label": "Other",
"sent": 1036,
"sent_percent": 41.51,
"delivered": 1014,
"delivered_percent": 97.88,
"opened": 392,
"opened_percent": 37.84,
"clicked": 92,
"clicked_percent": 8.88,
"bounced": 12,
"bounced_percent": 1.16
}
],
"commerce": {
"currency": "USD",
"revenue": 3297.4,
"orders": 38,
"buyers": 36,
"average_order_value": 86.77,
"conversion_percent": 1.46,
"revenue_per_recipient": 1.34,
"by_currency": [
{
"currency": "USD",
"orders": 38,
"revenue": 3297.4,
"buyers": 36,
"average_order_value": 86.77
}
]
},
"ab_test": {
"winner_metric": "clicked",
"leader_variant_id": "cvr_3uzJsNMbJopoPIZCgLl7zcXxALw",
"win_probability": 99.5,
"significance": "significant",
"variants": [
{
"variant_id": "cvr_3qM7nyKvTUlnBLzE9vtnG03baRV",
"name": "A",
"subject": "New trail shoes are here",
"is_winner": false,
"sent": 1248,
"delivered": 1231,
"opened": 468,
"opened_percent": 37.5,
"clicked": 97,
"clicked_percent": 7.77,
"orders": 14,
"revenue": 1188.6,
"revenue_per_recipient": 0.97
},
{
"variant_id": "cvr_3uzJsNMbJopoPIZCgLl7zcXxALw",
"name": "B",
"subject": "Your next trail shoe is 25% off",
"is_winner": false,
"sent": 1248,
"delivered": 1230,
"opened": 536,
"opened_percent": 42.95,
"clicked": 134,
"clicked_percent": 10.74,
"orders": 24,
"revenue": 2108.8,
"revenue_per_recipient": 1.71
}
]
}
}{
"error": "Campaign not found"
}{
"error": "analytics unavailable"
}Smazání kampaně
Trvale smaže kampaň. Vyžaduje API klíč s oprávněním full. Vyvolá událost campaign.deleted.
Smazání kampaně nemá vliv na e-maily, které už byly odeslány nebo zařazeny do fronty. Pokud chcete zastavit kampaň, která se odesílá, nejdřív ji zrušte.
/campaigns/{id}Parametry v cestě
idstringpovinnécmp_…), nebo název kampaně.Odpověď
Vrací object, id, name a deleted: true. Pokud kampaň neexistuje, vrací 404.
{
"object": "campaign",
"id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
"name": "October newsletter",
"deleted": true
}{
"error": "Campaign not found"
}