Перейти до основного вмісту

Інструменти MCP-конектора

Конектор https://mcp.alphasms.ua/mcp віддає асистенту 11 інструментів. Інструменти читання виконуються одразу; інструменти надсилання вимагають confirm: true — без нього конектор відповідає відмовою і до API не звертається.

Кожен виклик — JSON-RPC методом POST, ключ у заголовку Authorization. Коди, які повертає message_status, збігаються зі звичайним API — див. Статуси повідомлень.

Читання

balance

Залишок на рахунку та валюта.

Параметри

Параметрів немає.

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "balance",
"arguments": {}
}
}

senders_list

Зареєстровані імена відправника зі статусом кожного. Надсилати можна лише з активного імені.

Параметри

Параметрів немає.

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "senders_list",
"arguments": {}
}
}

message_status

Статус надісланого повідомлення. Повертає числовий код і розшифрування.

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "message_status",
"arguments": {
"id": 1730112045
}
}
}

hlr_lookup

HLR-запит: чи існує номер, у якій він мережі, чи не перенесений до іншого оператора. Послуга платна — один запит на номер.

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "hlr_lookup",
"arguments": {
"phone": 380671234567
}
}
}

Надсилання

Спільне для всіх надсилань

confirm: true обов'язковий. Один виклик — один номер, масових розсилок немає. phone — лише цифри в міжнародному форматі, ім'я відправника має бути зареєстроване й активне. У відповіді приходить ідентифікатор, а не факт доставки: статус питайте через message_status.

send_sms

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

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "send_sms",
"arguments": {
"phone": "380671234567",
"signature": "ALPHASMS",
"message": "Ваш код 1234",
"confirm": true
}
}
}

send_viber

Одне повідомлення у Viber. Тип конектор збирає сам за переданими полями: текст, текст із картинкою або текст із картинкою і кнопкою.

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "send_viber",
"arguments": {
"phone": "380671234567",
"signature": "AlphaSMS",
"message": "Ваш заказ отправлен",
"image": "https://example.com/promo.jpg",
"link": "https://example.com/order/42",
"button": "Отследить",
"confirm": true
}
}
}

send_viber_with_sms_fallback

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

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "send_viber_with_sms_fallback",
"arguments": {
"phone": "380671234567",
"viber_signature": "AlphaSMS",
"viber_message": "Ваш заказ отправлен, отследить: https://example.com/order/42",
"sms_signature": "ALPHASMS",
"sms_message": "Заказ отправлен",
"confirm": true
}
}
}

send_rcs

Одне повідомлення RCS. Доходить лише на пристрої з підтримкою RCS — для решти потрібен окремий запасний канал.

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "send_rcs",
"arguments": {
"phone": "380671234567",
"signature": "AlphaSMS",
"message": "Ваш код 1234",
"confirm": true
}
}
}

send_voice

Синтезований голосовий виклик із зачитуванням тексту.

Параметри

phoneрядокобов'язковий
Номер отримувача, тільки цифри, без ведучого нуля: 380671234567. Для цього типу платформа приймає номер числом
messageрядокобов'язковий
Текст, який буде зачитано
confirmбулевеобов'язковий
Обов'язково true. Без нього конектор відповідає відмовою і до API не звертається
languageрядок
Мова озвучування, наприклад en-GB або uk-UA
genderрядок
Стать голосу: male або female
nameрядок
Ім'я голосової моделі, наприклад en-GB-Standard-A
dtmfбулеве
Збирати відповідь абонента кнопками телефона. За замовчуванням ні
idчисло
Ваш ідентифікатор повідомлення. Якщо не заданий, конектор згенерує його сам і поверне у відповіді — інакше повідомлення стане невідстежуваним
hookрядок
URL для вебхуків щодо цього повідомлення. Відмова прийому (No route, Not enough money, помилка валідації) прийде туди окремим вебхуком зі status: REJECTED. А статус доставки — ні: для цього типу платформа адресу не зберігає і шле статус лише на адресу сповіщень із налаштувань API

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "send_voice",
"arguments": {
"phone": "380671234567",
"message": "Ваш код підтвердження: 1 2 3 4",
"language": "uk-UA",
"confirm": true
}
}
}

send_whatsapp

Власного типу повідомлення у WhatsApp немає. Конектор надсилає запит типу pipeline з етапом whatsapp — див. Відправка OTP коду (WhatsApp). Надсилання можливе лише за маршрутом, заведеним під цей набір етапів: без нього платформа відповідає No route і нічого не списує. Дійде, лише якщо отримувач раніше написав першим або дав згоду, а ім'я відправника зареєстроване у WhatsApp Business.

Параметри

phoneрядокобов'язковий
Номер отримувача, тільки цифри, без ведучого нуля: 380671234567
signatureрядокобов'язковий
Зареєстроване ім'я відправника у WhatsApp Business
messageрядокобов'язковий
Текст повідомлення
confirmбулевеобов'язковий
Обов'язково true. Без нього конектор відповідає відмовою і до API не звертається
sms_signatureрядок
Ім'я відправника для запасного SMS. Задається лише разом із sms_message
sms_messageрядок
Текст запасного SMS: піде, якщо WhatsApp не доставлено. Потребує маршруту whatsapp+sms
idчисло
Ваш ідентифікатор повідомлення. Якщо не заданий, конектор згенерує його сам і поверне у відповіді
hookрядок
URL для вебхуків щодо цього повідомлення. Відмова прийому (No route, Not enough money, помилка валідації) прийде туди окремим вебхуком зі status: REJECTED. А статус доставки — ні: для цього типу платформа адресу не зберігає і шле статус лише на адресу сповіщень із налаштувань API

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "send_whatsapp",
"arguments": {
"phone": "380671234567",
"signature": "AlphaSMS",
"message": "Ваше замовлення готове до видачі",
"confirm": true
}
}
}
примітка

sms_signature і sms_message задаються парою: з одним із них конектор відповідає відмовою ще до звернення в API. Разом вони перетворюють запит на пайплайн whatsappsms, а під нього потрібен окремий маршрут.

message_status не знайде повідомлення pipeline — ваш id платформа для нього не зберігає. Конектор повертає id і склад етапів, щоб було видно, що саме пішло в чергу.

send_verification_code

Надсилає одноразовий код і сам його генерує. У цієї операції окрема адреса і свій набір полів: повертається verify_id, за яким код потім звіряється.

Приклад запиту

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "send_verification_code",
"arguments": {
"phone": "380671234567",
"signature": "AlphaSMS",
"channel": "sms",
"confirm": true
}
}
}

Помилки

Конектор передає помилки API як є, без переформулювання. Часті випадки: