> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hubtalk.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Ключ доступа и подготовка

> Как выпустить ключ, что должно быть готово до первого запроса и чек-лист перед запуском.

# Ключ доступа и подготовка

## Ключ доступа: как получить и что с ним делать

Ключ — это длинная строка, которой ваша система представляется платформе. Он заменяет логин и пароль: у программы нет человека, который вводил бы их руками.

### Как выпустить

1. Зайдите в кабинет под учётной записью **администратора или разработчика** вашей организации.
2. Откройте раздел **«API-ключи»** в левом меню — это отдельный пункт меню, а не подраздел «Настроек».
3. Нажмите **«Создать ключ»**.
4. Заполните:
   * **Имя** — для вас, чтобы потом понять, чей это ключ («Биллинг», «CRM продакшен»). В запросах оно не участвует.
   * **Лимит запросов в минуту** — сколько обращений в минуту разрешено этому ключу. Пусто или `0` — общий лимит платформы (обычно 60 в минуту; точное действующее значение показано рядом с полем). Ограничение защищает и вас: сломавшаяся интеграция не положит очередь.
   * Галочка **«привилегированный ключ»** видна только администраторам платформы и для обзвонов не нужна: все операции этого документа работают с обычным ключом.
5. Нажмите **«Создать»**.

<Warning>
  **Секрет показывается ровно один раз.** В окне появится строка вида `cfk_...`. Скопируйте её и передайте разработчику по защищённому каналу — платформа хранит только хеш и повторно показать секрет не сможет. Если секрет потерян, ключ отзывают и выпускают новый.
</Warning>

### Что ещё можно

* **Изменить лимит** запросов — карандашом в списке. Секрет при этом не меняется, интеграцию перенастраивать не нужно; новый лимит действует со следующего запроса.
* **Отозвать ключ** — строка остаётся в списке с пометкой «отозван» (это нужно для аудита), но запросы с ним сразу перестают работать.

### Чего ключ не может

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

### Почему важно, КТО выпустил ключ

Платформа записывает, какой сотрудник и в какой момент выпустил ключ. Это не формальность аудита, а юридическое основание: запуск обзвона требует подписи под подтверждением, что у вас есть согласие абонентов, а подпись под ним ставит ключ — то есть программа. Действие программы имеет силу до тех пор, пока его можно связать с человеком, который взял на себя обязательство. Этот человек — тот, кто выпустил ключ. Запись «кто и когда» хранится в самой подписи и не собирается задним числом.

Практический вывод: **выпуск ключа — не техническая мелочь.** Выпускать его должен тот, кто вправе отвечать за обзвоны от лица организации.

## Что должно быть готово до первого запроса

Перечисленное настраивается в кабинете один раз; без этого обзвон не начнётся, и платформа честно скажет, чего не хватает.

| Что                                    | Кто делает                                                                                  | Зачем                                                                                                                     |
| -------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| **Транк с исходящей группой**          | администратор в разделе [«Телефония»](/ru/v4/platform/telephony)                            | `trunk_id` и `route_id` группы. Пул номеров, разрешённые направления и лимиты звонков принадлежат **группе**, а не транку |
| **Агент опубликован**                  | ваш разработчик сценариев                                                                   | звонит именно опубликованная версия; черновик не набирается                                                               |
| **Агент привязан к исходящей группе**  | администратор                                                                               | иначе звонить не с чего: платформа не выбирает линию за вас                                                               |
| **Пакет рынка** (для США)              | поддержка платформы                                                                         | без него нельзя проверить географию и законное окно звонков                                                               |
| **Окно обзвона организации**           | администратор платформы                                                                     | за пределами этого окна платформа не звонит, какие бы часы ни назвала кампания                                            |
| **Ключ выпущен**                       | администратор или разработчик, раздел «API-ключи»                                           | секрет `cfk_…`, см. [Ключ доступа](/ru/v4/web-api/start)                                                                  |
| **Зарегистрирован адрес для вебхуков** | администратор, на агенте: редактор → вкладка **«Настройки»** → **«Вебхуки (после звонка)»** | ваш URL и секрет подписи, переданный вам отдельным каналом                                                                |

Отдельно про привязку: если агент привязан ровно к одной исходящей группе, **ничего указывать не нужно** — платформа найдёт её сама по агенту. Если групп несколько, она не станет выбирать за вас и попросит назвать линию явно: догадка здесь означала бы звонки с чужого номера и по чужой квоте, а узнали бы вы об этом по счёту.

## Чек-лист перед первым запуском

1. Агент создан и **опубликован**; тестовый звонок из кабинета проходит.
2. Агент привязан к исходящей группе; если групп несколько — вы знаете, какую называть.
3. Для США: пакет рынка установлен, в списке номеров есть колонки географии.
4. Окно обзвона организации задано так, как вам нужно; рабочие часы кампании его не расширят.
5. Ключ выпущен **тем, кто вправе отвечать за обзвоны**, секрет передан разработчику по защищённому каналу и сохранён в вашем хранилище секретов.
6. Лимит запросов у ключа выставлен осознанно.
7. Ваша система формирует **новый** ключ повтора на каждую новую кампанию и каждую партию.
8. Цель обзвона (`classification`) задана явно и соответствует тому, о чём агент действительно говорит.
9. Решено, кто перезванивает недозвоны — вы или платформа, — и число попыток задано соответственно (по умолчанию — одна).
10. Первая кампания запущена на **коротком списке своих номеров**, ответ прочитан целиком, отчёт по строкам просмотрен.
11. Проверено, что кампания видна в кабинете и её можно поставить на паузу мышкой — это подтверждает, что интеграция работает с тем же продуктом.
12. Разобрано, кто у вас читает прогресс и что делает с блокерами, если обзвон не начался ночью и никто этого не увидел.

***

Дальше — для разработчика: как обращаться к API, какой запрос что делает и что приходит в ответ.

<Warning>
  **Три изменения контракта от 22 сентября 2026 — проверьте свой разбор ответов**

  Вместе с отменой общего потолка набора (см. [скорость обзвона](/ru/v4/platform/campaign-launch)) из ответов ушли три поля. Ни одно из них не заменено другим — их просто больше нет, потому что нет и механизма, о котором они сообщали:

  * в `warnings[]` при создании кампании кода **`rate_clamped`** нет;
  * в ответе `GET /v1/campaigns/{id}/progress` поля **`rate.clamped`** нет;
  * в списке лимитов кампании поле `max_dials_per_minute` заменено списком доступных ступеней `calls_per_minute_tiers`.

  Разбор, который читает `rate.clamped` без проверки на наличие ключа, на этом упадёт. Значение `calls_per_minute` всегда равно тому, что вы прислали.
</Warning>
