# Работа с чатами

### 1. Получаем API ключ

Для этого переходим в личном кабинете в раздел Интеграции. Создаём интеграцию с типом API, указываем, к каким разделам интеграция имеет доступ (нужны как минимум "Сообщения" и "Вебхуки") и сохраняем ключ.

### 2. Проверяем, какие источники чатов есть в компании

Это можно сделать, отправив запрос <https://api.radist.online/v2/docs#/Messaging/MessagingGetChatsSources> (`GET /messaging/chats/sources/`)

На данный момент доступны типы источников: `whatsapp, waba, telegram, telegram_bot, max_personal, max_bot`.

Пример ответа:

```json
[
  {
    "connection_id": 123,
    "name": "Номер 1",
    "type": "whatsapp",
    "create_chat": {
      "with_phone": true,
      "with_username": false
    },
    "subscription": {
      "id": 1,
      "paid_until": "2025-03-17T13:35:35.728Z",
      "subscription_plan": "STANDARD"
    }
  },
  {
    "connection_id": 456,
    "name": "Продажи",
    "type": "waba",
    "create_chat": {
      "with_phone": true,
      "with_username": false
    },
    "subscription": {
      "id": 2,
      "paid_until": "2025-03-17T13:35:35.728Z",
      "subscription_plan": "STANDARD"
    }
  },
  {
    "connection_id": 789,
    "name": "test telegram",
    "type": "telegram",
    "create_chat": {
      "with_phone": true,
      "with_username": true
    },
    "subscription": {
      "id": 3,
      "paid_until": "2025-03-17T13:35:35.728Z",
      "subscription_plan": "ADVANCED"
    }
  },
  {
    "connection_id": 1001,
    "name": "tg bot",
    "type": "telegram_bot",
    "create_chat": {
      "with_phone": false,
      "with_username": false
    },
    "subscription": {
      "id": 11,
      "paid_until": "3000-03-17T13:35:35.728Z",
      "subscription_plan": "FREE"
    }
  }
]
```

В ответе указывается id подключения, его название, тип, а также флаги, показывающие, как эти источники могут создавать чаты. Например, подключения `waba, whatsapp` могут создавать чаты только с использованием номера телефона. Подключения `telegram` с использованием телефона или имени пользователя. `telegram_bot` не могут создавать чаты.

### 3. Подписываемся на вебхуки

Для того, чтобы получать уведомления, когда приходят новые сообщения или отправленные сообщения доставлены/прочитаны, необходимо подписаться на вебхуки. Как это сделать описано [здесь](https://docs.radist.online/radist.online-docs/api/v2/webhooks).

### 4.  Создаём чат

Если вы хотите написать клиенту, переписки с которым ещё не было, необходимо сначала создать с ним чат. Как это сделать описано [здесь.](https://docs.radist.online/radist.online-docs/api/chaty#sozdanie-chata)

### 5. Отправляем сообщения

Как это сделать описано [здесь.](https://docs.radist.online/radist.online-docs/api/chaty#otpravka-soobsheniya)
