Přejít na obsah
Dokumentace

Vytvářejte kampaně, vybírejte pro ně seznamy kontaktů a kampaně odešlete hned, nebo je naplánujte.

Základní URLhttps://api.emailit.com/v2AutentizaceChybyLimity rychlosti

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ů 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.

POST/campaigns

Parametry v těle požadavku

namestringpovinné
Interní název kampaně. Příjemci ho nevidí. Ostatní endpointy kampaní přijímají místo ID i název, takže pokud je tak používáte, dbejte, aby názvy byly jedinečné.
subjectstring
Předmět. Podporuje slučovací značky, například {{first_name}}.
from_emailstring
Adresa odesílatele. Musí být na ověřené odesílací doméně ve workspace, například news@acme.com.
from_namestring
Zobrazované jméno odesílatele, například Acme. Zpráva se odešle od Acme <news@acme.com>.
reply_tostring
Adresa pro odpověď. Pokud ji nenastavíte, použije se při odeslání kampaně from_email.
htmlstring
Tělo v HTML, které Emailit odešle. Podporuje slučovací značky {{first_name}}, {{last_name}}, {{email}}, {{unsubscribe_url}} a {{cf.<key>}} pro vlastní pole. Tělo nastavte při vytváření kampaně.
textstring
Tělo v prostém textu. Podporuje stejné slučovací značky jako html.
preview_textstring
Text náhledu uložený s kampaní. Emailit ho do zprávy nevkládá; pokud ho potřebujete, přidejte do html skrytý preheader.
contentstring
Zdroj těla z editoru (například MJML), uložený beze změny. Emailit odesílá html a text, ne content.
content_typestringvýchozí: html
Formát content: html, text nebo mjml. Emailit MJML nekompiluje; zkompilované HTML pošlete v html.

Odpověď

Vrací 201 Created s objektem kampaně. status je draft. Odpověď nevrací html, text ani content.

Pokud chybí name, vrací 400, a pokud API klíč nemá oprávnění full, vrací 403.

POST/campaigns
Terminal
curl -X POST https://api.emailit.com/v2/campaigns \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "October newsletter",
    "subject": "October news for {{first_name}}",
    "from_email": "news@acme.com",
    "from_name": "Acme",
    "reply_to": "support@acme.com",
    "html": "<p>Hi {{first_name}},</p><p>Here is what changed this month.</p><p><a href=\"{{unsubscribe_url}}\">Unsubscribe</a></p>",
    "text": "Hi {{first_name}}, here is what changed this month. Unsubscribe: {{unsubscribe_url}}"
  }'
JSON
{
  "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"
}

Načtení kampaně

Načte kampaň podle jejího ID nebo názvu. Vyžaduje API klíč s oprávněním full.

GET/campaigns/{id}

Parametry v cestě

idstringpovinné
ID kampaně (cmp_…), nebo název kampaně. Názvy s mezerami nebo speciálními znaky zakódujte pro URL.

Odpověď

Vrací objekt kampaně.

objectstring
Vždy campaign.
idstring
ID kampaně s předponou cmp_.
statusstring
draft, scheduled, queued, sending, sent, canceled nebo archived. queued znamená, že naplánovaná kampaň dosáhla času odeslání a čeká na volný odesílací proces.
namestring
Interní název kampaně.
subjectstring
Předmět s nevyhodnocenými slučovacími značkami.
from_emailstring
Adresa odesílatele. "", dokud není nastavená.
from_namestring
Zobrazované jméno odesílatele. "", dokud není nastavené.
reply_tostring
Adresa pro odpověď. "" znamená, že odpovědi chodí na from_email.
preview_textstring | null
Text náhledu uložený s kampaní.
content_typestring
Označení formátu zdroje z editoru: u kampaní vytvořených přes API html, text nebo mjml.
scheduled_atstring | null
Kdy se naplánovaná kampaň odešle, v UTC.
sent_atstring | null
Kdy začalo odesílání.
recipientsobject[]
Seznamy kontaktů, na které kampaň cílí. Každá položka má audience_id (aud_…) a exclude (true u vyloučeného seznamu).

Tělo (html, text a content) odpověď neobsahuje. Statistiky zapojení najdete ve webovém rozhraní v sekci Email MarketingCampaigns.

Pokud parametru id neodpovídá žádná kampaň ve workspace, vrací 404.

GET/campaigns/{id}
Terminal
curl https://api.emailit.com/v2/campaigns/cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "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",
  "recipients": [
    { "audience_id": "aud_3Cz7WJ9GpvD7P0PQez50xOmkZSV", "exclude": false },
    { "audience_id": "aud_3hRmYTSQ4ca6y9tbPI0IQPjVTL9", "exclude": true }
  ]
}

Úprava kampaně

Upraví pole, která předáte, a ostatní ponechá beze změny. Použijte ho k výběru seznamů kontaktů 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í.

POST/campaigns/{id}

Parametry v cestě

idstringpovinné
ID kampaně (cmp_…), nebo název kampaně.

Parametry v těle požadavku

namestring
Interní název kampaně.
subjectstring
Předmět. Podporuje slučovací značky.
from_emailstring
Adresa odesílatele na ověřené odesílací doméně.
from_namestring
Zobrazované jméno odesílatele.
reply_tostring
Adresa pro odpověď. Prázdný řetězec znamená, že odpovědi chodí na from_email.
preview_textstring
Text náhledu uložený s kampaní.
contentstring
Zdroj těla z editoru, uložený beze změny.
content_typestring
Formát content: html, text nebo mjml.
recipientsobject[]

