Γρήγορη εκκίνηση (API)

Αυτός ο οδηγός σας καθοδηγεί στις τέσσερις κλήσεις REST που απαιτούνται για να απαντήσετε την πρώτη σας τηλεφωνική κλήση με έναν AI πράκτορα.

Βήμα 1: Αποκτήστε ένα κλειδί API

  1. Συνδεθείτε

    Ανοίξτε το app.thunderphone.com.

  2. Μεταβείτε στα Κλειδιά

    Στον πίνακα ελέγχου, μεταβείτε στην επιλογή Οργανισμός → Κλειδιά.

  3. Δημιουργήστε ένα κλειδί

    Κάντε κλικ στο Δημιουργία κλειδιού, δώστε του ένα όνομα και αντιγράψτε την τιμή sk_live_.... Το πλήρες κλειδί εμφανίζεται μόνο μία φορά — αποθηκεύστε το αμέσως στον διαχειριστή μυστικών σας.

Σε όλο αυτόν τον οδηγό, αντικαταστήστε το sk_live_YOUR_API_KEY με την τιμή που μόλις αντιγράψατε. Το κλειδί αναγνωρίζει αυτόματα τον οργανισμό σας, επομένως δεν χρειάζεται ποτέ να συμπεριλάβετε αναγνωριστικό οργανισμού στα URL.

Βήμα 2: Δημιουργήστε έναν πράκτορα

Ένας πράκτορας ορίζει τον τρόπο με τον οποίο ο AI πράκτορας χειρίζεται τις συνομιλίες — την προτροπή, τη φωνή, τη βαθμίδα προϊόντος, τα εργαλεία και τη δυνατότητα χρήσης σε widget.

curl -X POST https://api.thunderphone.com/v1/agents \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name":   "Customer Support",
    "prompt": "You are a friendly support agent for Acme Corp. Help with orders, returns, and product info. Be concise and helpful.",
    "voice":  "john",
    "product": "spark"
  }'
import os, requests

agent = requests.post(
    "https://api.thunderphone.com/v1/agents",
    headers={"Authorization": f"Bearer {os.environ['THUNDERPHONE_API_KEY']}"},
    json={
        "name":   "Customer Support",
        "prompt": "You are a friendly support agent for Acme Corp. Help with orders, returns, and product info. Be concise and helpful.",
        "voice":  "john",
        "product": "spark",
    },
).json()
print("Agent id:", agent["id"])
const agent = await fetch("https://api.thunderphone.com/v1/agents", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.THUNDERPHONE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name:    "Customer Support",
    prompt:  "You are a friendly support agent for Acme Corp. Help with orders, returns, and product info. Be concise and helpful.",
    voice:   "john",
    product: "spark",
  }),
}).then((r) => r.json());
console.log("Agent id:", agent.id);

Βήμα 3: Παροχή αριθμού τηλεφώνου

Αυτή η κλήση ζητά έναν αριθμό από το δοκιμαστικό σύνολο του ThunderPhone και εκχωρεί τον νέο σας πράκτορα ως χειριστή εισερχόμενων κλήσεων. (Για να χρησιμοποιήσετε δικό σας αριθμό από πάροχο VoIP, δείτε τις συνδέσεις VoIP.)

# First provision
curl -X POST https://api.thunderphone.com/v1/phone-numbers \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area_code": "415"}'

# Then assign the agent you created in Step 2
curl -X PATCH https://api.thunderphone.com/v1/phone-numbers/<id-from-previous> \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inbound_agent_id": 12}'
number = requests.post(
    "https://api.thunderphone.com/v1/phone-numbers",
    headers={"Authorization": f"Bearer {os.environ['THUNDERPHONE_API_KEY']}"},
    json={"area_code": "415"},
).json()
requests.patch(
    f"https://api.thunderphone.com/v1/phone-numbers/{number['id']}",
    headers={"Authorization": f"Bearer {os.environ['THUNDERPHONE_API_KEY']}"},
    json={"inbound_agent_id": agent["id"]},
)
print("Your ThunderPhone number:", number["number"])

Ο νέος σας αριθμός ξεκινά με status="provisioning" και μεταβαίνει σε active μέσα σε λίγα δευτερόλεπτα· μέχρι να κλείσετε το πρόγραμμα περιήγησής σας, ο αριθμός είναι έτοιμος να δέχεται κλήσεις.

Βήμα 4 (προαιρετικό): Ρύθμιση webhook

Για συμβάντα σε πραγματικό χρόνο (δυναμική δρομολόγηση κλήσεων, επεξεργασία μετά την κλήση), προσθέστε ένα endpoint webhook. Εγγραφείτε μόνο στα συμβάντα που χρειάζεστε.

curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "label":  "Prod webhook",
    "url":    "https://your-server.com/thunderphone-webhook",
    "events": ["telephony.incoming", "telephony.complete"]
  }'

Η απόκριση περιέχει ένα εφάπαξ secret — αντιγράψτε το στον διαχειριστή μυστικών σας. Χρησιμοποιήστε αυτό το μυστικό για να επαληθεύσετε την κεφαλίδα X-ThunderPhone-Signature στα εισερχόμενα αιτήματα (δείτε την επισκόπηση των Webhooks).

Βήμα 5: Δοκιμή του πράκτορά σας

Καλέστε τον αριθμό που μόλις παρείχατε. Ο πράκτορας απαντά, συστήνεται και ακολουθεί την προτροπή σας.

Ελέγξτε την κλήση αφού ολοκληρωθεί:

curl https://api.thunderphone.com/v1/calls \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Εξετάστε μια συγκεκριμένη κλήση για να ανακτήσετε το απομαγνητοφωνημένο κείμενο και το URL της εγγραφής:

curl https://api.thunderphone.com/v1/calls/{call_id}/transcript \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
curl https://api.thunderphone.com/v1/calls/{call_id}/audio \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Επόμενα βήματα