Μετάβαση στο περιεχόμενο
ΕΛ
Άνοιγμα εφαρμογής

API

5 λεπτά ανάγνωσης
Αντιγραφή ως Markdown
Προβολή ως MarkdownΆνοιγμα του αρχείου .md.md

Μία outbound κλήση από το σύστημά σας — γεγονός CRM, φόρμα, επιστροφή χαμένης κλήσης. Μια λίστα σε πρόγραμμα είναι Campaigns, όχι αυτό το endpoint.

Οι ρυθμίσεις Outgoing του agent εξακολουθούν να ισχύουν. Αυτό το αίτημα επιλέγει τον αριθμό, τον agent και προαιρετικό επιπλέον πλαίσιο για αυτήν την κλήση.

  1. Το πρόγραμμα περιλαμβάνει Allow Outbound Calls.
  2. Κλειδί API με την ομάδα Calls.
  3. Trunk (ή VoIP phone) από το οποίο να καλέσετε — Your own carrier / Voice Logica numbers.
  4. Το agent id — από το URL agent στο My Agents, ή Copy σε γραμμή εκστρατείας.

Πρώτη ρύθμιση — μία κλήση, στη συνέχεια Calls

Ενότητα με τίτλο «Πρώτη ρύθμιση — μία κλήση, στη συνέχεια Calls»
POST https://api.voicelogica.ai/api/v1/phones/calls/initiate-call
x-api-key: YOUR_API_KEY
Content-Type: application/json

Resellers: προαιρετικό x-company-id για ενέργεια σε θυγατρική. Χωρίς αυτό, χρησιμοποιείται η δική εταιρεία του κλειδιού.

Στείλτε destinationNumber και agentId. Στείλτε sipTrunkId ή voipPhoneId εκτός αν η εταιρεία έχει ήδη outbound route / default trunk που μπορεί να μεταφέρει την κλήση — αν δεν σταλεί κανένα και κανένα trunk δεν μπορεί να επιλυθεί, το API επιστρέφει ότι δεν προσδιορίστηκε ενεργό SIP trunk ή VoIP phone.

Trunk (συνήθως):

Terminal window
curl -X POST https://api.voicelogica.ai/api/v1/phones/calls/initiate-call \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sipTrunkId": "your_sip_trunk_id",
"destinationNumber": "+14155552671",
"agentId": "your_agent_id"
}'

Το VoIP phone id εξακολουθεί να λειτουργεί — ο server το επιλύει σε trunk.

Επιτυχία είναι { "callId": "..." }. Αν ο προορισμός είναι εκτός 09:00–21:00 τοπικής ώρας, μπορεί να λάβετε "scheduled": true συν scheduleTime και reason. Ανοίξτε τα Calls και ακούστε.

destinationNumber σε E.164 (+14155552671).

Απαιτούμενα για AI outbound κλήση

ΠεδίοΤι κάνει
destinationNumberΑριθμός για κλήση.
agentIdAgent που μιλάει. Απαιτείται για AI outbound· προαιρετικό μόνο για isInternalCall.

Πηγή κλήσης — στείλτε ένα ή βασιστείτε στην προεπιλογή outbound εταιρείας

ΠεδίοΤι κάνει
sipTrunkIdTrunk από Telephony → Trunks. Προτιμήστε αυτό.
voipPhoneIdLegacy line id. Επιλύεται σε trunk.
callerIdE.164 ή SIP URI που εμφανίζεται στον παραλήπτη. Πρέπει να είναι αριθμός που το trunk επιτρέπεται να παρουσιάσει.

Μόνο αυτή η κλήση

ΠεδίοΤι κάνει
contextForAiΠροστίθεται στο system prompt για αυτήν την κλήση.
dynamicVariablesΖεύγη κλειδιού/τιμής string που μπορεί να χρησιμοποιήσει το prompt ({{customer_name}}).
superVariablesΠληκτρολογημένες τιμές: { placeholder, value, type } — text / number / boolean / date / time.
metadataΗ παρακολούθησή σας. Αποθηκεύεται στην κλήση. Κλειδιά που ξεκινούν με scenario_ αφαιρούνται.
emailAddressΠού να σταλεί η περίληψη / εγγραφή.
welcomeMessageOverrideΕιπώνεται αντί του χαιρετισμού agent.
isWelcomeMessageAIGeneratedΤο AI γράφει τον χαιρετισμό για αυτήν την κλήση.
scheduledAtΗμερομηνία ISO. Κλήση αργότερα αντί τώρα.
maxRetries1–3 αν απασχολημένος / καμία απάντηση / voicemail. Προεπιλογή 3.
retryDelayMinutes30–1440. Προεπιλογή 30.
additionalPhoneNumbersΕπιπλέον αριθμοί στο ίδιο αίτημα.

Μην στέλνετε fromNumber. Το δημόσιο συμβόλαιο είναι sipTrunkId / voipPhoneId.

