Přejít na obsah
Dokumentace

Udržujte katalog svého obchodu v Emailitu pro mřížky produktů, doporučení a položky objednávek.

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

Vytvoření nebo úprava produktu

Přidá produkt do katalogu, nebo ho upraví, pokud produkt se stejným id už existuje. id je ID produktu ve vašem obchodě, takže stejný produkt můžete poslat znovu pokaždé, když se změní. Vyžaduje API klíč s oprávněním full, nebo events. S klíčem s oprávněním events obsahuje odpověď jen object, id a external_id.

id je vždy povinné a title je povinné u nového produktu. Pole se zapisují, jen když je pošlete, takže produkt, který znovu pošlete jen s novou cenou, si ponechá název, kategorie, obrázek a vše ostatní. Pokud chcete poslat mnoho produktů najednou, použijte Hromadné vytvoření nebo úprava produktů.

Mřížky produktů, doporučení a položky objednávek v e-mailech čtou data z katalogu. Viz Produkty, kupony a košík.

POST/products

Tělo požadavku

idstring | numberPovinné

ID produktu ve vašem obchodě, nejvýše 255 znaků. Čísla se ukládají jako řetězce. Ukládá se jako external_id. Můžete ho poslat také jako external_id.

titlestring

Název produktu, nejvýše 500 znaků. Můžete ho poslat také jako name. U nového produktu povinné.

skustring

Skladové číslo (SKU), nejvýše 255 znaků.

descriptionstring

Popis produktu, nejvýše 10 000 znaků.

urlstring

Stránka produktu ve vašem obchodě. URL s http nebo https, nejvýše 2 048 znaků.

image_urlstring

Obrázek produktu. URL s http nebo https, nejvýše 2 048 znaků.

pricenumber | string

Aktuální cena jako číslo, nebo číselný řetězec, například "89.00". Nesmí být záporná. Ukládá se s nejvýše 4 desetinnými místy.

compare_at_pricenumber | string

Cena před slevou ve stejném formátu jako price. Když je vyšší než price, produkt se počítá jako produkt ve slevě.

currencystring

Třípísmenný kód ISO 4217, například USD nebo EUR. Přijímají se i malá písmena. E-maily formátují ceny produktu v této měně, nebo v USD, když není nastavená.

categoriesstring[]

Až 50 názvů kategorií, každý nejvýše 191 znaků. Duplicity se odstraní.

brandstring

Název značky, nejvýše 191 znaků.

inventory_quantityinteger | null

Počet kusů skladem. null znamená, že skladovou zásobu nesledujete. Mřížky produktů v e-mailech vynechávají produkty s hodnotou 0.

statusstring

active, nebo archived. Nové produkty mají stav active. Archivované produkty se ve výchozím stavu nezobrazují ve výpisu produktů a mřížky produktů je vynechávají.

metadataobject

Vaše vlastní data ve tvaru dvojic klíč–hodnota, nejvýše 16 KB jako JSON. Odesláním metadata se uložený objekt nahradí.

Odpověď

201 Created s objektem produktu, když je produkt nový, nebo 200 OK, když se upravil existující produkt. Pokud je některé pole neplatné, vrací 422.

POST/products
Terminal
curl -X POST https://api.emailit.com/v2/products \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "8123456789",
    "title": "Trail running shoe",
    "sku": "TRS-BLU-42",
    "url": "https://shop.example.com/products/trail-running-shoe",
    "image_url": "https://shop.example.com/images/trail-running-shoe.jpg",
    "price": 89,
    "compare_at_price": 119,
    "currency": "USD",
    "categories": ["Shoes", "Running"],
    "brand": "Acme Outdoors",
    "inventory_quantity": 34
  }'
JSON
{
  "object": "product",
  "id": "prd_3r6HHUGUSl8yjYDscEA6aYA8wrA",
  "external_id": "8123456789",
  "sku": "TRS-BLU-42",
  "title": "Trail running shoe",
  "description": null,
  "url": "https://shop.example.com/products/trail-running-shoe",
  "image_url": "https://shop.example.com/images/trail-running-shoe.jpg",
  "price": 89,
  "compare_at_price": 119,
  "currency": "USD",
  "categories": [
    "Shoes",
    "Running"
  ],
  "brand": "Acme Outdoors",
  "inventory_quantity": 34,
  "status": "active",
  "metadata": {},
  "created_at": "2026-10-08T14:21:07.512Z",
  "updated_at": "2026-10-08T14:21:07.512Z"
}

