---
title: "Исходящие кампании"
description: "Загрузите список контактов и поручите агенту обработать его — с временными окнами для звонков, повторными попытками и отслеживанием прогресса в реальном времени."
---

Кампании обзванивают список контактов от вашего имени: выберите агента, загрузите
CSV, укажите разрешённое время звонков — и ThunderPhone обработает список,
повторяя попытки при отсутствии ответа и голосовой почте по выбранному вами расписанию. Найти их можно в разделе **Взаимодействие → Кампании** (`/dashboard/campaigns`).

Для разовых программных звонков используйте
[API исходящих звонков](/ru/guides/place-outbound-calls).

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

- Развёрнутый голосовой агент.
- Номер телефона с поддержкой исходящих вызовов. Клиентские VoIP-номера по-прежнему поддерживают
  кампании. Номера ThunderPhone изначально поддерживают только входящие вызовы; администратор организации может
  запросить исходящие вызовы на странице «Номера телефонов». ThunderPhone вручную рассматривает
  каждый запрос, и одобренные номера могут запускать кампании. См.
  [Подключение VoIP-провайдера](/ru/guides/voip-providers).
- Контакты в виде CSV-файла (или вставленного JSON) со столбцом `phone` или
  `phone_number`. **До 5 000 строк на одну загрузку**, в кодировке UTF-8.
  Новые JSON-загрузки должны быть плоскими: дополнительные значения могут быть строками, числами,
  логическими значениями или `null`. Строки, содержащие массивы или вложенные объекты, отклоняются
  по отдельности с сообщением о валидации; допустимые строки всё равно импортируются. Ячейки CSV
  являются строками. Допустимые дополнительные столбцы сохраняются в записях контактов кампании
  как переменные для каждого контакта и автоматически передаются при каждой попытке дозвона. ThunderPhone также
  классифицирует сохранённую инструкцию агента перед каждым исходящим вызовом, чтобы определить,
  должен ли агент проходить телефонное меню. Заголовки, такие как `name` и `account_id`,
  соответствуют `{{name}}` и `{{account_id}}` в сохранённой инструкции агента. Сопоставление имени также может объединять
  столбцы в `name`. См.
  [переменные для каждого вызова](/ru/guides/call-variables), чтобы узнать значения по умолчанию, правила именования,
  ограничение объекта в 32 КБ и значения, возвращаемые в вебхуках завершения.

Старые записи контактов могут содержать вложенные метаданные из предыдущих JSON-загрузок.
Эти метаданные сохраняются в контакте. При каждом звонке нескалярные значения исключаются из
полезной нагрузки переменных, а имена проигнорированных ключей записываются в журнал для этой попытки без
записи значений. При повторных попытках используется та же фильтрация.

## Создание кампании

