Přeskočit na obsah
REST API

Hlasový agent s českým číslem ve tvé Lovable appce

Lovable staví appky na Reactu se Supabase backendem - volání REST API volai proto patří na server, do jedné Edge Function, ne do appky v prohlížeči.

1Ulož API klíč jako Supabase secret

V Supabase projektu, který Lovable appce založila, přidej proměnnou prostředí VOLAI_API_KEY s hodnotou svého klíče (portál, sekce API a MCP). Nikdy ho nedávej do frontendového kódu ani do repozitáře - kdokoli by ho uviděl, mohl by tvým jménem utrácet kredit.

2Zavolej volai z Edge Function

Vytvoř Edge Function, která přijme požadavek z appky a teprve ONA zavolá https://volai.cz/v1/messages s hlavičkou Authorization: Bearer ${VOLAI_API_KEY}. Stejně půjde postavit funkce pro POST /v1/calls (hovor přes hlasového agenta).

typescript
// supabase/functions/send-sms/index.ts
Deno.serve(async (req) => {
  const { to, body } = await req.json();

  const res = await fetch("https://volai.cz/v1/messages", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${Deno.env.get("VOLAI_API_KEY")}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ to, body }),
  });

  return new Response(await res.text(), { status: res.status });
});

3Zavolej funkci z uživatelského rozhraní

Z komponenty appky zavolej Edge Function přes supabase.functions.invoke(...) - klíč zůstává jen na serveru, appka posílá jen to a text zprávy.

typescript
const { data, error } = await supabase.functions.invoke("send-sms", {
  body: { to: "+420777123456", body: "Objednavka je pripravena." },
});

4Nastav webhook, ať appka pozná výsledek hovoru

Založ druhou Edge Function, která přijme událost (call.completed, call.failed, call.no_answer, call.missed, message.sent) a zapíše ji do tabulky v Supabase - odtud si ji appka přečte přes Realtime nebo běžný dotaz. Adresu ulož přes PUT /v1/webhook; prázdné pole events by znamenalo úplně všechny události, radši je vyjmenuj.

bash
curl -X PUT https://volai.cz/v1/webhook \
  -H "Authorization: Bearer vk_TVUJ_KLIC" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://tvuj-projekt.supabase.co/functions/v1/volai-webhook", "events": ["call.completed", "message.sent"]}'

5Volitelně: ať si volai umí přidat sama Lovable AI

Lovable umí při stavbě appky sáhnout i po cizím nástroji přes vlastní MCP server (Custom MCP servers / Custom connectors v jejím nastavení integrací). Adresa serveru je https://volai.cz/mcp, autentizace Authorization: Bearer vk_TVUJ_KLIC - přesné tlačítka v UI Lovable se mění rychleji než tahle stránka, aktuální postup najdeš v docs.lovable.dev/integrations.

Co s tím uděláš

Potvrzovací SMS po objednávce nebo rezervaci

E-shop nebo rezervační appka z Lovable po zaplacení zavolá vlastní Edge Function, která pošle potvrzovací SMS s detaily objednávky.

Hlasový agent, který zvedne telefon za appku

Appka koupí telefonní číslo a založí agenta přes REST (nebo je nastavíš ručně v portálu) - zákazníci appky pak volají na skutečné české číslo, ne na cizí platformu.

Lovable AI si samo přidá volání a SMS do appky

Při stavbě appky necháš Lovable AI sáhnout po volai přes Custom MCP - popíšeš funkci slovy („přidej tlačítko, co zavolá zákazníkovi“) a AI si sama vybere správný nástroj.

Časté otázky

Můžu zavolat volai API přímo z frontendového kódu appky?
Ne. API klíč do prohlížeče nepatří - kdokoli by si otevřel vývojářskou konzoli, mohl by ho vidět a utrácet tvůj kredit. Vždy přes Edge Function nebo jiný server route, který klíč drží jen na backendu.
Existuje pro Lovable nativní konektor volai?
Zatím ne - nativní konektory v Lovable jsou vždy partnerství (tak funguje třeba ten pro ElevenLabs). Dnes vede cesta přes REST z Edge Function, případně přes obecný Custom MCP server popsaný výš.
Jak appka pozná, že hovor skončil, bez neustálého dotazování?
Webhook call.completed zapíšeš do tabulky Supabase Edge Function a appka si změnu přečte přes Supabase Realtime - žádné pollování.
Kolik appku bude stát provoz?
Stejné sazby jako v ceníku, žádný příplatek za Lovable: SMS 1,36 Kč, odchozí hovor 0,92 Kč/min, hlasový agent navíc 2,50 Kč/min. Přesný ceník je na /cenik.

Vyzkoušej to hned

Zaregistruj se a prvních 50 Kč je na nás.