# Публикация записей разговоров через API (Yeastar S-серия)

**HTTP API Yeastar** — интерфейс, через который Callbee забирает **записи разговоров** с АТС. Без API записи не попадут в карточки CRM на моделях S50/S100/S300.

> [!NOTE] Какие модели поддерживают API
> API доступен на **S50, S100, S300**. У **S20** нет API — для записей используется [FTP](/setup/yeastar/ftp-setup/).

> [!CAUTION] Это не замена AMI
> API и AMI работают параллельно: AMI — для **событий звонков**, API — для **скачивания записей**. Настраиваются оба — [настройте AMI](/setup/yeastar/ami-setup/) если ещё не сделали этого.

## Что понадобится

|   |   |
|---|---|
| **Веб-доступ к АТС** | обычно `https://<IP-АТС>` |
| **Учётные данные администратора** | с правом изменения системных настроек |
| **Статический IP или проброс портов** | порт **8088/TCP** должен быть виден Callbee |
| **Надёжный пароль** | 16+ символов, буквы/цифры/спецсимволы |

> [!CAUTION] В настройках API нет белого списка IP
> В отличие от AMI, у API Yeastar S **нет поля «Разрешённые IP/Маска»** — доступ ограничен только логином/паролем. Поэтому защита по IP делается **на уровне роутера**: пробросьте порт **8088/TCP** на локальный IP АТС и ограничьте источник [IP-адресами Callbee](/ip-addresses/). Без этого API будет открыт всему интернету.

---

## Шаг 1. Войдите в админ-панель

Откройте браузер и перейдите по адресу АТС:

```
https://<IP-адрес-АТС>
```

Войдите под учётной записью **администратора**.

## Шаг 2. Откройте настройки API

Перейдите в **Настройки → АТС → Общие → API**.

![Настройки API Yeastar S](../img/amo-api-s.png)

## Шаг 3. Включите API и задайте учётные данные

1. Поставьте галочку **«Активировать API»**
2. В поле **«Имя пользователя API»** введите логин — например `callbee-api`
3. В поле **«Пароль API»** введите сгенерированный пароль (16+ символов)

> [!TIP] Отдельные учётки для AMI и API
> В Yeastar AMI и API — это **разные подсистемы** с отдельными настройками и пользователями. Используйте **разные пароли** для каждой — это упрощает отзыв доступа одной из них без перерыва в работе другой.

> [!CAUTION] Пароль
> - **Длина** — не меньше 16 символов
> - **Нельзя** использовать логин пользователя API, `admin`, `password`, `cdr`, номер телефона, имя компании
> - **Разный** от пароля AMI — не дублируйте

## Шаг 4. Выберите протокол (HTTP или HTTPS)

Если на АТС **не установлен валидный SSL-сертификат**, выберите протокол **HTTP** — Callbee примет самоподписанный, но для надёжности удобнее HTTP внутри доверенной сети.

## Шаг 5. Сохраните и примените

Нажмите **«Сохранить»** → **«Применить»**. Модуль API перезапустится (обрыва звонков не будет).

## Шаг 6. Проверьте подключение

На компьютере в той же сети (или с пробросом портов) выполните:

```bash
curl -u callbee-api:ВАШ_ПАРОЛЬ "http://<IP-АТС>:8088/api/v1/get_extension_list"
```

Ожидаемый ответ — JSON со списком внутренних номеров АТС. Если `401 Unauthorized` — перепроверьте логин/пароль. Если `Connection refused` — API не включён или порт не доступен.

---

## Частые проблемы

**`401 Unauthorized`**
Пароль API не совпадает с указанным в личном кабинете. Обратите внимание — в Yeastar S пароль API и пароль AMI **это разные поля**, их легко перепутать.

**Записи разговоров не появляются в CRM**
Убедитесь что:
1. Записи включены в настройках АТС (**Настройки → Запись разговоров**)
2. API активен и порт 8088 проброшен на роутере
3. URL записей в сервисе Callbee совпадает с реальным путём (проверьте через curl)

**Нет раздела «API» в настройках**
Раздел API появляется только на моделях S50, S100, S300. Если у вас S20 — используйте [FTP для публикации записей](/setup/yeastar/ftp-setup/).

---

> [!SUCCESS] API настроен!
> Переходите к следующему шагу — [сетевым настройкам](/setup/yeastar/network/) для проверки проброса портов и firewall.
