Основний запит
Відправка повідомлень
Усі повідомлення через API потрібно надсилати лише через HTTPS. Підтримуються запити типу GET та POST.
https://click-uni.com/api.php?token={token}&phone={phone}&message={message}
https://click-uni.com/api.php?token=5e75b6cc9528bbcbc2843da816968d1c&phone=0509395315&message=Привіт
tokenString, обов'язковий. Токен, який автоматично видається після реєстрації.
phoneString, обов'язковий. Номер телефону у форматі 380661234567 або 0661234567. Нецифрові символи ігноруються, для 10 цифр з 0 додається код країни 38.
messageString, обов'язковий. Текст повідомлення у форматі URL. Підтримуються %0A для переносу, %20 для пробілу і mes_separation для розділення на частини.
file_urlString, необов'язковий. URL файлу, зображення або документа, який буде прикріплено до повідомлення.
cURL
curl -X POST "https://click-uni.com/api.php" \
-d "token=5e75b6cc9528bbcbc2843da816968d1c" \
-d "phone=380661234567" \
-d "message=Привіт%20світе!%0AЯк%20справи?" \
-d "file_url=https://example.com/file.jpg"
JavaScript fetch
fetch("https://click-uni.com/api.php", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
token: "5e75b6cc9528bbcbc2843da816968d1c",
phone: "380661234567",
message: "Привіт світе! Як справи?",
file_url: "https://example.com/file.jpg"
})
})
Відповідь для повідомлення, розділеного через mes_separation
<response>
<status>success</status>
<description>Усі частини повідомлення підготовлено до відправки</description>
<messages>
<item>
<message_id>6e6bc4e49dd477ebc98ef4046c067b5f</message_id>
<message>Частина 1</message>
</item>
<item>
<message_id>b6d767d2f8ed5d21a44b0e5886680cb9</message_id>
<message>Частина 2</message>
</item>
</messages>
</response>
XML для одного повідомлення
<response>
<status>success</status>
<description>Повідомлення підготовлено до відправки</description>
<message_id>6e6bc4e49dd477ebc98ef4046c067b5f</message_id>
<message>Привіт світе!</message>
</response>
Помилка
{
"status": "error",
"error": "Параметри token, phone або message відсутні або порожні"
}
Контроль доступу
Перевірка тарифу
Запит дозволяє перевірити активний тариф, залишок повідомлень і баланс користувача. Підтримуються запити типу GET та POST.
https://click-uni.com/api.php?type=tariff&token={token}
https://click-uni.com/api.php?type=tariff&token=5e75b6cc9528bbcbc2843da816968d1c
typeString, обов'язковий. Значення tariff для перевірки тарифу користувача.
tokenString, обов'язковий. Токен користувача, який видається після реєстрації.
cURL
curl -X POST "https://click-uni.com/api.php" \
-d "type=tariff" \
-d "token=5e75b6cc9528bbcbc2843da816968d1c"
JavaScript fetch
fetch("https://click-uni.com/api.php", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
type: "tariff",
token: "5e75b6cc9528bbcbc2843da816968d1c"
})
})
Приклад відповіді
<response>
<status>success</status>
<description>Тариф користувача знайдено</description>
<tariff>
<name>Premium</name>
<tariff_id>2</tariff_id>
<date_start>2025-01-01</date_start>
<date_end>31.12.2025</date_end>
<days_left>83</days_left>
<value_msg>1000</value_msg>
<balance>500.00</balance>
</tariff>
</response>
Помилка
<response>
<status>error</status>
<description>Користувача не знайдено по токену</description>
</response>
Статус доставки
Перевірка стану повідомлення
Після відправки API повертає message_id. За ним можна перевірити поточний стан повідомлення. Підтримуються запити типу GET та POST.
https://click-uni.com/api.php?type=check&token={token}&message_id={message_id}
https://click-uni.com/api.php?type=check&token=5e75b6cc9528bbcbc2843da816968d1c&message_id=6e6bc4e49dd477ebc98ef4046c067b5f
typeString, обов'язковий. Значення check для перевірки статусу повідомлення.
tokenString, обов'язковий. Токен користувача, який видається після реєстрації.
message_idString, обов'язковий. Ідентифікатор повідомлення, який повертається при відправці.
cURL
curl -X POST "https://click-uni.com/api.php" \
-d "type=check" \
-d "token=5e75b6cc9528bbcbc2843da816968d1c" \
-d "message_id=6e6bc4e49dd477ebc98ef4046c067b5f"
JavaScript fetch
fetch("https://click-uni.com/api.php", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
type: "check",
token: "5e75b6cc9528bbcbc2843da816968d1c",
message_id: "6e6bc4e49dd477ebc98ef4046c067b5f"
})
})
Приклад відповіді
<response>
<status>success</status>
<description>Повідомлення знайдено</description>
<message_id>6e6bc4e49dd477ebc98ef4046c067b5f</message_id>
<status_id>2</status_id>
<status_name>Доставлено</status_name>
<phone>******1234</phone>
</response>
Помилка
<response>
<status>error</status>
<description>Параметр message_id відсутній</description>
</response>
Вхідні та вихідні
Переписка по телефонах
Запит приймає масив телефонів і повертає діалоги (вхідні та вихідні повідомлення) по всіх каналах — Viber та Telegram, класичні месенджери через ClickUni, онлайн-чат, маркетплейси, соцмережі — а також вихідні SMS. Метод POST, тіло у форматі JSON. Відповідь у форматі JSON.
POST https://click-uni.com/api.php?type=dialogs
typeString, обов'язковий. Значення dialogs для отримання переписки по телефонах.
tokenString, обов'язковий. Токен, який автоматично видається після реєстрації.
phonesArray, обов'язковий для режиму списку. Масив телефонів у форматі 380661234567 або 0661234567.
limitNumber, необов'язковий. Скільки останніх повідомлень віддавати на діалог (за замовчуванням 10, максимум 100).
sourceString, для лінивої догрузки одного діалогу. Канал діалогу (наприклад viber_bot, telegram_bot, clicuni, online_chat).
conversation_idString, для лінивої догрузки одного діалогу. Ідентифікатор діалогу з відповіді.
offsetNumber, для лінивої догрузки. 1 — найновіші повідомлення (за замовчуванням), 2 — попередня «сторінка» старіших, і так далі.
cURL — список діалогів по телефонах
curl -X POST "https://click-uni.com/api.php?type=dialogs" \
-H "Content-Type: application/json" \
-d '{"token":"5e75b6cc9528bbcbc2843da816968d1c",
"phones":["0661234567","0501234567"],
"limit":10}'
cURL — догрузка старіших повідомлень діалогу
curl -X POST "https://click-uni.com/api.php?type=dialogs" \
-H "Content-Type: application/json" \
-d '{"token":"5e75b6cc9528bbcbc2843da816968d1c",
"source":"viber_bot","conversation_id":"243234",
"offset":2,"limit":10}'
Приклад відповіді
{
"status": "success",
"dialogs": {
"380661234567": {
"viber_bot:243234": {
"channel": "viber_bot",
"source": "viber_bot",
"conversation_id": "243234",
"messages": [
{
"message_id": "1027",
"direction": "in",
"text": "Доброго дня!",
"file_url": "",
"status": "new",
"created_at": "2026-07-18 12:00:00"
},
{
"message_id": "1031",
"direction": "out",
"text": "Вітаємо! Чим допомогти?",
"file_url": "",
"status": "sent",
"created_at": "2026-07-18 12:01:10"
}
],
"has_more": true,
"next_offset": 2
},
"clicuni:cl|380661234567": {
"channel": "sms",
"source": "clicuni",
"conversation_id": "cl|380661234567",
"messages": [ ... ],
"has_more": false,
"next_offset": null
}
},
"380501234567": {}
}
}
Поля повідомлення
direction — "in" (вхідне) або "out" (вихідне)
message_id — ідентифікатор повідомлення в діалозі
text — текст повідомлення
file_url — вкладення, якщо є
status — статус повідомлення (за наявності)
created_at — дата й час
Помилка
{
"status": "error",
"description": "Користувача не знайдено по токену"
}
Для номера без діалогів повертається порожній об'єкт. Пагінація діалогу — «лінива»: спочатку останні limit повідомлень, далі за next_offset підвантажуються старіші.