Načtení produktu

Načte produkt podle jeho ID v Emailitu nebo podle ID produktu ve vašem obchodě. Vyžaduje API klíč s oprávněním full.

GET/products/{id}

Parametry v cestě

idstringPovinné

ID produktu (prd_...), nebo ID produktu ve vašem obchodě (external_id). ID z obchodu, která obsahují speciální znaky, zakódujte pro URL.

Objekt produktu

objectstring

Vždy product.

idstring

ID produktu v Emailitu (prd_...).

external_idstring

ID produktu ve vašem obchodě: id, které jste poslali. Položky objednávek a košíků odkazují na produkty tímto ID.

skustring | null

Skladové číslo (SKU).

titlestring

Název produktu.

descriptionstring | null

Popis produktu.

urlstring | null

Stránka produktu ve vašem obchodě.

image_urlstring | null

Obrázek produktu.

pricenumber | null

Aktuální cena.

compare_at_pricenumber | null

Cena před slevou. Produkt je ve slevě, když je compare_at_price vyšší než price.

currencystring | null

Třípísmenný kód ISO 4217 měny cen.

categoriesstring[]

Názvy kategorií.

brandstring | null

Název značky.

inventory_quantityinteger | null

Počet kusů skladem. null znamená, že se skladová zásoba nesleduje. Mřížky produktů v e-mailech vynechávají produkty s hodnotou 0.

statusstring

active, nebo archived. Mřížky produktů v e-mailech archivované produkty vynechávají.

metadataobject

Vaše vlastní data ve tvaru dvojic klíč–hodnota.

created_atstring

Kdy byl produkt přidán, ve formátu ISO 8601 v UTC.

updated_atstring

Kdy se produkt naposledy změnil, ve formátu ISO 8601 v UTC.

GET/products/{id}
Terminal
curl https://api.emailit.com/v2/products/prd_3r6HHUGUSl8yjYDscEA6aYA8wrA \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "object": "product",
  "id": "prd_3r6HHUGUSl8yjYDscEA6aYA8wrA",
  "external_id": "8123456789",
  "sku": "TRS-BLU-42",
  "title": "Trail running shoe",
  "description": "Lightweight shoe with a grippy sole for wet trails.",
  "url": "https://shop.example.com/products/trail-running-shoe",
  "image_url": "https://shop.example.com/images/trail-running-shoe.jpg",
  "price": 89,
  "compare_at_price": 119,
  "currency": "USD",
  "categories": [
    "Shoes",
    "Running"
  ],
  "brand": "Acme Outdoors",
  "inventory_quantity": 34,
  "status": "active",
  "metadata": {
    "color": "blue"
  },
  "created_at": "2026-10-02T08:15:22.418Z",
  "updated_at": "2026-10-08T14:21:07.512Z"
}

Úprava produktu

Upraví produkt, který už je v katalogu. Změní se jen pole, která pošlete. ID produktu ve vašem obchodě se změnit nedá: id v těle požadavku se ignoruje. Vyžaduje API klíč s oprávněním full, nebo events. S klíčem s oprávněním events obsahuje odpověď jen object, id a external_id.

Pokud chcete produkty vytvářet i upravovat stejným voláním, použijte Vytvoření nebo úprava produktu.

POST/products/{id}

Parametry v cestě

idstringPovinné

ID produktu (prd_...), nebo ID produktu ve vašem obchodě.

Tělo požadavku

Kterékoli z polí endpointu Vytvoření nebo úprava produktu kromě id: title, sku, description, url, image_url, price, compare_at_price, currency, categories, brand, inventory_quantity, status a metadata. Platí stejná pravidla. categories a metadata se nahrazují celé.

Odpověď

200 OK s upraveným objektem produktu. Pokud parametru id neodpovídá žádný produkt, vrací 404, a pokud je některé pole neplatné, vrací 422.

