Přejít na obsah
Dokumentace

Spravujte profily kontaktů a vlastní pole, hromadně, nebo jednotlivě.

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

Vytvoření kontaktu

Vytvoří kontakt a volitelně ho přidá jako odběratele do seznamů kontaktů.

POST/contacts

Vyžaduje API klíč s oprávněním full. E-mailové adresy jsou ve workspace jedinečné a ukládají se malými písmeny; vytvoření kontaktu, který už existuje, vrací 409 s existujícím kontaktem v poli existing. Vyvolá contact.created a pro každý seznam kontaktů subscriber.created. Viz Kontakty.

Parametry v těle požadavku

emailstringpovinné
E-mailová adresa kontaktu.
first_namestring
Křestní jméno.
last_namestring
Příjmení.
custom_fieldsobject

Hodnoty podle klíče vlastního pole, například {"company": "Analytical Engines"}. Hodnoty datových polí musí být ve tvaru YYYY-MM-DD. Klíče, které neodpovídají žádnému vlastnímu poli, se uloží tak, jak jsou.

audiencesstring[]
ID seznamů kontaktů (aud_…), do kterých se má kontakt přidat jako odběratel. ID, která ve workspace neexistují, se přeskočí.
unsubscribedbooleanvýchozí: false

true, pokud má kontakt vzniknout jako odhlášený. Kampaně odhlášené kontakty přeskakují a jejich členství v seznamech kontaktů začínají jako odhlášená.

Odpověď

Vrací 201 s objektem kontaktu. Pole audiences tu uvádí každý seznam kontaktů s jeho id, name a stavem přihlášení subscribed. Všechna pole najdete na stránce Načtení kontaktu.

Pokud je některý seznam kontaktů na limitu odběratelů vašeho tarifu, vrací 422 s usage. V tom případě se žádný kontakt nevytvoří.

POST/contacts
Terminal
curl -X POST https://api.emailit.com/v2/contacts \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "ada@example.com",
    "first_name": "Ada",
    "last_name": "Lovelace",
    "custom_fields": { "company": "Analytical Engines", "plan": "pro" },
    "audiences": ["aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2"]
  }'
JSON
{
  "object": "contact",
  "id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
  "email": "ada@example.com",
  "first_name": "Ada",
  "last_name": "Lovelace",
  "custom_fields": {
    "company": "Analytical Engines",
    "plan": "pro"
  },
  "unsubscribed": false,
  "audiences": [
    {
      "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
      "name": "Newsletter",
      "subscribed": true
    }
  ],
  "created_at": "2026-10-01T10:20:31.704113Z",
  "updated_at": "2026-10-01T10:20:31.704113Z"
}

Načtení kontaktu

Načte kontakt s jeho vlastními poli a členstvími v seznamech kontaktů.

GET/contacts/{id}

Vyžaduje API klíč s oprávněním full.

Parametry v cestě

idstringpovinné
ID kontaktu (con_…), nebo e-mailová adresa kontaktu zakódovaná pro URL.

Odpověď

Vrací objekt kontaktu.

objectstring
Vždy contact.
idstring
ID kontaktu.
emailstring
E-mailová adresa, malými písmeny.
first_namestring | null
Křestní jméno.
last_namestring | null
Příjmení.
custom_fieldsobject
Hodnoty vlastních polí podle klíče. {}, pokud žádné nejsou.
unsubscribedboolean
true, pokud se kontakt odhlásil ze všech kampaní.
audiencesobject[]

Seznamy kontaktů, do kterých kontakt patří, každý s id, name a objektem subscriber: id (sub_…), subscribed, subscribed_at, unsubscribed_at, created_at a updated_at.