Το inbound δεν περιορίζεται ποτέ.

  • Time (on) — 09:00–21:00 στην τοπική ώρα της χώρας προορισμού. Εκτός αυτού, η κλήση μπλοκάρεται ή προγραμματίζεται. Παράκαμψη: overrideTimeRestriction: true.
  • Day (on) — τα Σαββατοκύριακα / αργίες μπορεί να μπλοκαριστούν ανά χώρα προορισμού. Παράκαμψη: overrideDayRestriction: true.
  • Anti-harassment (off εκτός αν στείλετε useAntiHarassmentProtection: true) — max 3 επιτυχημένες και 3 αποτυχημένες κλήσεις ανά αριθμό ανά ημέρα, 1 ώρα μεταξύ επιτυχημένων κλήσεων, max 5 επιτυχημένες ανά εβδομάδα, καμία διπλή ενεργή/προγραμματισμένη κλήση. Το Allowed test numbers εκστρατείας παρακάμπτει αυτό.

Η παράκαμψη κανόνων ώρας ή ημέρας μπορεί να σπάσει τοπικό νόμο. Ενεργοποιήστε anti-harassment για οποιαδήποτε δουλειά επαναλαμβανόμενης επαφής.

Το body είναι { "error": "<code>", "reason": "<message>" }.

ΚωδικόςΣημασία
call_already_in_progressΖωντανή ή προγραμματισμένη κλήση σε αυτόν τον αριθμό υπάρχει ήδη.
agent_not_found / voip_phone_not_foundΛάθος id.
daily_call_limit_reached3 επιτυχημένες κλήσεις σε αυτόν τον αριθμό σήμερα (anti-harassment).
failed_call_limit_reached3 αποτυχημένες προσπάθειες σήμερα.
cooldown_period_activeΠεριμένετε 1 ώρα μετά από επιτυχημένη κλήση σε αυτόν τον αριθμό.
weekly_call_limit_reached5 επιτυχημένες κλήσεις αυτή την εβδομάδα.
call_already_scheduled / failed_to_schedule_callΣύγκρουση προγράμματος.
callee_opted_outΑυτός ο αριθμός ζήτησε να μην κληθεί ξανά.
insufficient_credits / no_seconds_available / no_channels_available / no_concurrent_calls_availableΠρόγραμμα / πιστώσεις.
maximum_authentication_attempts_exceededΤηλέφωνο απενεργοποιήθηκε μετά από επαναλαμβανόμενες αποτυχίες auth.

402 είναι χρέωση. 400 είναι λάθος αίτημα ή προστασία. 500 είναι ο calls server — επαναλάβετε αργότερα.

const response = await fetch('https://api.voicelogica.ai/api/v1/phones/calls/initiate-call', {
method: 'POST',
headers: { 'x-api-key': 'YOUR_API_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({
destinationNumber: '+14155552671',
agentId: 'your_agent_id',
sipTrunkId: 'your_sip_trunk_id',
contextForAi: 'Customer asked about order ORD123',
dynamicVariables: { customer_name: 'Ada', order_id: 'ORD123' },
useAntiHarassmentProtection: true,
}),
});
const result = await response.json();
if (result.callId) console.log(result.callId);
else console.error(result.error, result.reason);

Πρόγραμμα + επαναλήψεις:

{
"destinationNumber": "+14155552671",
"agentId": "your_agent_id",
"sipTrunkId": "your_sip_trunk_id",
"scheduledAt": "2026-09-16T14:30:00Z",
"maxRetries": 2,
"retryDelayMinutes": 120
}

Το scheduledAt μετατρέπεται στη ζώνη της χώρας προορισμού. Οι προστασίες εξακολουθούν να ισχύουν εκτός αν τις παρακάμψετε.

  • 400 “no active SIP trunk” — στείλτε sipTrunkId, ή προσθέστε trunk με αριθμούς και προεπιλογή outbound.
  • scheduled: true όταν αναμενόταν τώρα — η τοπική ώρα προορισμού είναι εκτός 09:00–21:00.
  • Ο agent μιλάει πάνω στο “hello” — Outgoing Who speaks first, όχι αυτό το payload.
  • Κλήση που λείπει στα Calls — λάθος εταιρεία (x-company-id), ή το αίτημα δεν επέστρεψε ποτέ callId.
Το fromNumber λειτουργούσε

Το δημόσιο body είναι sipTrunkId ή voipPhoneId. Στείλτε το trunk id από Telephony → Trunks.

Πόσταρα τώρα και πήρα scheduled: true

Περιορισμός ώρας ή ημέρας. Περιμένετε το παράθυρο ή ορίστε overrideTimeRestriction / overrideDayRestriction μόνο αν επιτρέπεται.

Γράψτε developers@voicelogica.ai — επιπλέον πιστώσεις δοκιμής και βοήθεια στην ενοποίηση.