SMS notifikace ve WooCommerce, Shopify a Shoptetu: jak na to
Praktický návod, jak nasadit SMS notifikace na 3 nejpoužívanější CZ e-shop platformy. Plugin pro WooCommerce, app pro Shopify, integrace s Shoptetem.
Pokud máte e-shop na WooCommerce, Shopify nebo Shoptetu, SMS notifikace nepotřebujete kódit od nuly. Všechny tři platformy mají buď oficiální plugin, app, nebo přímou integraci přes naše REST API.
V tomto článku ukážu konkrétní postup pro každou ze 3 platforem + jak řešit personalizaci, ceny a problémy.
Přehled možností
| Platforma | TopSMS plugin | API integrace | Komplexita |
|---|---|---|---|
| WooCommerce | ✅ Plugin | ✅ REST API | Nízká |
| Shopify | ❌ (přes Zapier) | ✅ REST API | Střední |
| Shoptet | ❌ (přes Doplňky) | ✅ REST API | Střední |
| PrestaShop | ❌ | ✅ REST API | Střední |
| Magento | ❌ | ✅ REST API | Vyšší |
| Custom Next.js / vlastní | — | ✅ REST API | Záleží na vás |
WooCommerce — nejjednodušší (15 minut setup)
WooCommerce má nejvíc CZ uživatelů. TopSMS plugin posílá SMS automaticky podle stavu objednávky.
Setup
- Stáhněte plugin ze stránky pluginů TopSMS.
- Nahrajte do WordPressu: Pluginy → Přidat → Nahrát.
- Aktivujte plugin.
- Zadejte API klíč v Nastavení → TopSMS. Klíč si vytvoříte v TopSMS dashboardu.
- Zapněte triggery pro stavy objednávky:
- Přijato → "Děkujeme za objednávku #..."
- Zaplaceno → "Platba přijata, zboží odesíláme..."
- Odesláno → "Zásilka v cestě, tracking: "
- Doručeno → "Děkujeme, hodnocení: "
Co to dělá za vás
- Zachytí WooCommerce hook
woocommerce_order_status_changed. - Zavolá
/api/sms/sends vyplněnými proměnnými ze WC objednávky. - Loguje výsledek do WP admin (Nastroje → TopSMS Log).
Šablony s WC proměnnými
V pluginu můžete použít WC placeholders:
| Proměnná | Obsah |
|---|---|
{billing_first_name} | Křestní jméno z fakturační adresy |
{order_id} | ID objednávky |
{order_total} | Celková částka |
{shipping_method} | Metoda doručení |
{tracking_number} | Tracking číslo (pokud máte plugin pro doručení) |
Příklad šablony pro "Odesláno":
{billing_first_name}, vase objednavka #{order_id}
ve vrátnici. Tracking: {tracking_number}
{tracking_url}
Náklady
E-shop s 200 objednávek/měsíc × 3-4 SMS/objednávka = 600-800 SMS/měsíc. Při Small tarifu 0,98 Kč/SMS = ~588-784 Kč/měsíc.
Shopify — přes Zapier nebo custom integrace
Shopify nemá oficiální TopSMS app, ale můžete použít Zapier (no-code) nebo přímé volání API.
Setup přes Zapier
- V Shopify Admin → Apps → vyhledejte Zapier.
- Vytvořte Zap:
- Trigger: Shopify > New Order
- Action: Webhooks by Zapier > POST
- URL:
https://www.topsms.cz/api/sms/send - Headers:
Authorization: Bearer client_id:secret - Body (JSON):
{ "to": "{{customer.phone}}", "from": "VasShop", "text": "{{customer.first_name}}, dekujeme za objednavku #{{order_number}}. Doruceni za {{est_days}} dni." } - Test + Publish.
Zapier free tarif má 100 úkolů měsíčně. Pro víc objednávek (200+) přejít na placený plán.
Setup přes custom kód
Pokud máte vlastního vývojáře, je čistější napsat Shopify webhook přímo:
// Shopify webhook handler (Node.js / Express)
app.post('/shopify/order-created', async (req, res) => {
const order = req.body
const text = `${order.customer.first_name}, dekujeme za objednavku #${order.order_number}. Doruceni za 2 dni.`
await fetch('https://www.topsms.cz/api/sms/send', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.TOPSMS_KEY}:${process.env.TOPSMS_SECRET}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: order.customer.phone,
from: 'VasShop',
text
})
})
res.status(200).send('OK')
})
Pak v Shopify Admin → Settings → Notifications → Webhooks přidat:
- Event: Order creation
- URL:
https://your-server.com/shopify/order-created - Format: JSON
Náklady
Stejné jako u WooCommerce — záleží na objemu.
Shoptet — přes API + cron nebo doplněk
Shoptet má vlastní API, ale ne přímou integraci s TopSMS. Možnosti:
Možnost 1: Doplňěk z marketplace
Některé Shoptet doplňky umějí SMS — ale často s vlastním (drahým) SMS providerem. Doporučujeme nepoužívat — přímá integrace přes naše API je levnější a flexibilnější.
Možnost 2: Custom integrace přes Shoptet API + náš API
- Zaregistrujte si v Shoptetu API token.
- Napište skript, který periodicky čte nové objednávky:
import requests shop_resp = requests.get( 'https://api.myshoptet.com/api/orders', headers={'Shoptet-Access-Token': SHOPTET_TOKEN} ) for order in shop_resp.json()['orders']: if order['status'] == 'new': sms_text = f"{order['customer']['firstName']}, dekujeme za objednavku #{order['code']}!" requests.post( 'https://www.topsms.cz/api/sms/send', headers={'Authorization': f'Bearer {TOPSMS_KEY}:{TOPSMS_SECRET}'}, json={ 'to': order['customer']['phone'], 'from': 'VasShop', 'text': sms_text } ) - Spouštějte skript každých 5 minut přes cron.
Možnost 3: Webhook z Shoptetu
Shoptet podporuje webhooky pro stavy objednávek. V Shoptet admin → Webhooky:
- Událost: "Změna stavu objednávky"
- URL:
https://your-server.com/shoptet-webhook?secret=...
Vaše endpoint pak volá náš API. Stejný kód jako u Shopify, jen ze Shoptet payload.
Personalizace přes proměnné
Bez ohledu na platformu, šablony s {jmeno}, {cislo}, {castka} zvyšují CTR o 60-70 %. Detaily v Personalizace SMS.
WooCommerce/Shopify/Shoptet všechny mají jméno zákazníka v objednávce, takže personalizace je trivial.
Co dělat, když SMS nechodí
Diagnostické kroky
- Zkontrolujte logy v TopSMS dashboardu — vidíte všechny pokusy odeslání + status.
- Validujte číslo — validátor řekne, jestli je v E.164 formátu.
- API klíč — v dashboardu zkontrolujte, že není revoked + má scope
send. - IP whitelist — pokud máte zapnutou, váš server musí být v listu.
- Rate limit — defaultně 60 SMS/minuta. Pro vyšší kapacity v dashboardu.
Test bez e-shopu
Pošlete test přímo z TopSMS:
curl -X POST https://www.topsms.cz/api/sms/send \
-H "Authorization: Bearer client_id:secret" \
-H "Content-Type: application/json" \
-d '{"to": "+420608030884", "from": "TopSMS", "text": "Test"}'
Pokud tohle dorazí, problém je v integraci. Pokud ne, problém je v API klíči nebo nastavení účtu.
Náklady (porovnání e-shopů)
| Velikost | Objednávek/měsíc | SMS/měsíc (~3 per order) | Náklad |
|---|---|---|---|
| Mikro | 50 | 150 | ~147 Kč (Small 0,98 Kč) |
| Malý | 200 | 600 | ~588 Kč (Small) |
| Střední | 1 000 | 3 000 | ~2 940 Kč (Small) nebo 2 790 Kč (Business 0,93) |
| Velký | 5 000 | 15 000 | ~13 950 Kč (Business) nebo 13 200 Kč (Pro 0,88) |
| Enterprise | 20 000+ | 60 000+ | Individuální |
ROI: pokud SMS sníží abandonment o 5 % a zvedne return rate o 8 %, návratnost je u většiny e-shopů během 1-2 měsíců.