POST/products/{id}
Terminal
curl -X POST https://api.emailit.com/v2/products/8123456789 \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "price": 79, "inventory_quantity": 20 }'
JSON
{
  "object": "product",
  "id": "prd_3r6HHUGUSl8yjYDscEA6aYA8wrA",
  "external_id": "8123456789",
  "sku": "TRS-BLU-42",
  "title": "Trail running shoe",
  "description": "Lightweight shoe with a grippy sole for wet trails.",
  "url": "https://shop.example.com/products/trail-running-shoe",
  "image_url": "https://shop.example.com/images/trail-running-shoe.jpg",
  "price": 79,
  "compare_at_price": 119,
  "currency": "USD",
  "categories": [
    "Shoes",
    "Running"
  ],
  "brand": "Acme Outdoors",
  "inventory_quantity": 20,
  "status": "active",
  "metadata": {
    "color": "blue"
  },
  "created_at": "2026-10-02T08:15:22.418Z",
  "updated_at": "2026-10-09T10:02:41.205Z"
}

Výpis produktů

Vypíše produkty z katalogu, nejnovější jako první. Bez status se vypisují jen aktivní produkty. Vyžaduje API klíč s oprávněním full.

GET/products

Parametry dotazu

pageinteger

Číslo stránky pro stránkování (nejméně 1, výchozí hodnota 1).

limitinteger

Počet produktů, které se vrátí (nejméně 1, nejvýše 100, výchozí hodnota 25).

searchstring

Hledá v názvu, v ID produktu ve vašem obchodě (external_id) nebo v SKU bez ohledu na velikost písmen.

categorystring

Jen produkty v této kategorii. Název musí přesně odpovídat, včetně velikosti písmen.

statusstring

active (výchozí), archived nebo all. Když filtrujete podle klíče status níže, použijte all, protože výchozí hodnota už výpis omezuje na aktivní produkty.

idsstring

Seznam až 100 ID produktů oddělených čárkami. Každé může být ID v Emailitu (prd_...), nebo ID produktu ve vašem obchodě.

matchstring

all (výchozí) vyžaduje shodu všech filtrů key.condition. U or stačí shoda kteréhokoli z nich. Viz Filtrování a řazení.

sortstring

Klíč řazení: created_at (výchozí), updated_at, title nebo price.

orderstring

Směr řazení: asc, nebo desc (výchozí).

Filtry

Filtry výpisů jsou jedna úroveň parametrů dotazu ve tvaru key.condition=value. Parametry match, order a direction a seznam podmínek pro každý typ najdete na stránce Filtrování.

Klíče filtrů

KlíčTypPodmínkyPoznámky
titlestringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
external_idstringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
skustringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
brandstringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
currencystringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
pricenumberexact, not_exact, gt, gte, lt, lte, empty, not_empty
inventory_quantitynumberexact, not_exact, gt, gte, lt, lte, empty, not_empty
statusenumexact, not_exactHodnoty: active, archived
created_atdateexact, before, after, empty, not_empty
updated_atdateexact, before, after, empty, not_empty

Klíče řazení

Tento endpoint řadí podle parametru sort s jedním z těchto klíčů a parametru order s hodnotou asc, nebo desc (order=<key> tu vrací 400): created_at, updated_at, title, price

U tohoto endpointu přijímá order jen asc, nebo desc. Klíč řazení předejte v sort, například sort=price&order=asc.

Odpověď

Stránka objektů produktů v poli data a k tomu total_records, next_page_url a previous_page_url. URL stránek nesou jen page a limit, takže když na ně přejdete, přidejte znovu své vyhledávání a filtry.

