Увага: API ще в розробці, можливі зміни

API — це HTTP-інтерфейс для роботи через GET або POST запити.

Відправка повідомлень

🚧

Усі повідомлення через API потрібно надсилати лише через HTTPS.

Формат запиту:

https://click-uni.com/api.php?token={token}&phone={phone}&message={message}

Приклад:

https://click-uni.com/api.php?token=5e75b6cc9528bbcbc2843da816968d1c&phone=0509395315&message=Привіт

Підтримуються запити типу GET та POST.

Параметр Тип Обов'язковий Опис
token String Так Токен, який автоматично видається після реєстрації в сервісі.
phone String Так Номер телефону для надсилання повідомлення. Може бути у форматі 380661234567 або 0661234567. Будь-які нецифрові символи ігноруються, якщо номер починається з 0 і має 10 цифр — автоматично додається код країни 38.
message String Так Текст повідомлення у форматі URL. Підтримуються спецсимволи, переноси рядків — %0A, пробіли — %20. Для розділення на частини використовуйте mes_separation.
file_url String Ні URL-файл (зображення, документ тощо), який буде прикріплено до повідомлення. Необов'язковий параметр.

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

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

cURL:

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"
	body: new URLSearchParams({
		token: "5e75b6cc9528bbcbc2843da816968d1c",
		phone: "380661234567",
		message: "Привіт світе! Як справи?",
		file_url: "https://example.com/file.jpg"
	})
})
.then(res => res.json())
.then(console.log);

Приклад відповіді сервера

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

Якщо повідомлення розділене на частини (через mes_separation), відповідь може бути у форматі JSON або XML:

	
<?xml version="1.0" encoding="UTF-8"?>
	<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-варіант для одиночного повідомлення:

	
<?xml version="1.0" encoding="UTF-8"?>
	<response>
		<status>success</status>
		<description>Повідомлення підготовлено до відправки</description>
		<message_id>6e6bc4e49dd477ebc98ef4046c067b5f</message_id>
		<message>Привіт світе!</message>
	</response>
	

У разі помилки:

{
	"status": "error",
	"error": "Параметри token, phone або message відсутні або порожні"
}

Перевірка тарифу

🚧

Усі запити через API потрібно надсилати лише через HTTPS.

Формат запиту:

https://click-uni.com/api.php?type=tariff&token={token}

Приклад:

https://click-uni.com/api.php?type=tariff&token=5e75b6cc9528bbcbc2843da816968d1c

Підтримуються запити типу GET та POST.

Параметр Тип Обов'язковий Опис
type String Так Значення tariff для перевірки тарифу користувача.
token String Так Токен користувача, який видається після реєстрації.

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

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

cURL:

cURL
curl -X POST "https://click-uni.com/api.php" \
	-d "type=tariff" \
	-d "token=5e75b6cc9528bbcbc2843da816968d1c"

JavaScript fetch:

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"
	})
})
.then(res => res.text())
.then(console.log);

Приклад відповіді сервера

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

Успішна відповідь повертається у форматі XML:

<?xml version="1.0" encoding="UTF-8"?>
<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>

У разі помилки:

<?xml version="1.0" encoding="UTF-8"?>
<response>
	<status>error</status>
	<description>Користувача не знайдено по токену</description>
</response>

Перевірка стану повідомлення

🚧

Усі запити через API потрібно надсилати лише через HTTPS.

Формат запиту:

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

Підтримуються запити типу GET та POST.

Параметр Тип Обов'язковий Опис
type String Так Значення check для перевірки статусу повідомлення.
token String Так Токен користувача, який видається після реєстрації.
message_id String Так message_id повідомлення, який повертається при відправці.

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

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

cURL:

cURL
curl -X POST "https://click-uni.com/api.php" \
	-d "type=check" \
	-d "token=5e75b6cc9528bbcbc2843da816968d1c" \
	-d "message_id=6e6bc4e49dd477ebc98ef4046c067b5f"

JavaScript fetch:

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"
	})
})
.then(res => res.text())
.then(console.log);
				  

Приклад відповіді сервера

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

Успішна відповідь повертається у форматі XML:

<?xml version="1.0" encoding="UTF-8"?>
<response>
	<status>success</status>
	<description>Повідомлення знайдено</description>
	<message_id>6e6bc4e49dd477ebc98ef4046c067b5f</message_id>
	<status_id>2</status_id>
	<status_name>Доставлено</status_name>
	<phone>******1234</phone>
</response>

У разі помилки (наприклад, не знайдено або відсутній message_id):

<?xml version="1.0" encoding="UTF-8"?>
<response>
	<status>error</status>
	<description>Параметр message_id відсутній</description>
</response>