created_atstring
Kdy byl kontakt vytvořen.
updated_atstring
Kdy byl kontakt naposledy změněn.
GET/contacts/{id}
Terminal
curl https://api.emailit.com/v2/contacts/con_4K9kQdrXth7am0TPKvPrR5yd2oo \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "contact",
  "id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
  "email": "ada@example.com",
  "first_name": "Ada",
  "last_name": "Lovelace",
  "custom_fields": {
    "company": "Analytical Engines",
    "plan": "pro"
  },
  "unsubscribed": false,
  "audiences": [
    {
      "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
      "name": "Newsletter",
      "subscriber": {
        "id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
        "subscribed": true,
        "subscribed_at": "2026-10-01T10:20:31.000000Z",
        "unsubscribed_at": null,
        "created_at": "2026-10-01T10:20:31.000000Z",
        "updated_at": "2026-10-01T10:20:31.000000Z"
      }
    }
  ],
  "created_at": "2026-10-01T10:20:31.000000Z",
  "updated_at": "2026-10-01T10:20:31.000000Z"
}

Úprava kontaktu

Upraví kontakt. Změní se jen pole, která pošlete.

POST/contacts/{id}

Vyžaduje API klíč s oprávněním full. Vyvolá contact.updated s předchozími hodnotami změněných polí v previous. Změna audiences navíc vyvolá subscriber.created a subscriber.deleted pro členství, která přidá a odebere.

Parametry v cestě

idstringpovinné
ID kontaktu (con_…), nebo e-mailová adresa kontaktu zakódovaná pro URL.

Parametry v těle požadavku

emailstring
Nová e-mailová adresa. Nesmí patřit jinému kontaktu.
first_namestring
Křestní jméno.
last_namestring
Příjmení.
custom_fieldsobject
Hodnoty vlastních polí podle klíče. Nahradí všechna vlastní pole kontaktu, takže uveďte i ta, která chcete zachovat.
unsubscribedboolean
true kontakt odhlásí ze všech kampaní, false ho znovu přihlásí. Stávající členství v seznamech kontaktů si zachovají svůj vlastní stav.
audiencesstring[]

Úplný výčet ID seznamů kontaktů, do kterých má kontakt patřit. Kontakt se přidá do seznamů z vašeho výčtu, ve kterých ještě není, a odebere se ze seznamů, které ve vašem výčtu nejsou. Pokud ho chcete odebrat ze všech seznamů, pošlete []. Pokud chcete přidat nebo odebrat jeden seznam bez vypisování všech ostatních, použijte endpoint Přidání odběratele, nebo Smazání odběratele.

Odpověď

Vrací upravený kontakt ve stejném formátu jako endpoint Načtení kontaktu. Požadavek, který neobsahuje žádné z těchto polí, vrací 400.

POST/contacts/{id}
Terminal
curl -X POST https://api.emailit.com/v2/contacts/con_4K9kQdrXth7am0TPKvPrR5yd2oo \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_name": "Augusta"}'
Terminal
curl -X POST https://api.emailit.com/v2/contacts/ada%40example.com \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "custom_fields": { "company": "Analytical Engines", "plan": "business" },
    "audiences": ["aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "aud_4KOlh9t2uw5od4qypqCtyrZyDq2"]
  }'
JSON
{
  "object": "contact",
  "id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
  "email": "ada@example.com",
  "first_name": "Augusta",
  "last_name": "Lovelace",
  "custom_fields": {
    "company": "Analytical Engines",
    "plan": "pro"
  },
  "unsubscribed": false,
  "audiences": [
    {
      "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
      "name": "Newsletter",
      "subscriber": {
        "id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
        "subscribed": true,
        "subscribed_at": "2026-10-01T10:20:31.000000Z",
        "unsubscribed_at": null,
        "created_at": "2026-10-01T10:20:31.000000Z",
        "updated_at": "2026-10-01T10:20:31.000000Z"
      }
    }
  ],
  "created_at": "2026-10-01T10:20:31.000000Z",
  "updated_at": "2026-10-02T09:03:17.000000Z"
}

Výpis kontaktů

Vrací stránku kontaktů od nejnovějších.

GET/contacts

Vyžaduje API klíč s oprávněním full. Se stejnými parametry můžete přes endpoint Export kontaktů stáhnout všechny odpovídající kontakty jako soubor.

Parametry dotazu

