# Як надіслати розсилку по телефону через route

API endpoint `/kw/api/broadcast/route` дозволяє надсилати повідомлення за шаблоном розсилки зовнішнім викликом. Це корисно для автоматизації розсилок з ваших систем.

## Endpoint

```
POST https://engine-{{instance_name}}.connectiveone.io/kw/api/broadcast/route
```

## Авторизація

За допомогою `x-auth-token` у headers робимо POST запит.

**Приклад заголовків:**

```http
Content-Type: application/json
x-auth-token: YOUR_TOKEN
```

> ⚠️ **Важливо:** Токен `x-auth-token` повинен бути валідним для вашого інстансу. Зверніться до команди підтримки для отримання токену.

## Параметри запиту

У тілі запиту передаємо такі дані:

| Параметр | Тип | Обов'язковий | Опис |
|----------|-----|:------------:|------|
| `bot_id` | integer | ✅ | ID бота, яким буде здійснюватися розсилка |
| `phone` | string | ✅ | Номер телефону користувача в міжнародному форматі (без знаку `+`) |
| `template_id` | integer | ✅ | ID шаблону розсилки на інстансі |

## Приклад запиту

```json
{
  "phone": "380662094811",
  "bot_id": 69,
  "template_id": 1
}
```

**Приклад curl запиту:**

```bash
curl -X POST \
  https://engine-instancename.connectiveone.io/kw/api/broadcast/route \
  -H "Content-Type: application/json" \
  -H "x-auth-token: YOUR_TOKEN" \
  -d '{
    "phone": "380662094811",
    "bot_id": 69,
    "template_id": 1
  }'
```

## Формат відповіді

### 200 - Успішно

Запит успішно оброблено, розсилка має пройти.

**Приклад відповіді:**

```json
{
  "status": "success",
  "message": "Broadcast scheduled"
}
```

### 404 - Не знайдено

Користувач не знайдений або шаблон розсилки не існує.

**Приклад відповіді:**

```json
{
  "status": "error",
  "message": "User not found or template does not exist"
}
```

### 422 - Помилка валідації

Неправильний токен або деякі дані в тілі запиту некоректні.

**Приклад відповіді:**

```json
{
  "status": "error",
  "message": "Invalid token or request data"
}
```

## Обмеження

- Номер телефону повинен бути в міжнародному форматі (без знаку `+`)
- `bot_id` повинен відповідати існуючому боту
- `template_id` повинен відповідати існуючому шаблону розсилки
- Користувач повинен бути зареєстрований в системі та мати підписку на нотифікації

## Пов'язані статті

- [Підписка користувача на нотифікації](/uk/integrations/how-to/data-transfer/subscribe-user-to-notifications.md)
- [Що таке інтеграції](/uk/integrations/explanation/what-are-integrations.md)
