Dokumentace: Implementace Seznam Schématu pro objednávky
Co v této nápovědě naleznete?
Proč využívat strukturovaná data?
Požadavky pro úspěšné vygenerování JSON-LD
Tato nápověda popisuje, jak do transakčních e-mailů integrovat strukturovaná data (JSON-LD) pomocí našeho Widgetu Order. Tato integrace umožňuje zobrazovat interaktivní přehledy objednávek přímo v inboxu služeb Seznam.cz.

Další informace ke strukturovaným datům u Seznamu naleznete například ZDE.
Proč využívat strukturovaná data?
- Zviditelnění v inboxu: Zobrazení loga, stavu objednávky a tlačítka pro sledování zásilky přímo v seznamu zpráv.
- Lepší doručitelnost: E-maily se schématem jsou lépe klasifikovány a snižuje se riziko jejich zapadnutí do složky "Hromadné".
- Snížení zátěže podpory: Zákazníci vidí nejdůležitější informace (tracking, obsah objednávky) ihned bez nutnosti otevírat e-mail nebo hledat v textu.
- Kompatibilita: Používáme standard Schema.org, který je Seznamem podporován.
Technická implementace
Integrace probíhá vložením jednoho řádku kódu do vaší e-mailové šablony. Náš widget se postará o validaci dat a vygenerování správného JSON-LD skriptu. Kód je nejlepší vložit do textu kdekoliv na konec e-mailu, nebo do nějakého scriptu u prvku v Magic editoru.
Můžete použít 3 způsoby uvedené níže.
Pokud data předáváte přes metadata (např. v rámci Automatizace)
V tomto případě použijete Trigger "Při události" - Nová objednávka a skript níže.
{{ data.widget.order(metadata.event.attributes.order) }}
Pokud načítáte objednávku přímo z naší databáze
V tomto případě je nutné, aby se k nám objednávka vždy importovala dříve, než se odešle samostatný transakční e-mail.
{% set orders = data.orders({ 'eshop_code': code, 'eshop_name': name }) %} {% if orders[0] is defined %} {{ data.widget.order(orders[0]) }} {% endif %}
Widget automaticky vrátí HTML tag script type="application/ld+json" s validním obsahem, nebo skrytý HTML komentář v případě chyby.
Pokud posíláte transakční e-mailu přes API
Pokud v našem systému nemáte objednávky, je možné data doplnit pomocí této metody:
https://app.smartemailing.cz/docs/api/v3/index.html#api-Custom_campaigns-Send_transactional_emails
Nezapomeňte v odesílaném požadavku (requestu) správně definovat template_variables a proměnnou objednavka.
Samotný request pak vypadá takto:
{
"sender_credentials": {
"from": "martin@smartemailing.cz",
"reply_to": "martin@smartemailing.cz",
"sender_name": "Martin"
},
"tag": "transactional_1",
"email_id": 14,
"tasks": [
{
"recipient": {
"emailaddress": "martin@smartemailing.cz"
},
"replace": [],
"template_variables": {
"objednavka": {
"id": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
"created_at": "2024-01-15T10:30:00+01:00",
"contact_id": 12345,
"status": "shipped",
"eshop_name": "Muj Eshop",
"eshop_code": "OBJ-2024-001",
"order_url": "https://muj-eshop.cz/objednavka/OBJ-2024-001",
"items": [
{
"id": "PROD-123",
"name": "Modre tricko",
"description": "Bavlnene tricko modre barvy",
"price": {
"with_vat": 499,
"without_vat": 412.4,
"currency": "CZK"
},
"quantity": 2,
"unit": "ks",
"url": "https://muj-eshop.cz/produkt/modre-tricko",
"image_url": "https://muj-eshop.cz/images/modre-tricko.jpg"
}
],
"seller": {
"name": "Muj Eshop s.r.o.",
"url": "https://muj-eshop.cz",
"logo": "https://muj-eshop.cz/logo.png"
},
"order_delivery": {
"tracking_number": "CZ123456789",
"tracking_url": "https://ppl.cz/tracking/CZ123456789",
"expected_arrival_from": "2024-01-17T08:00:00+01:00",
"expected_arrival_until": "2024-01-17T18:00:00+01:00",
"has_delivery_method": "parcel-service",
"provider": {
"name": "PPL",
"url": "https://ppl.cz",
"logo": "https://ppl.cz/logo.png"
},
"delivery_address": {
"address_country": "CZ",
"address_region": "Hlavni mesto Praha",
"address_locality": "Praha",
"street_address": "Vaclavske namesti 1",
"postal_code": "11000"
}
}
},
"products": []
},
"attachments": []
}
]
}
V šabloně použijete tento kód: {{ data.widget.order(objednavka) }}
Datová struktura objednávky
Aby mohl widget schéma správně vygenerovat, musí mít objekt objednávky (Order) následující strukturu, uvedenou níže.
Objednavka (Order) byla obohacena o tato pole:
|
Pole |
Typ |
Výchozí hodnota |
Popis |
|
seller |
object | null |
null |
Informace o prodejci |
|
order_delivery |
object | null |
null |
Informace o doručení |
|
order_url |
object | null |
null |
URL stránky objednávky |
Prodejce (Seller)
Jedná se o volitelný údaj. Pokud není seller vyplněn, widget se pokusí získat informace z URL první položky objednávky.
Povinná pole (pokud je seller vyplněn):
|
Pole |
Typ |
Popis |
|
|
name |
string |
Název prodejce |
|
|
url |
string |
URL webu prodejce |
|
|
logo |
string |
URL loga prodejce |
|
Automatické doplnění (pokud seller není vyplněn):
- name = eshop_name
- url = zakladni domena z URL prvni polozky
- logo = {domena}/logo.png
Stav objednávky (OrderStatus)
Stávající stavy objednávky byly rozšířeny:
|
Hodnota |
Schema.org mapování |
Popis |
|
placed |
OrderProcessing |
Objednávka přijata |
|
processing |
OrderProcessing |
Objednávka se zpracovává |
|
paid |
OrderProcessing |
Objednávka zaplacena |
|
shipped |
OrderInTransit |
Objednávka odeslána |
|
delivered |
OrderDelivered |
Objednávka doručena |
|
pickup |
OrderPickupAvailable |
Objednávka připravena k vyzvednutí |
|
canceled |
OrderCancelled |
Objednávka zrušena |
|
returned |
OrderReturned |
Objednávka vrácena |
|
payment |
OrderPaymentDue |
Čeká se na platbu |
|
unknown |
OrderProblem |
Neznámý stav |
Doručení (OrderDelivery)
Jedná se opět o volitelný údaj.
Povinná pole (pokud je order_delivery vyplněn):
|
Pole |
Typ |
Popis |
|
tracking_number |
string |
Číslo zásilky |
|
tracking_url |
string |
URL pro sledování zásilky |
|
expected_arrival_from |
string |
Očekávané doručení od (ISO 8601) |
|
expected_arrival_until |
string |
Očekávané doručení do (ISO 8601) |
|
has_delivery_method |
string |
Metoda doručení (níže) |
|
provider |
object |
Přepravce (DeliveryProvider) |
|
delivery_address |
object |
Doručovací adresa (DeliveryAddress) |
Metoda doručení (DeliveryMethod)
|
Hodnota |
Schema.org mapovani |
Popis |
|
parcel-service |
ParcelService |
Kurýrní služba |
|
locker-delivery |
LockerDelivery |
Vyzvednutí na výdejním místě/boxu |
|
pickup |
OnSitePickup |
Osobní odběr |
|
direct-download |
DirectDownload |
Digitální produkt ke stažení |
Přepravce (DeliveryProvider)
Jedná se o povinné pole.
|
Pole |
Typ |
Popis |
|
name |
string |
Název přepravce (např. PPL, DPD, Zásilkovna) |
|
url |
string |
URL webu přepravce |
|
logo |
string |
URL loga přepravce |
Doručovací adresa (DeliveryAddress)
Jedná se o povinné pole.
|
Pole |
Typ |
Popis |
|
address_country |
string |
Země (např. CZ, SK) |
|
address_region |
string |
Kraj/region |
|
address_locality |
string |
Město |
|
street_address |
string |
Ulice a číslo popisné |
|
postal_code |
string |
PSČ |
Příklad kompletní objednávky
{
"id": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
"created_at": "2024-01-15T10:30:00+01:00",
"contact_id": 12345,
"status": "shipped",
"eshop_name": "Muj Eshop",
"eshop_code": "OBJ-2024-001",
"order_url": "https://muj-eshop.cz/objednavka/OBJ-2024-001",
"items": [
{
"id": "PROD-123",
"name": "Modre tricko",
"description": "Bavlnene tricko modre barvy",
"price": {
"with_vat": 499,
"without_vat": 412.4,
"currency": "CZK"
},
"quantity": 2,
"unit": "ks",
"url": "https://muj-eshop.cz/produkt/modre-tricko",
"image_url": "https://muj-eshop.cz/images/modre-tricko.jpg"
}
],
"seller": {
"name": "Muj Eshop s.r.o.",
"url": "https://muj-eshop.cz",
"logo": "https://muj-eshop.cz/logo.png"
},
"order_delivery": {
"tracking_number": "CZ123456789",
"tracking_url": "https://ppl.cz/tracking/CZ123456789",
"expected_arrival_from": "2024-01-17T08:00:00+01:00",
"expected_arrival_until": "2024-01-17T18:00:00+01:00",
"has_delivery_method": "parcel-service",
"provider": {
"name": "PPL",
"url": "https://ppl.cz",
"logo": "https://ppl.cz/logo.png"
},
"delivery_address": {
"address_country": "CZ",
"address_region": "Hlavni mesto Praha",
"address_locality": "Praha",
"street_address": "Vaclavske namesti 1",
"postal_code": "11000"
}
}
}
Chybové stavy
Widget vrací HTML komentáře při chybách:
|
Chyba |
Zpráva |
| Žádná data | !-- SE order widget: no data -- |
| Neplatná data | !-- SE order widget: invalid data: {detail} -- |
| Objednávka nenalezena | !-- SE order widget: order not found -- |
| Chyba generování schématu | !-- SE order widget: Schema generation problem: {detail} -- |
Požadavky pro úspěšné vygenerování JSON-LD
Pro úspěšné vygenerování JSON-LD schématu musí objednávka splňovat následující:
- Musí obsahovat alespoň jednu položku s platnou URL adresou
- Musí mít vyplněnu order_url NEBO musí být možné získat URL z první položky
- Všechny položky musí mít stejnou měnu
Často kladené otázky (FAQ)
Je nutné se předem registrovat nebo žádat o schválení?
Registrace ani schvalování se neprovádí. Pokud budou vaše e-maily obsahovat strukturovaná data ve správné podobě, po nasazení funkce se automaticky začnou zpracovávat. Přidání dat je možné provést kdykoli.
Budou zákazníci dál dostávat moje e-maily?
Ano, vaši zákazníci budou nadále dostávat vaše e-maily tak, jak jsou zvyklí. Samotné zprávy nejsou touto funkcí nijak ovlivněny, data se získávají z metadat.
Jaké jsou další plány se strukturovanými daty?
V budoucnu by Seznam.cz rád přinesl přehled objednávek i do mobilní aplikace a na hlavní stránku. Plánuje se také podpora pro vstupenky, jízdenky nebo slevové kupóny.