pageintegervýchozí: 1
Stránka, kterou chcete načíst.
limitintegervýchozí: 10
Počet kontaktů na stránce, od 1 do 100.
audience_idstring
Jen kontakty v tomto seznamu kontaktů (aud_…).
unsubscribedboolean
true, nebo false. Jen kontakty s tímto stavem odhlášení.
sortstringvýchozí: created_at
email, first_name, last_name, name, audiences, created_at nebo updated_at.
orderstringvýchozí: desc
asc, nebo desc. U tohoto endpointu je order směr řazení, ne klíč řazení.
matchstringvýchozí: all
all, nebo or. Určuje, jak se kombinují filtry níže.

Filtry

Filtry přidejte ve tvaru key.condition=value, například email.ends_with=@acme.com nebo custom_fields.plan.exact=pro. Viz Filtrování a řazení.

Klíč Typ Poznámky
email string
first_name string
last_name string
name string Křestní jméno a příjmení spojené mezerou.
audiences string Abecedně první název seznamu kontaktů, do kterého kontakt patří.
unsubscribed boolean
created_at date
updated_at date
audience_id string Jen exact a not_exact. Hodnota je ID seznamu kontaktů.
custom_fields.<key> string Místo <key> dosaďte klíč vlastního pole. Hodnoty se porovnávají jako text.

Starší parametry filter[audience_id], filter[unsubscribed] a filter[custom_fields][<key>] stále fungují.

Odpověď

dataobject[]
Kontakty na této stránce, každý s audiences ve tvaru id, name a subscribed. Viz Načtení kontaktu.
total_recordsinteger
Počet odpovídajících kontaktů napříč všemi stránkami.
next_page_urlstring | null
Cesta k další stránce s vašimi filtry, nebo null. Viz Stránkování.
previous_page_urlstring | null
Cesta k předchozí stránce, nebo null.
GET/contacts
Terminal
curl https://api.emailit.com/v2/contacts \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
Terminal
curl -G https://api.emailit.com/v2/contacts \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  --data-urlencode "audience_id=aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2" \
  --data-urlencode "custom_fields.plan.exact=pro" \
  --data-urlencode "sort=email" \
  --data-urlencode "order=asc" \
  --data-urlencode "limit=100"
JSON
{
  "data": [
    {
      "object": "contact",
      "id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
      "email": "ada@example.com",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "custom_fields": {
        "company": "Analytical Engines",
        "plan": "pro"
      },
      "unsubscribed": false,
      "audiences": [
        {
          "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
          "name": "Newsletter",
          "subscribed": true
        }
      ],
      "created_at": "2026-10-01T10:20:31.704113Z",
      "updated_at": "2026-10-01T10:20:31.704113Z"
    },
    {
      "object": "contact",
      "id": "con_4KiXIs4xLTcJIAHnKJaLcnMZYh7",
      "email": "grace@example.com",
      "first_name": "Grace",
      "last_name": "Hopper",
      "custom_fields": {},
      "unsubscribed": true,
      "audiences": [],
      "created_at": "2026-09-28T07:55:02.118342Z",
      "updated_at": "2026-09-30T18:11:40.902215Z"
    }
  ],
  "total_records": 2,
  "next_page_url": null,
  "previous_page_url": null
}

Hromadná úprava kontaktů

Provede jednu akci až se 100 kontakty v jediném požadavku.

POST/contacts/bulk

Vyžaduje API klíč s oprávněním full. Každé ID musí patřit kontaktu ve workspace, jinak se nic nezmění a odpověď vypíše chybějící ID v poli missing. Každý kontakt vyvolá stejné události jako endpointy pro jednotlivé kontakty. Pokud seznam kontaktů během add_to_audience dosáhne limitu odběratelů vašeho tarifu, požadavek skončí s 422 a kontakty zpracované do té doby zůstanou přidané.

Akce Co dělá
delete Smaže kontakty a jejich členství v seznamech kontaktů, stejně jako Smazání kontaktu.
add_to_audience Přidá kontakty do seznamu audience_id. Kontakty, které v něm už jsou, zůstanou beze změny.
remove_from_audience Odebere kontakty ze seznamu audience_id.
unsubscribe Nastaví unsubscribed na true, takže kampaně kontakty přeskočí.
resubscribe Nastaví unsubscribed na false.

Parametry v těle požadavku

