Подключение к API Multi API
Подключение к API Multi API — базовый URL, аутентификация, форматы запросов и ответов, коды ответов, Swagger UI
Коротко: для работы с API Multi API нужен базовый URL
https://web.multiapi.ru/api/v1и API-ключ в заголовкеX-API-Key. Домен у каждого сервиса свой, остальное — одинаковое.
Кому подходит
- Роль: Разработчик, Интегратор
- Уровень: Опытный
Что вы получите
Готовое подключение к API Multi API: базовый URL, ключ, формат запросов, который можно использовать в интеграции.
Перед началом
- У вас есть API-ключ с нужными правами доступа.
- У вас есть имена отправителей для каналов, по которым будете отправлять.
- Вы определили URL вебхука (если планируете получать статусы).
Если ключа ещё нет — создайте его в разделе API Подключения. Подробнее: API-ключи.
Базовый URL
https://web.multiapi.ru/api/v1
Все эндпоинты из этого раздела добавляются к базовому URL. Например:
| Эндпоинт | Полный URL |
|---|---|
/messages | https://web.multiapi.ru/api/v1/messages |
/omnimessages | https://web.multiapi.ru/api/v1/omnimessages |
/broadcast/broadcasts | https://web.multiapi.ru/api/v1/broadcast/broadcasts |
Аутентификация
API-ключ передаётся в заголовке X-API-Key в каждом запросе:
X-API-Key: <ваш-ключ>
При создании ключа вы выбираете имена отправителей. От выбранных имён зависит, по каким каналам ключ сможет отправлять сообщения. Подробнее: API-ключи.
Формат запроса
Все запросы используют JSON. Основные заголовки:
| Заголовок | Значение |
|---|---|
| Content-Type | application/json |
| X-API-Key | Ваш API-ключ |
Пример запроса:
curl --location 'https://web.multiapi.ru/api/v1/messages' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <ваш-ключ>' \
--data-raw '{
"contact": "905063565285",
"channel": 1,
"senderId": "<senderID>",
"payload": {
"text": "Тестовое сообщение"
}
}'
Формат ответа
OMNI API
Успешный ответ 202 Accepted содержит error: false и объект data:
{
"error": false,
"data": {
"channel": 4,
"transactionId": "95e3e0da-9684-4ba4-88a3-e9207ddeca05",
"messageId": "6719b5f4-36af-4fba-b111-49ff07f4f96b"
}
}
Ошибка содержит error: true и объект data с message и requestId. Подробнее: Обработка ошибок API.
Broadcasts API
Успешный ответ 200 OK или 204 No Content — тело может быть пустым.
Ошибка содержит поля execId, key, code, message, args. Подробнее: Обработка ошибок API.
Коды ответов
| Код | Что означает |
|---|---|
| 200 OK | Успешно |
| 202 Accepted | Запрос принят, сообщение в очереди |
| 204 No Content | Успешно, тело пустое |
| 400 Bad Request | Ошибка в параметрах запроса |
| 401 Unauthorized | Неверный или отсутствующий ключ |
| 403 Forbidden | Нет прав на операцию |
| 404 Not Found | Ресурс не найден |
| 500 Internal Server Error | Ошибка сервера |
Swagger UI
Полный список эндпоинтов и параметров:
- OMNI API: https://web.multiapi.ru/api/v1/swagger-ui/index.html?urls.primaryName=OMNI_API
- Broadcasts API: https://web.multiapi.ru/api/v1/swagger-ui/index.html?urls.primaryName=Broadcasts_API
Результат
Вы знаете базовый URL, умеете передавать ключ и понимаете формат ответов. Можно переходить к работе с конкретными эндпоинтами.
Частые проблемы
Причина: заголовок X-API-Key не передан, ключ неверный.
Решение: проверьте заголовок и скопируйте ключ заново. Подробнее: Ошибка 401.
Причина: у ключа нет нужного scope.
Решение: откройте ключ и добавьте нужный scope в правах доступа. Подробнее: API-ключи.
Причина: в запросе указано имя отправителя, которое не привязано к этому ключу.
Решение: откройте ключ и добавьте нужное имя отправителя. Подробнее: API-ключи.
См. также
Нужна помощь?
- Multi API: support@multiapi.ru