Πραγματοποιήστε εξερχόμενες κλήσεις (API)
Οι εξερχόμενες κλήσεις σάς επιτρέπουν να δίνετε έναν αριθμό προορισμού και μια διαμόρφωση πράκτορα στο ThunderPhone και ο AI πράκτορας να πραγματοποιεί την κλήση για λογαριασμό σας. Συνήθεις περιπτώσεις χρήσης:
- Επιβεβαιώσεις ραντεβού
- Επανακλήσεις για έρευνες
- Επακόλουθες ενέργειες «δεύτερης προσπάθειας» μετά από αναπάντητη κλήση
- Ειδοποιήσεις τύπου αποστολής
Προϋποθέσεις
- Φέρτε έναν αριθμό VoIP
Οι εξερχόμενες κλήσεις απαιτούν να κατέχετε το
from_numberμέσω μιας σύνδεσης VoIP. Οι αριθμοί επίδειξης είναι μόνο για εισερχόμενες κλήσεις. Δείτε Φέρτε τους δικούς σας αριθμούς. - Δημιουργήστε έναν πράκτορα
Μια προτροπή προσανατολισμένη σε εξερχόμενες κλήσεις συνήθως ξεκινά με τον πράκτορα να συστήνεται και να αναφέρει τον σκοπό του — «Γεια σας, σας καλεί η Acme για να επιβεβαιώσει το αυριανό σας ραντεβού στις 15:00…» Ορίστε το
outbound_speak_orderσεagent_first(η προεπιλογή). - Διατηρήστε θετικό υπόλοιπο
Οι εξερχόμενες κλήσεις επιστρέφουν
402 Payment Requiredαν το υπόλοιπο είναι ≤$0.00. Προσθέστε υπόλοιπο μέσωPOST /v1/billing/top-upή ενεργοποιήστε την αυτόματη ανανέωση.
Πραγματοποιήστε κλήση με αποθηκευμένο πράκτορα
Η απλούστερη διαδρομή — αναφέρετε έναν πράκτορα με αναγνωριστικό:
curl -X POST https://api.thunderphone.com/v1/call \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_number": "+15551234567",
"to_number": "+14155550199",
"agent_id": 12
}'
Απόκριση:
{ "call_id": 987654321, "status": "initiated" }
Πραγματοποιήστε κλήση με ενσωματωμένη διαμόρφωση
Αν θέλετε μια εφάπαξ προτροπή που δεν αξίζει να αποθηκευτεί ως πράκτορας,
περάστε το config αντί γι’ αυτό. Η δομή αντιστοιχεί στο σχήμα απόκρισης του
webhook call.incoming:
curl -X POST https://api.thunderphone.com/v1/call \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_number": "+15551234567",
"to_number": "+14155550199",
"config": {
"prompt": "You are confirming Jane Doe appointment for 3pm tomorrow…",
"voice": "john",
"product": "spark"
}
}'
Παρακολουθήστε την κλήση
Παράλληλα, εγγραφείτε στο
webhook telephony.complete —
είναι ο ταχύτερος τρόπος να γνωρίζετε ότι μια κλήση ολοκληρώθηκε. Αν δεν μπορείτε να δέχεστε
εισερχόμενα webhooks, κάντε polling στο GET /v1/calls/{call_id} κάθε λίγα δευτερόλεπτα· η
εγγραφή περιλαμβάνει τα end_reason, duration_seconds και το URL της εγγραφής
μόλις ολοκληρωθεί η κλήση.
Τρόποι αποτυχίας που αξίζει να χειριστείτε
| Σφάλμα | Διόρθωση |
|---|---|
402 Payment Required | Προσθέστε υπόλοιπο ή ενεργοποιήστε την αυτόματη ανανέωση |
Εξερχόμενες κλήσεις 403 αποκλεισμένες (αριθμός επίδειξης) | Φέρτε έναν αριθμό VoIP αντί γι’ αυτό |
Εξερχόμενες κλήσεις 403 αποκλεισμένες (μη επαληθευμένο VoIP) | Εκτελέστε POST /v1/phone-numbers/{id}/verify-voip |
404 from_number is not registered to this organization | Επιβεβαιώστε ότι το from_number αντιστοιχεί σε αριθμό τηλεφώνου που κατέχετε |
502 Bad Gateway | Παροδική αποτυχία SIP / LiveKit· μπορείτε με ασφάλεια να επαναλάβετε την προσπάθεια |
Έλεγχος χρόνου αναμονής
Οι εξερχόμενες κλήσεις που διαρκούν πολύ επειδή ο καλούμενος αργεί να απαντήσει
(δέντρα IVR, ουρές) μπορούν να περιοριστούν με το max_hold_seconds:
{
"from_number": "+15551234567",
"to_number": "+14155550199",
"agent_id": 12,
"max_hold_seconds": 120
}
Ο πράκτορας τερματίζει την κλήση αν δεν έχει ληφθεί ανθρώπινος ήχος τα τελευταία N δευτερόλεπτα. Η προεπιλογή είναι 900 (15 λεπτά).
Επόμενα βήματα
Κάθε πεδίο αιτήματος και κωδικός σφάλματος.
Μεταδώστε ολοκληρωμένες εξερχόμενες κλήσεις στο σύστημά σας.
Αυτόματη ανανέωση ώστε οι εξερχόμενες κλήσεις να μη αποτυγχάνουν λόγω υπολοίπου.
Εκτελέστε δοκιμαστικά τον εξερχόμενο πράκτορά σας πριν από την παραγωγή.