Seznamy kontaktů, na které má kampaň cílit. Nahradí stávající výčet. Zahrňte alespoň jeden seznam s exclude nastaveným na false.

  • audience_id (string, povinné): ID seznamu kontaktů (aud_…) v tomto workspace.
  • exclude (boolean, výchozí hodnota false): true uloží seznam jako vyloučený. Webové rozhraní vyloučené seznamy odečítá od odhadu počtu příjemců, samotné odeslání ale vyloučení zatím neuplatňuje, takže tyto kontakty odeberte i ze zahrnutých seznamů.

Duplicitní ID seznamů se ignorují. Při odeslání Emailit pošle e-mail jednou každému přihlášenému kontaktu ze zahrnutých seznamů a přeskočí odhlášené kontakty a blokované adresy.

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.

Pokud recipients neobsahuje žádný zahrnutý seznam kontaktů nebo odkazuje na seznam mimo workspace, vrací 422, a pokud kampaň neexistuje, vrací 404.

POST/campaigns/{id}
Terminal
curl -X POST https://api.emailit.com/v2/campaigns/cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Your October update, {{first_name}}",
    "recipients": [
      { "audience_id": "aud_3Cz7WJ9GpvD7P0PQez50xOmkZSV" },
      { "audience_id": "aud_3hRmYTSQ4ca6y9tbPI0IQPjVTL9", "exclude": true }
    ]
  }'
JSON
{
  "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",
  "recipients": [
    { "audience_id": "aud_3Cz7WJ9GpvD7P0PQez50xOmkZSV", "exclude": false },
    { "audience_id": "aud_3hRmYTSQ4ca6y9tbPI0IQPjVTL9", "exclude": true }
  ]
}

Výpis kampaní

Vrací kampaně workspace od nejnovějších. Vyžaduje API klíč s oprávněním full.

GET/campaigns

Parametry dotazu

pageintegervýchozí: 1
Číslo stránky, začíná na 1.
limitintegervýchozí: 10
Počet kampaní na stránce, od 1 do 100.
statusstring
Zkrácený filtr podle stavu: draft, scheduled, sending (zahrnuje i queued), sent, canceled, archived nebo all.
matchstring

Hodnota all (výchozí) vyžaduje shodu se všemi filtry. S hodnotou or stačí shoda s kterýmkoli filtrem. Viz Filtrování.

orderstring

Klíč řazení pro tento výpis. Viz klíče řazení níže.

directionstring

asc, 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. Ty získáte endpointem Načtení kampaně.

dataobject[]
Kampaně na této stránce.
total_recordsinteger
Počet kampaní, které odpovídají dotazu.
next_page_urlstring | null
Cesta k další stránce, nebo null 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 | null
Cesta k předchozí stránce, nebo null na první stránce.
GET/campaigns
Terminal
curl -G https://api.emailit.com/v2/campaigns \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -d limit=20 \
  -d status=sent \
  -d order=sent_at \
  -d direction=desc
JSON
{
  "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"
    }
  ],
  "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.

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ů (nastavíte ho endpointem Úprava kampaně). Každý e-mail stojí 2 kredity.

POST/campaigns/{id}/send

Parametry v cestě

idstringpovinné
ID kampaně (cmp_…), nebo název kampaně.

Parametry v těle požadavku

scheduled_atstring

Kdy 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.

Odpověď

Odeslání hned: stav se změní na sending a Emailit vyvolá campaign.sending. Emailit potom vytvoří jeden e-mail pro každého příjemce: pro každý přihlášený kontakt ze zahrnutých seznamů kontaktů, bez duplicitních adres, odhlášených kontaktů a blokovaných adres. Jakmile jsou všichni příjemci předáni k odeslání, stav se změní na sent a Emailit vyvolá campaign.sent. Doručování sledujte ve webovém rozhraní nebo pomocí událostí e-mailů.

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.

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 scheduled_at nelze zpracovat nebo není v budoucnosti, nebo jste se pokusili naplánovat kampaň, která není koncept.
POST/campaigns/{id}/send
Terminal
curl -X POST https://api.emailit.com/v2/campaigns/cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN/send \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "scheduled_at": "2026-10-08T09:00:00Z" }'
JSON
{
  "object": "campaign",
  "id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
  "name": "October newsletter",
  "status": "scheduled",
  "scheduled_at": "2026-10-08T09:00:00.000000Z"
}

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í.

POST/campaigns/{id}/cancel

Parametry v cestě

idstringpovinné
ID kampaně (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.

POST/campaigns/{id}/cancel
Terminal
curl -X POST https://api.emailit.com/v2/campaigns/cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN/cancel \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "campaign",
  "id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
  "name": "October newsletter",
  "status": "canceled"
}

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.

DELETE/campaigns/{id}

Parametry v cestě

idstringpovinné
ID kampaně (cmp_…), nebo název kampaně.

Odpověď

Vrací object, id, name a deleted: true. Pokud kampaň neexistuje, vrací 404.

DELETE/campaigns/{id}
Terminal
curl -X DELETE https://api.emailit.com/v2/campaigns/cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "campaign",
  "id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
  "name": "October newsletter",
  "deleted": true
}

Byla tato stránka užitečná?

Děkujeme za zpětnou vazbu.

Děkujeme, čteme každou zprávu.