Přeskočit na hlavní obsah

📱 SMS upomínky

:::note Dostupné od plánu Pro SMS upomínky jsou dostupné pouze na plánech Pro a Max. :::

SMS upomínky jsou textové zprávy odeslané hostovi před rezervací. Jsou velmi efektivní, protože většina lidí čte SMS rychleji než e-mail.


Kdy se SMS posílá?

SMS upomínka se posílá ve stejný čas jako e-mailová připomínka – typicky 24 hodin před rezervací. Čas lze nastavit v nastavení rezervací.

info

SMS se posílá jen tehdy, pokud host zadal při rezervaci telefonní číslo.


Obsah SMS zprávy

SMS je krátká a věcná:

Připomínka: Večeře dne 15.04.2026 v 19:00.
Těšíme se na vás!

Nebo v angličtině (pokud host rezervoval v angličtině):

Reminder: Dinner on 15.04.2026 at 19:00.
We look forward to seeing you!

Jak aktivovat SMS upomínky?

  1. Přejděte na Rezervace → Nastavení rezervací → Notifikace.
  2. Přidejte SMS do aktivních kanálů.
  3. Nastavte nebo nechte nastavit:
    • API klíč SMS brány – technické nastavení (obvykle provádí administrátor platformy)
    • Jméno odesílatele – název, který se zobrazí příjemci místo čísla (max. 11 znaků, bez diakritiky)

Nastavení jména odesílatele

Jméno odesílatele je text, který se zobrazí hostovi v telefonu jako odesílatel SMS. Doporučujeme použít krátký název restaurace:

✅ Příklady: RivaRestaurant, UZlateho, Hospoda123 ❌ Nepoužívejte: diakritiku, mezery delší 11 znaků


Sledování odeslání

Na detailní stránce rezervace je pole Připomínka odeslána – zobrazuje datum a čas odeslání. Pokud bylo odesláno jak SMS, tak e-mail, zaznamenají se oba ve stejný čas.


SMS vs. e-mail

E-mailSMS
Spolehlivost doručeníStřední (může skončit ve spamu)Velmi vysoká
CenaZdarmaMalé poplatky za SMS (závisí na bráně)
Délka zprávyNeomezenáMax. ~160 znaků
Odkaz pro zrušení✅ Ano❌ Ne
DostupnostVšechny plányPlán Pro a Max

:::tip Doporučení Kombinujte e-mail i SMS. E-mail pošlete s odkazem pro zrušení, SMS jako krátkou připomínku den předem. Hosté, kteří nečtou e-maily, zareagují na SMS. :::


Konfigurační průvodce: SmsManager.cz

Krok 1: Vytvoření účtu

  1. Přejděte na https://app.smsmanager.com/
  2. Klikněte Vytvořit účet (Sign Up)
  3. Vyplňte:
    • Email
    • Heslo (min. 8 znaků)
    • Název firmy
  4. Potvrďte e-mail
  5. Přihlaste se do dashboardu

Krok 2: Aktivace testovacích kreditů

SmsManager.cz poskytuje nové uživatele darmově:

  • ~5–10 SMS za měsíc (test kredity)
  • Ideální pro vývoj a testování

Kredity se aktivují automaticky při registraci.

Krok 3: Získání API klíče

  1. V SmsManager dashboardu přejděte: SettingsAPI Cloud
  2. Zkopírujte svůj API Key (začíná smc_...)
  3. Uložte si ho bezpečně (nesdělujte ho veřejně)

Krok 4: Nastavení v administraci

  1. Přihlaste se do Payload Admin platformy
  2. Jděte na: RezervaceNastavení rezervacíNotifikace
  3. Zaznačte: ✅ SMS (customers) v položce Aktivní notifikační kanály
  4. Vyplňte:
    • SmsManager.cz API Key: smc_xxxxx... (váš klíč)
    • Jméno odesílatele SMS: Např. RivaRestaurant (max 11 znaků, bez diakritiky)
  5. Klikněte Uložit

Testování SMS

Testovací scénář 1: Automatické upomínky (doporučeno)

Tímto způsobem testujete produkční tok:

Příprava

  1. Vytvořte novou rezervaci s těmito údaji:
    • Telefonní číslo: Váše číslo (nebo číslo pro testování)
    • Čas: Právě teď nebo za pár minut (alespoň 1 hodinu od teď, aby se SMS poslala)
    • Stav: Potvrzeno nebo Dokončeno
  2. Na detailní stránce rezervace si poznamenejte ID rezervace

Spuštění endpoint sendReminders

Varianta A: Přes curl (příkazový řádek)

curl -X POST http://localhost:3002/api/send-reminders \
-H "x-cron-secret: YOUR_CRON_SECRET" \
-H "Content-Type: application/json"

