Справочник API
СообщенияPOST

Отправить текстовое сообщение

Отправляет нормализованное текстовое сообщение через выбранный аккаунт. provider_data может нести специфичные поля провайдера, например reply_to и parse_mode.

https://api.unifyport.ai/v1/messages

Заголовки

X-Api-Key
stringобязательно

API-ключ рабочей области. Рабочая область определяется по этому заголовку.

Content-Type
stringобязательно

Используйте application/json при отправке JSON-тела запроса.

Параметры пути

У этого эндпоинта нет параметров пути.

Тело запроса

account_id
stringобязательно

Аккаунт провайдера, отправляющий сообщение.

to
objectобязательно

Получатель: id и type.

message
objectобязательно

Нормализованный payload сообщения. Текст — message.text, медиа — message.url.

provider_data
object

Опции провайдера, например reply_to или parse_mode.

Тело ответа

message_id
string

Идентификатор сообщения UnifyPort (msg_...) для принятого сообщения.

account_id
string

Аккаунт провайдера, к которому относится этот ответ.

status
string

Статус приёма; accepted означает, что сообщение поставлено в очередь на доставку провайдеру.

provider_ref
string

Ссылка на сообщение на стороне провайдера, как только провайдер её назначит.

Ответы

200
200 OK

Запрос выполнен. См. пример тела ответа.

400
Bad Request

Тело запроса, путь или параметры некорректны.

401
Unauthorized

Заголовок X-Api-Key отсутствует или недействителен.

409
Conflict

Запрошенная операция конфликтует с существующим аккаунтом провайдера или ресурсом.

500
Internal Server Error

Сервис столкнулся с неожиданной ошибкой.

Запрос

curl -X POST https://api.unifyport.ai/v1/messages \
  -H "X-Api-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
  "account_id": "acc_example",
  "to": {
    "id": "user_example",
    "type": "user"
  },
  "message": {
    "type": "text",
    "text": "Hello from UnifyPort"
  },
  "provider_data": {
    "parse_mode": "markdown"
  }
}'

Ответ

{
  "data": {
    "message_id": "msg_example",
    "account_id": "acc_example",
    "status": "accepted",
    "provider_ref": "provider_msg_example"
  }
}