---
title: Отправьте первое сообщение через API
description: Как отправить сообщение через OMNI API Multi API — параметры, curl, ответ, статусы
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://docs.mydialogi.ru/llms.txt). Append `.md` to any page URL for its markdown version.


> **Коротко:** для отправки первого сообщения нужен POST-запрос на эндпоинт `/messages` с вашим API-ключом.

## Кому подходит

- Роль: Разработчик
- Уровень: Новичок / Опытный

## Что это

**Подробная инструкция для разработчиков** — как отправить первое сообщение через API Multi API.

Если нужен быстрый старт за 5 минут — см. [Быстрый старт →](https://iba-platform.jamdesk.app/03-multiapi/00-start-here/mapi-002-quick-start).

Здесь разбираем:

- Структуру запроса.
- Все параметры OMNI API.
- Пример curl.
- Формат ответа.
- Способы получения статуса.

## Что вы получите

Отправленное сообщение и статус доставки в EDR.

## Перед началом

- [ ] Есть API-ключ.
- [ ] Есть имя отправителя со статусом **Активно**.
- [ ] Есть номер получателя.

<Note>
**Каналы для API-ключа определяются выбранными именами отправителей.** Чтобы ключ мог отправлять по SMS — выберите имя для SMS. Чтобы по SMS и WhatsApp — выберите два имени.

[Как создать API-ключ →](https://iba-platform.jamdesk.app/06-reference/01-api/api-keys)
</Note>

## Шаги

### 1. Подготовьте запрос

**URL:** `https://web.multiapi.ru/api/v1/messages`

**Метод:** `POST`

**Заголовки:**

| Заголовок | Значение |
|---|---|
| `Content-Type` | `application/json` |
| `X-API-Key` | Ваш API-ключ |

**Тело запроса:**

| Поле | Тип | Обязательно | Что указать |
|---|---|---|---|
| `contact` | string | Да | Номер получателя с кодом страны, без «+» |
| `channel` | integer | Да | Номер канала |
| `senderId` | string | Да | Имя отправителя со статусом **Активно** |
| `payload` | object | Да | Содержимое сообщения. Формат зависит от канала |

<Note>
**`contact`** указывается в международном формате, без знака `+`. Например, для России: `79123456789`.
</Note>

### 2. Отправьте запрос

**Пример curl для SMS:**

```bash
curl --location 'https://web.multiapi.ru/api/v1/messages' \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <ваш-ключ>' \
  --data-raw '{
    "contact": "79123456789",
    "channel": 1,
    "senderId": "<senderID>",
    "payload": {
      "text": "Привет! Это тестовое сообщение."
    }
  }'
```

**Замените три значения на свои:**

- `<ваш-ключ>` — на API-ключ из раздела **API Подключения**.
- `79123456789` — на номер получателя.
- `<senderID>` — на имя отправителя со статусом **Активно**.

<Note>
**`channel: 1` — это SMS.** Для другого канала укажите его номер — см. таблицу каналов ниже.
</Note>

### 3. Проверьте ответ

Успешный ответ приходит с кодом **`202 Accepted`** и объектом `data`:

```json
{
  "error": false,
  "data": {
    "channel": 1,
    "transactionId": "95e3e0da-9684-4ba4-88a3-e9207ddeca05",
    "messageId": "6719b5f4-36af-4fba-b111-49ff07f4f96b"
  }
}
```

**Поля ответа:**

| Поле | Что означает |
|---|---|
| `channel` | Номер канала |
| `transactionId` | ID транзакции |
| `messageId` | ID сообщения — по нему можно отслеживать статус |

<Note>
Ответ `202 Accepted` означает, что запрос принят и сообщение поставлено в очередь на отправку. Это **не означает**, что сообщение доставлено — статус доставки придёт асинхронно.
</Note>

### 4. Проверьте статус

Статус отправленного сообщения можно получить двумя способами.

**Способ 1. В личном кабинете:**

1. Откройте **Статистика** → **Записи сообщений (EDR)**.
2. Найдите сообщение по `messageId`.
3. Проверьте статус: **Доставлено** или **Отправлено**.

**Способ 2. В своей программе:**

- **Push (вебхук)** — платформа сама отправляет статус на ваш URL.
- **Pull (запрос к API)** — вы запрашиваете статусы через `GET /edrs`.

<Note>
Оба способа получения статусов — push и pull — подробно описаны в статье [Статусы сообщений →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-106-api-statuses).
</Note>

<Note>
**Если сообщение содержит OTP** — добавьте параметр `isOtp: true`. Содержимое будет скрыто в EDR как маска `******`.
</Note>

## Номера каналов

| Номер | Канал | Через API |
|---|---|---|
| 1 | SMS | ✅ |
| 2 | RCS | ✅ |
| 3 | Viber | ✅ |
| 4 | WhatsApp | ✅ |
| 5 | VK/OK | ✅ |
| 6 | WeChat | ✅ |
| 7 | Email | ✅ |
| 8 | Telegram Gateway | ✅ |
| 9 | Telegram bot | ✅ |
| 10 | Push | ✅ |
| 11 | TTS | ✅ |
| 12 | Voice | ❌ недоступен через API |
| 13 | Mobile Push | ✅ |
| 14 | FlashCall | ✅ |

<Note>
Не все каналы доступны для каждой компании. Полный список — через `GET /channels`. Форматы `payload` для каждого канала — в статье [Форматы payload →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-104-omni-payload).
</Note>

<Note>
**Лимит:** на один канал — не более **5 одновременных запросов** на отправку. При превышении API возвращает `429 Too Many Requests`.
</Note>

## Результат

Сообщение отправлено, получен `messageId` для отслеживания статуса.

- [Подключение к API Multi API →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-102-api-connection)
- [OMNI API — отправка сообщений →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-103-omni-api)
- [Статусы сообщений →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-106-api-statuses)

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

### 401 Unauthorized

**Причина:** неверный или отсутствующий API-ключ.

**Решение:** проверьте заголовок `X-API-Key` и ключ. Подробнее — [Ошибка 401 →](https://iba-platform.jamdesk.app/06-reference/03-troubleshooting/ts-mapi-401).

### 400 Bad Request

**Причина:** неверные параметры запроса.

**Решение:** проверьте тело запроса — обязательные поля: `contact`, `channel`, `senderId`, `payload`. Подробнее — [Обработка ошибок API →](https://iba-platform.jamdesk.app/06-reference/01-api/api-errors).

### 400 Bad Request: sender not found

**Причина:** в запросе указано имя отправителя, которое не привязано к этому ключу.

**Решение:** откройте ключ в разделе **API Подключения** и добавьте нужное имя отправителя в блок **Имена отправителей**.

[Как создать API-ключ →](https://iba-platform.jamdesk.app/06-reference/01-api/api-keys)

### Сообщение не доставляется

**Причина:** номер телефона недоступен, или имя отправителя неактивно.

**Решение:** проверьте номер телефона и статус отправителя.

[Сообщение не доставляется →](https://iba-platform.jamdesk.app/06-reference/03-troubleshooting/ts-not-delivered)

### 429 Too Many Requests

**Причина:** превышен лимит в 5 одновременных запросов на один канал.

**Решение:** уменьшите частоту запросов или используйте очередь.

[Ошибка 429 →](https://iba-platform.jamdesk.app/06-reference/03-troubleshooting/ts-rate-limit-429)

### Не приходят статусы в мою программу

**Причина:** не указан webhook URL, или ваш сервер недоступен извне.

**Решение:** укажите `webhook` в запросе, в настройках имени отправителя или в настройках API-ключа. Убедитесь, что ваш сервер отвечает кодом `200 OK`.

[Статусы сообщений →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-106-api-statuses)

## См. также

<Columns cols={2}>
  <Card title="Подключение к API" icon="plug" href="/03-multiapi/02-api/mapi-102-api-connection">
    Аутентификация, базовый URL, формат запросов
  </Card>
  <Card title="OMNI API — отправка" icon="paper-plane" href="/03-multiapi/02-api/mapi-103-omni-api">
    Полное описание эндпоинтов `/messages` и `/omnimessages`
  </Card>
  <Card title="Форматы payload" icon="code" href="/03-multiapi/02-api/mapi-104-omni-payload">
    JSON-примеры для каждого канала
  </Card>
  <Card title="Статусы сообщений" icon="signal" href="/03-multiapi/02-api/mapi-106-api-statuses">
    Push и pull — два способа получения
  </Card>
  <Card title="Справочные эндпоинты" icon="list" href="/03-multiapi/02-api/mapi-107-api-reference">
    Каналы, отправители, баланс, шаблоны
  </Card>
  <Card title="Как создать API-ключ" icon="key" href="/06-reference/01-api/api-keys">
    Создание и управление ключами доступа
  </Card>
</Columns>

## Нужна помощь?

- **Multi API:** support@multiapi.ru
