Skip to main content
Исходящие звонки позволяют передать ThunderPhone номер назначения и конфигурацию агента, чтобы ИИ выполнил звонок от вашего имени. Типичные сценарии:
  • Подтверждение записей
  • Обратные звонки для опросов
  • Повторные обращения после пропущенного звонка
  • Уведомления в стиле диспетчеризации
Нужно обзвонить целый список? Функция панели управления Кампании (/dashboard/campaigns) принимает CSV-файл с контактами и сама обрабатывает окна звонков с учётом часовых поясов, параллельность и правила повторных попыток. В этом руководстве рассматриваются отдельные программные звонки.

Предварительные требования

1

Подключите VoIP-номер

Для исходящих звонков необходимо владеть номером from_number через VoIP-подключение. Демо-номера доступны только для входящих звонков. См. Подключение собственных номеров.
2

Создайте агента

Промпт для исходящих звонков обычно начинается с того, что агент представляется и сообщает цель звонка — «Здравствуйте, это Acme звонит, чтобы подтвердить вашу запись на завтра в 15:00…» Установите outbound_speak_order в значение agent_first (по умолчанию).
3

Поддерживайте положительный баланс

Исходящие звонки возвращают 402 Payment Required, если баланс ≤ $0.00. Пополните баланс через POST /v1/billing/top-up или включите автопополнение.

Выполните звонок с сохранённым агентом

Самый простой способ — указать агента по идентификатору:
Ответ:
status: "initiated" означает лишь, что запрос принят — звонок ещё не соединён. Опросите GET /v1/calls/{call_id}, чтобы получить текущий статус (in_progresscompleted / failed).

Выполните звонок со встроенной конфигурацией

Если вам нужен разовый промпт, который не стоит сохранять как агента, передайте config. Его структура соответствует схеме ответа вебхука call.incoming:

Отслеживайте звонок

Параллельно подпишитесь на вебхук telephony.complete — это самый быстрый способ узнать о завершении звонка. Если вы не можете принимать входящие вебхуки, опрашивайте GET /v1/calls/{call_id} каждые несколько секунд; запись содержит end_reason, duration_seconds и URL записи после завершения звонка.

Режимы ошибок, которые стоит обрабатывать

Управление временем ожидания

Длительные исходящие звонки из-за медленной реакции вызываемого абонента (деревья IVR, очереди) можно ограничить с помощью max_hold_seconds:
Агент завершает звонок, если за последние N секунд не было получено аудио от человека. Значение по умолчанию — 900 (15 минут).

Следующие шаги

Справочник по исходящим звонкам

Все поля запроса и коды ошибок.

Получение call.complete

Передавайте завершённые исходящие звонки в свою систему.

Биллинг

Автопополнение, чтобы исходящие звонки не прерывались из-за баланса.

Тестирование исходящих агентов

Протестируйте исходящего агента в режиме пробного запуска перед продакшеном.