actionstringpovinné
delete, add_to_audience, remove_from_audience, unsubscribe nebo resubscribe.
idsstring[]povinné
ID kontaktů (con_…), od 1 do 100. E-mailové adresy se tu nepřijímají. Duplicity se ignorují.
audience_idstring
ID seznamu kontaktů. Povinné pro add_to_audience a remove_from_audience.

Odpověď

objectstring
Vždy contact_bulk.
actionstring
Akce, která proběhla.
processedinteger
Kolik kontaktů se zpracovalo.
idsstring[]
ID zpracovaných kontaktů.
POST/contacts/bulk
Terminal
curl -X POST https://api.emailit.com/v2/contacts/bulk \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action": "add_to_audience", "ids": ["con_4K9kQdrXth7am0TPKvPrR5yd2oo", "con_4KiXIs4xLTcJIAHnKJaLcnMZYh7"], "audience_id": "aud_4KOlh9t2uw5od4qypqCtyrZyDq2"}'
JSON
{
  "object": "contact_bulk",
  "action": "add_to_audience",
  "processed": 2,
  "ids": ["con_4K9kQdrXth7am0TPKvPrR5yd2oo", "con_4KiXIs4xLTcJIAHnKJaLcnMZYh7"]
}

Export kontaktů

Stáhne odpovídající kontakty jako soubor CSV nebo XLSX.

GET/contacts/export

Vyžaduje API klíč s oprávněním full. Přijímá stejné parametry vyhledávání, filtrování a řazení jako Výpis kontaktů, předané v řetězci dotazu, ale bez stránkování. POST /contacts/export funguje stejně. Export může obsahovat nejvýše 10 000 kontaktů; pokud jich odpovídá víc, požadavek vrátí 422, takže filtry zužte.

Parametry dotazu

formatstringvýchozí: csv
csv, nebo xlsx.
search, audience_id, unsubscribed, sort, order, match, key.conditionstring
Stejné parametry jako u endpointu Výpis kontaktů.

Odpověď

Vrací soubor jako přílohu: contacts.csv (text/csv; charset=utf-8), nebo contacts.xlsx. Každý řádek je jeden kontakt s těmito sloupci:

Sloupec Obsah
email E-mailová adresa.
first_name, last_name Křestní jméno a příjmení.
unsubscribed true, nebo false.
audiences Názvy seznamů kontaktů, do kterých kontakt patří, oddělené ; .
Jeden sloupec pro každé vlastní pole Hodnota každého vlastního pole definovaného ve workspace; sloupec se jmenuje podle klíče pole. Více hodnot se spojuje znakem ;.
created_at, updated_at Časová razítka ISO 8601.
GET/contacts/export
Terminal
curl "https://api.emailit.com/v2/contacts/export?format=csv&audience_id=aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2" \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -o contacts.csv
Text
email,first_name,last_name,unsubscribed,audiences,company,plan,created_at,updated_at
ada@example.com,Ada,Lovelace,false,Newsletter,Analytical Engines,pro,2026-10-01T10:20:31.000000Z,2026-10-01T10:20:31.000000Z

Smazání kontaktu

Trvale smaže kontakt a všechna jeho členství v seznamech kontaktů.

DELETE/contacts/{id}

Vyžaduje API klíč s oprávněním full. Smazání nelze vrátit zpět. Pokud chcete někomu přestat posílat e-maily, ale jeho záznam si ponechat, upravte kontakt a nastavte unsubscribed: true, nebo adresu přidejte na seznam blokovaných adres. Vyvolá subscriber.deleted pro každé členství a potom contact.deleted.

Parametry v cestě

idstringpovinné
ID kontaktu (con_…), nebo e-mailová adresa kontaktu zakódovaná pro URL.

Odpověď

objectstring
Vždy contact.
idstring
ID smazaného kontaktu.
emailstring
E-mailová adresa kontaktu.
deletedboolean
Vždy true.
DELETE/contacts/{id}
Terminal
curl -X DELETE https://api.emailit.com/v2/contacts/con_4Kt4ZXloQR8WGcMsYx8PFCUjokM \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "contact",
  "id": "con_4Kt4ZXloQR8WGcMsYx8PFCUjokM",
  "email": "alan@example.com",
  "deleted": true
}

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

Děkujeme za zpětnou vazbu.

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