Kde YOUR_CRON_SECRET je hodnota z vašeho .env:

CRON_SECRET=dev-secret-key

Varianta B: Přes webový formulář (snadněji)

  1. Otevřete DevTools (F12 v prohlížeči)
  2. Jděte na záložku Console
  3. Vložte a spusťte:
fetch('/api/send-reminders', {
method: 'POST',
headers: {
'x-cron-secret': 'dev-secret-key',
'Content-Type': 'application/json'
}
}).then(r => r.json()).then(console.log)

Výsledek

Měli byste vidět odpověď podobnou:

{
"success": true,
"message": "Processed 1 appointments",
"results": {
"sent": 1,
"failed": 0,
"errors": []
}
}

Testovací scénář 2: Ověření v SmsManager dashboardu

  1. Přihlaste se do SmsManager: https://app.smsmanager.com/
  2. Jděte na: Messages (nebo SMS Historii)
  3. Měli byste vidět zprávu s vaším číslem a textem:
Připomínka: [Název služby] dne [Datum] v [Čas]. Těšíme se na vás!
  1. Stav by měl být: ✅ Delivered nebo ⏳ Sent

Testovací scénář 3: Ručné testování specifické rezervace

Pokud chcete otestovat konkrétní rezervaci mimo automatické plánování:

# V Node.js prostředí nebo curl:
curl -X POST http://localhost:3002/api/appointments/{ID_REZERVACE} \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"reminderSentAt": null, "phone": "+420 725 123 456"}'

Pak spusťte znovu send-reminders.


Sledování a monitoring

Pole v detailu rezervace

Po úspěšném odeslání se aktualizuje:

  • Připomínka odeslána: 2026-04-25 14:30 (timestamp)

Logy aplikace

V konzoli serveru byste měli vidět:

📱 SMS REMINDER SENT: +420725123456 - Večeře dne 25.04.2026

Bezpečnost – kdo vidí API klíč?

  • Super-admin: Vidí API klíč i v admin panelu
  • Tenant-admin: Vidí jen obfuskovaný klíč (smc_xxx...) pro bezpečnost
  • REST API: Vrací chybu 403 Forbidden při pokusu o čtení klíče bez super-admin role

Řešení problémů

ChybaPříčinaŘešení
401 UnauthorizedŠpatný nebo chybějící API klíčOvěřte klíč v SmsManager (Settings → API Cloud)
SMS se nepošleSMS kanál vypnutýZaznačte ✅ SMS v nastavení notifikací
Invalid phone formatŠpatný formát číslaPoužijte: +420777123456 nebo 420777123456
No SMS creditsKredity vyčerpanéZakupte SMS balíček v SmsManager (levnější od 100 ks)
Timeout / ECONNREFUSEDSieť / SmsManager downZkontrolujte status.smsmanager.cz a konektivitu
SMS nebyla poslána, ale sans chybyČíslo v DB je NULLUjistěte se, že rezervace má telefon vyplněný
Chybné kódování (diakritika)SMS s diakritikouSmsManager automaticky detekuje, mělo by fungovat

Jak diagnostikovat problémy?

  1. Kontrola logů serveru:

    # V terminálu s dev serverem:
    tail -f .logs/app.log | grep SMS
  2. Test endpoint sendReminders offline:

    curl http://localhost:3002/api/send-reminders \
    -H "x-cron-secret: dev-secret-key"
  3. Kontrola v SmsManager:

    • Dashboard → Messages → Hledejte vaše testovací číslo
    • Stav: Delivered, Sent, nebo Failed

Náklady a FAQ

Kolik stojí SMS?

ZeměCena za SMSMěsíční kredit
🇨🇿 CZ, SK0,45–0,75 KčDle paketu
🇩🇪 DE, AT1,5–2,5 KčDle paketu
🇪🇺 EU0,8–1,5 KčDle paketu

Ceny jsou orientační a mohou se lišit

Balíčky SMS

  • Starter: 100 SMS ~45 Kč
  • Business: 1000 SMS ~400 Kč (lepší sazba)
  • Enterprise: Individuální cena

Jak dlouho se SMS posílá?

Typicky 2–5 sekund od zaslání. Doručení je zajištěno v 99,9% případů.

Mohu změnit jméno odesílatele?

Ano, ale:

  • Musí být alfanumerické (a-z, 0-9)
  • Max. 11 znaků
  • Bez diakritiky
  • Bez speciálních znaků

Například: ✅ RivaGrill, ✅ Hospoda22, ❌ Řiva

Kdy se SMS zásadně NEPOSÍLÁ?

  • Číslo není vyplněné (NULL)
  • SMS kanál je vypnutý v nastavení
  • Rezervace stav není confirmed nebo completed
  • Chybí API klíč nebo je neplatný
  • Kredity jsou vyčerpané