Перейти к основному содержимому

Инструменты коннектора

Коннектор https://mcp.alphasms.net/mcp отдаёт ассистенту 11 инструментов. Ниже — что делает каждый и какие параметры принимает. Жирным отмечены обязательные.

Инструменты чтения выполняются сразу. Инструменты отправки требуют confirm: true — без него коннектор отвечает отказом и в API не обращается.

Чтение

balance

Остаток на счету и валюта. Параметров нет.

senders_list

Зарегистрированные имена отправителя со статусом каждого. Параметров нет. Отправлять можно только с активного имени.

message_status

Статус отправленного сообщения. Возвращает числовой код и расшифровку.

ПараметрТипОписание
idчислоИдентификатор, под которым сообщение отправлялось

Полный перечень кодов — Статусы сообщений.

hlr_lookup

HLR-запрос: существует ли номер, в какой он сети, не перенесён ли к другому оператору. Услуга платная, один запрос на номер.

ПараметрТипОписание
phoneстрокаНомер в международном формате, только цифры
idчислоВаш идентификатор запроса

Отправка

Общее для всех инструментов отправки:

  • confirm: true обязателен;
  • один вызов — один номер, массовых рассылок нет;
  • phone — только цифры, в международном формате;
  • имя отправителя должно быть зарегистрировано и активно;
  • id — ваш идентификатор сообщения; если не задан, коннектор сгенерирует его сам и вернёт в ответе, иначе сообщение станет неотслеживаемым;
  • hook — URL, куда платформа пришлёт статус доставки;
  • в ответе приходит идентификатор, а не факт доставки — статус спрашивайте через message_status.

send_sms

Одно SMS на один номер. 160 символов латиницей или 70 кириллицей в первом сообщении, дальше делится на части, каждая тарифицируется отдельно.

ПараметрТипОписание
phoneстрокаНомер получателя
signatureстрокаЗарегистрированное имя отправителя
messageстрокаТекст сообщения
confirmбулевоОбязательно true
lifetimeчислоСрок жизни сообщения в секундах
short_linkбулевоСокращать и отслеживать ссылки, по тарифу
unsubscribe_linkбулевоДобавить ссылку отписки, по тарифу
id, hookСм. общие правила выше

send_viber

Тип сообщения коннектор собирает сам по переданным полям: текст, текст с картинкой или текст с картинкой и кнопкой.

ПараметрТипОписание
phoneстрокаНомер получателя
signatureстрокаИмя отправителя в Viber
messageстрокаТекст, до 1000 символов
confirmбулевоОбязательно true
imageстрокаURL картинки
linkстрокаURL перехода по кнопке
buttonстрокаНадпись на кнопке
lifetimeчислоСрок жизни в секундах
id, hookСм. общие правила выше

send_viber_with_sms_fallback

Каскад: сначала Viber, если он не доставлен — SMS. Списывается за то, что реально ушло, поэтому недоставленный Viber с досылкой стоит дороже одиночного SMS. Тексты задаются отдельно — в SMS обычно нужен более короткий.

ПараметрТипОписание
phoneстрокаНомер получателя
viber_signatureстрокаИмя отправителя в Viber
viber_messageстрокаТекст для Viber
sms_signatureстрокаИмя отправителя для SMS
sms_messageстрокаТекст для SMS
confirmбулевоОбязательно true
image, link, buttonстрокаКартинка и кнопка для Viber
id, hookСм. общие правила выше

send_rcs

Доходит только на устройства с поддержкой RCS — для остальных нужен отдельный запасной канал.

ПараметрТипОписание
phoneстрокаНомер получателя
signatureстрокаЗарегистрированное имя отправителя
messageстрокаТекст сообщения
confirmбулевоОбязательно true
imageстрокаURL картинки
linkстрокаURL перехода по кнопке
buttonстрокаНадпись на кнопке
lifetimeчислоСрок жизни в секундах
id, hookСм. общие правила выше

send_voice

Синтезированный голосовой вызов с зачитыванием текста.

ПараметрТипОписание
phoneстрокаНомер получателя
messageстрокаТекст, который будет зачитан
confirmбулевоОбязательно true
languageстрокаЯзык озвучивания, например uk или ru
genderстрокаПол голоса
nameстрокаИмя голоса, если у тарифа их несколько
dtmfбулевоСобирать ответ абонента кнопками телефона
id, hookСм. общие правила выше

send_whatsapp

Работает, только если получатель ранее написал первым или дал согласие, и требует отдельно зарегистрированного имени и верифицированного аккаунта Facebook.

ПараметрТипОписание
phoneстрокаНомер получателя
messageстрокаТекст сообщения
confirmбулевоОбязательно true
id, hookСм. общие правила выше

send_verification_code

Отправляет одноразовый код и сам его генерирует. У операции отдельный адрес и свой набор полей: возвращается verify_id, по которому код потом сверяется.

ПараметрТипОписание
phoneстрокаНомер получателя
signatureстрокаИмя отправителя
confirmбулевоОбязательно true
channelстрокаКанал доставки: sms, viber или voice
code_lengthчислоДлина кода, по умолчанию 6
code_typeстрокаСостав кода: numeric или alphanumeric
langстрокаЯзык шаблона, например uk
custom_idстрокаВаш идентификатор для сверки
hookстрокаURL для статуса

Ответ при отказе

Если инструмент отправки вызван без подтверждения, коннектор возвращает отказ и не обращается к API:

{
"refused": true,
"reason": "Отправка тратит деньги клиента и требует явного подтверждения",
"how_to": "Спросите человека и передайте confirm: true только после его согласия"
}

Если отправка отключена для вашего домена, инструменты отправки в списке не появляются вовсе.

Ошибки

Коннектор передаёт ошибки API как есть, без переформулирования. Частые случаи:

Что видноПричина
Ошибка авторизацииневерный или отозванный ключ в заголовке Authorization
Имя отправителя недоступноимя не зарегистрировано или ещё на модерации
Недостаточно средствнулевой или отрицательный баланс
Неверный номерномер не в международном формате или не существует

Коды совпадают с обычным API — см. Статусы сообщений.