Μετάβαση στο περιεχόμενο
REST API

Φωνητικός πράκτορας με τσεχικό αριθμό στην εφαρμογή σας στο Lovable

Το Lovable χτίζει εφαρμογές σε React με backend Supabase - η κλήση του REST API της volai ανήκει επομένως στον διακομιστή, σε μία Edge Function, και όχι στην εφαρμογή μέσα στον browser.

1Αποθηκεύστε το κλειδί API ως secret του Supabase

Στο έργο Supabase που δημιούργησε το Lovable για την εφαρμογή σας, προσθέστε μια μεταβλητή περιβάλλοντος VOLAI_API_KEY με την τιμή του κλειδιού σας (πύλη, ενότητα API και MCP). Ποτέ μην το βάζετε στον κώδικα του frontend ή σε αποθετήριο - όποιος το δει θα μπορούσε να ξοδεύει το υπόλοιπό σας.

2Καλέστε τη volai από μια Edge Function

Δημιουργήστε μια Edge Function που δέχεται το αίτημα από την εφαρμογή και μόνο ΑΥΤΗ καλεί το https://volai.cz/v1/messages με κεφαλίδα Authorization: Bearer ${VOLAI_API_KEY}. Με τον ίδιο τρόπο μπορείτε να στήσετε και συνάρτηση για το POST /v1/calls (κλήση μέσω φωνητικού πράκτορα).

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 });
});

3Καλέστε τη συνάρτηση από τη διεπαφή χρήστη

Από ένα στοιχείο της εφαρμογής καλέστε την Edge Function μέσω supabase.functions.invoke(...) - το κλειδί μένει μόνο στον διακομιστή, η εφαρμογή στέλνει απλώς το to και το κείμενο του μηνύματος.

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

4Ορίστε webhook, ώστε η εφαρμογή να μαθαίνει το αποτέλεσμα της κλήσης

Δημιουργήστε δεύτερη Edge Function που δέχεται το συμβάν (call.completed, call.failed, call.no_answer, call.missed, message.sent, message.received) και το γράφει σε πίνακα του Supabase - από εκεί η εφαρμογή το διαβάζει μέσω Realtime ή με συνηθισμένο ερώτημα. Αποθηκεύστε τη διεύθυνση με PUT /v1/webhook. Ένας κενός πίνακας events θα σήμαινε όλα τα συμβάντα, γι' αυτό καλύτερα απαριθμήστε αυτά που θέλετε. Το Supabase από προεπιλογή αφήνει να περάσουν σε Edge Function μόνο αιτήματα με κλειδί στην κεφαλίδα Authorization και αλλιώς επιστρέφει 401: για αυτή τη συνάρτηση απενεργοποιήστε το verify_jwt και επαληθεύστε το συμβάν με την υπογραφή Volai-Signature, ή στείλτε το κλειδί σε δική σας κεφαλίδα μέσω του πεδίου headers.

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"]}'

5Προαιρετικά: αφήστε το Lovable AI να συνδέσει τη volai μόνο του

Το Lovable μπορεί, ενώ χτίζει την εφαρμογή, να χρησιμοποιήσει και εξωτερικό εργαλείο μέσω της δικής του ενσωμάτωσης MCP (Custom MCP servers / Custom connectors στις ρυθμίσεις ενσωματώσεων). Η διεύθυνση του διακομιστή είναι https://volai.cz/mcp, με έλεγχο ταυτότητας Authorization: Bearer vk_TVUJ_KLIC - τα ακριβή κουμπιά στη διεπαφή του Lovable αλλάζουν πιο γρήγορα από ό,τι προλαβαίνει αυτή η σελίδα, γι' αυτό την τρέχουσα διαδικασία θα βρείτε στο docs.lovable.dev/integrations.

Τι μπορείτε να κάνετε

SMS επιβεβαίωσης μετά από παραγγελία ή κράτηση

Ένα e-shop ή μια εφαρμογή κρατήσεων από το Lovable καλεί, μετά την πληρωμή, τη δική της Edge Function, η οποία στέλνει SMS επιβεβαίωσης με τις λεπτομέρειες της παραγγελίας.

Φωνητικός πράκτορας που σηκώνει το τηλέφωνο για την εφαρμογή σας

Η εφαρμογή αγοράζει τηλεφωνικό αριθμό και δημιουργεί πράκτορα μέσω REST (ή τα ρυθμίζετε χειροκίνητα στην πύλη) - οι πελάτες της εφαρμογής καλούν τότε έναν πραγματικό τσεχικό αριθμό και όχι μια ξένη πλατφόρμα.

Το Lovable AI προσθέτει μόνο του κλήσεις και SMS στην εφαρμογή

Κατά το χτίσιμο της εφαρμογής αφήστε το Lovable AI να χρησιμοποιήσει τη volai μέσω Custom MCP - περιγράφετε τη λειτουργία με λόγια («πρόσθεσε κουμπί που καλεί τον πελάτη») και το AI διαλέγει μόνο του το σωστό εργαλείο.

Συχνές ερωτήσεις

Μπορώ να καλώ το API της volai απευθείας από τον κώδικα frontend της εφαρμογής;
Όχι. Το κλειδί API δεν ανήκει στον browser - όποιος ανοίξει την κονσόλα προγραμματιστή θα μπορούσε να το δει και να ξοδεύει το υπόλοιπό σας. Περνάτε πάντα από Edge Function ή άλλη διαδρομή διακομιστή που κρατά το κλειδί μόνο στο backend.
Υπάρχει εγγενής σύνδεσμος (connector) του Lovable για τη volai;
Προς το παρόν όχι - οι εγγενείς connectors στο Lovable είναι πάντα συνεργασίες (έτσι λειτουργεί για παράδειγμα αυτός για το ElevenLabs). Σήμερα ο δρόμος περνά μέσω REST από Edge Function ή μέσω του γενικού διακομιστή Custom MCP που περιγράφεται παραπάνω.
Πώς καταλαβαίνει η εφαρμογή ότι η κλήση τελείωσε, χωρίς συνεχή ερωτήματα;
Γράφετε το webhook call.completed σε πίνακα του Supabase από Edge Function και η εφαρμογή διαβάζει την αλλαγή μέσω Supabase Realtime - χωρίς polling.
Πόσο θα κοστίζει η λειτουργία της εφαρμογής;
Οι ίδιες τιμές με τον τιμοκατάλογο, χωρίς επιπλέον χρέωση για το Lovable: SMS 1,36 kr (≈ 0,06 EUR), εξερχόμενη κλήση 0,92 kr/min (≈ 0,04 EUR), ο φωνητικός πράκτορας προσθέτει 2,50 kr/min (≈ 0,10 EUR). Ο πλήρης τιμοκατάλογος βρίσκεται στο /cenik.

Δοκιμάστε το αμέσως

Εγγραφείτε και τα πρώτα 50 kr υπολοίπου τα προσφέρουμε εμείς.