<Steps>
  <Step title="Нажмите New campaign">
    Укажите название, выберите **голосового агента** и **номер отправителя**
    (один из ваших номеров с поддержкой исходящих звонков).
  </Step>
  <Step title="Загрузите CSV с контактами">
    Строки с недействительным номером телефона или недействительными переменными отклоняются отдельно,
    а их номера строк возвращаются в отчёте — остальные успешно импортируются.
  </Step>
  <Step title="Настройте окно звонков">
    Выберите **часовой пояс** и ежедневное окно **начала/окончания**; кампания
    звонит только в его пределах. Часовой пояс определяется по зоне вашего номера отправителя
    (по коду региона в США и Канаде, по стране в других местах) или, для
    номеров, охватывающих несколько зон, например бесплатных, по часовому поясу вашего
    браузера. Подсказка под полем указывает, какой вариант используется. По умолчанию окно
    установлено с 9:00 до 17:00. Если окно начинается до 8:00 или заканчивается после 21:00, отображается
    предупреждение: звонки в это время могут нарушать правила допустимого времени звонков,
    например требования TCPA. Окончание раньше начала означает переход через полночь: 22:00 →
    02:00 выполняет звонки с 22:00 до 2:00 следующего дня с предупреждением. Окно действует в часовом поясе
    кампании, а не каждого контакта, поэтому разделяйте контакты по часовым поясам, если они находятся в разных местах.
    При необходимости задайте **start at**, чтобы запланировать запуск, и
    **end at**, после которого кампания завершится автоматически.
  </Step>
  <Step title="Настройте темп и повторные попытки">
    - **Одновременные звонки** — сколько звонков эта кампания выполняет одновременно
      (1–10, по умолчанию 3). Кампании не начинают новые звонки, пока в вашей
      организации выполняются 10 исходящих звонков, поэтому параллельные
      кампании используют общий лимит. Каждый звонок также учитывается в
      [лимите одновременных звонков](/api-reference/introduction#call-limits) вашей организации
      (по умолчанию 20 для входящих, исходящих, веб- и тестовых звонков).
      При достижении этого лимита или если на тот же номер звонили в
      последние 10 секунд, контакт просто ожидает следующего прохода; его
      попытки не расходуются.
    - **Максимальное число попыток** — сколько раз можно позвонить каждому контакту
      (1–10, по умолчанию 2).
    - **Задержка повторной попытки (минуты)** — ожидание перед повторной попыткой (не менее 30,
      по умолчанию 60).
    - **Повторять при** — какие результаты запускают повторную попытку: **нет ответа**,
      **голосовая почта**, **сбой** (все включены по умолчанию).

    Нужно больше попыток или меньшие интервалы? Обратитесь в поддержку: сотрудники могут
    увеличить оба лимита для вашей организации.
  </Step>
  <Step title="Создайте черновик, затем запустите">
    Кампании создаются как черновики — контакты можно добавлять, только пока
    кампания остаётся черновиком. Для запуска кампании требуется явное согласие
    на оплату звонков. При указании будущего значения **start at** она становится
    *запланированной*; в противном случае сразу переходит в статус *выполняется*.
  </Step>
</Steps>

<Note>
  Кампании, сохранённые до введения этих лимитов, продолжают выполняться точно в соответствии с настройками.
  Их число попыток и интервалы сохраняются при других изменениях.
</Note>

## Как работают результаты и повторные попытки

После каждого звонка контакту присваивается результат: успешные звонки
помечаются как завершённые; звонок с оценкой «нет ответа», обнаруженный как
голосовая почта или завершившийся ошибкой, выполняется повторно, если этот
результат есть в вашем списке **повторять при** и у контакта остались попытки.
Контакты, у которых закончились попытки, помечаются как *исчерпанные*;
ошибки без повторной попытки помечаются как *неудавшиеся*.

<Note>
  Набор номера автоматически приостанавливается, пока баланс вашего аккаунта
  не в надлежащем состоянии, и возобновляется, когда он восстановлен. Для
  длительных кампаний включите
  [автопополнение](/ru/guides/billing-and-topups).
</Note>

## Мониторинг и управление

На карточке каждой кампании отображаются её статус и прогресс (например, «173 из 248
завершено»). Откройте кампанию, чтобы посмотреть разбивку по статусам, результаты по каждому
контакту и последние звонки — каждый из них ведёт к полной расшифровке и
записи в истории звонков.

- **Приостановить / возобновить** — приостановка прекращает новые наборы номера; уже
  выполняемые звонки завершаются естественным образом. Приостановленные кампании можно редактировать и возобновлять.
- **Отменить** — навсегда останавливает кампанию.
- Кампания завершается автоматически, когда каждый контакт достигает конечного
  состояния или наступает время **завершить в**.

Статусы кампании: `draft`, `scheduled`, `running`, `paused`,
`completed`, `cancelled`. Статусы контакта: `pending`, `scheduled`,
`calling`, `completed`, `failed`, `exhausted`.

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

<CardGroup cols={2}>
  <Card title="Слушать звонки в реальном времени" icon="tower-broadcast" href="/ru/guides/monitor-live-calls">
    Прослушивайте звонки кампании по мере их выполнения.
  </Card>
  <Card title="API исходящих звонков" icon="phone-arrow-up-right" href="/ru/guides/place-outbound-calls">
    Выполняйте отдельные звонки программно.
  </Card>
</CardGroup>