GET/products
Terminal
curl "https://api.emailit.com/v2/products?category=Running&sort=price&order=asc&limit=25" \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "data": [
    {
      "object": "product",
      "id": "prd_3r6HHUGUSl8yjYDscEA6aYA8wrA",
      "external_id": "8123456789",
      "sku": "TRS-BLU-42",
      "title": "Trail running shoe",
      "description": "Lightweight shoe with a grippy sole for wet trails.",
      "url": "https://shop.example.com/products/trail-running-shoe",
      "image_url": "https://shop.example.com/images/trail-running-shoe.jpg",
      "price": 89,
      "compare_at_price": 119,
      "currency": "USD",
      "categories": [
        "Shoes",
        "Running"
      ],
      "brand": "Acme Outdoors",
      "inventory_quantity": 34,
      "status": "active",
      "metadata": {
        "color": "blue"
      },
      "created_at": "2026-10-02T08:15:22.418Z",
      "updated_at": "2026-10-08T14:21:07.512Z"
    }
  ],
  "total_records": 1,
  "next_page_url": null,
  "previous_page_url": null
}

Hromadné vytvoření nebo úprava produktů

Pošle až 1 000 produktů v jednom požadavku, například při importu katalogu nebo při jeho pravidelné synchronizaci. Každý produkt se řídí pravidly endpointu Vytvoření nebo úprava produktu: vytvoří se, nebo upraví podle svého id, nový produkt potřebuje title a pole se zapisují, jen když je pošlete. Vyžaduje API klíč s oprávněním full, nebo events. S klíčem s oprávněním events obsahuje odpověď jen object, id a external_id.

Neplatné produkty se přeskočí a vypíšou v rejected; ostatní se uloží. Požadavek přesto vrátí 200.

POST/products/batch

Tělo požadavku

productsobject[]Povinné

1 až 1 000 produktů, každý s poli endpointu Vytvoření nebo úprava produktu.

Odpověď

createdinteger

Počet nových produktů.

updatedinteger

Počet existujících produktů, které se upravily.

rejectedobject[]

Produkty, které se neuložily. Každá položka má index produktu ve vašem poli products a errors s klíči podle cesty k poli, například products.3.price.

Pokud je products prázdné nebo má víc než 1 000 položek, vrací 422.

POST/products/batch
Terminal
curl -X POST https://api.emailit.com/v2/products/batch \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "products": [
      { "id": "8123456789", "title": "Trail running shoe", "price": 89, "currency": "USD", "categories": ["Shoes", "Running"] },
      { "id": "8123456790", "title": "Merino running socks", "price": 18, "currency": "USD", "categories": ["Accessories"] },
      { "id": "8123456791", "price": 49, "currency": "USD" }
    ]
  }'
JSON
{
  "created": 1,
  "updated": 1,
  "rejected": [
    {
      "index": 2,
      "errors": {
        "products.2.title": [
          "is required"
        ]
      }
    }
  ]
}

Výpis kategorií produktů

Vypíše kategorie, které používají aktivní produkty, v abecedním pořadí, s počtem aktivních produktů v každé z nich. Archivované produkty se nepočítají. Vrací až 1 000 kategorií a nestránkuje se. Vyžaduje API klíč s oprávněním full.

Kategorie pocházejí z categories jednotlivých produktů. Název kategorie použijte v parametru category endpointu Výpis produktů.

GET/products/categories
GET/products/categories
Terminal
curl https://api.emailit.com/v2/products/categories \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "data": [
    {
      "name": "Accessories",
      "products": 18
    },
    {
      "name": "Running",
      "products": 12
    },
    {
      "name": "Shoes",
      "products": 27
    }
  ]
}

Smazání produktu

Odebere produkt z katalogu. Objednávky, které ho obsahují, si ponechají své položky, protože ty si ukládají vlastní název, cenu a ID produktu. Pokud chcete produkt skrýt, aniž byste ho smazali, nastavte místo toho jeho status na archived. Vyžaduje API klíč s oprávněním full.

Pokud měřicí skript nahlásí zobrazení smazaného produktu s jeho názvem, produkt se do katalogu znovu přidá z dat stránky.

DELETE/products/{id}

Parametry v cestě

idstringPovinné

ID produktu (prd_...), nebo ID produktu ve vašem obchodě.

DELETE/products/{id}
Terminal
curl -X DELETE https://api.emailit.com/v2/products/prd_3r6HHUGUSl8yjYDscEA6aYA8wrA \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "object": "product",
  "id": "prd_3r6HHUGUSl8yjYDscEA6aYA8wrA",
  "deleted": true
}

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

Děkujeme za zpětnou vazbu.

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