CountdownMail API
Цей посібник допоможе вам почати користуватися API CountdownMail. Він охоплює налаштування, автентифікацію, обробку помилок та роботу з таймерами зворотного відліку.
Швидкий старт
Цей розділ підготує вас до використання API CountdownMail і покаже, як зробити перший API-запит.
- Отримайте свій API-ключ:
- Увійдіть у свій обліковий запис CountdownMail.
- Перейдіть до Профіль » API.
- Скопіюйте свій API-ключ.
- Зробіть свій перший API-запит:
- Ми використаємо ендпоінт "Створити таймер" як приклад.
- Використовуйте інструмент на кшталт cURL або Postman, щоб надіслати POST-запит до https://countdownmail.com/api/create.
- Додайте свій API-ключ у заголовок Authorization.
- Включіть необхідні дані таймера в тіло запиту (у форматі JSON).
Ось приклад з використанням cURL:
Запит
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/create" \
-d '{
"skin_id": 1,
"name": "Big Sale!",
"time_end": "2025-04-21 20:00:00",
"time_zone": "America/Los_Angeles",
"font_family": "Roboto-Bold",
"color_primary": "FF3A43",
"color_text": "FFFFFF",
"color_bg": "000000"
}'
- Замініть YOUR_API_KEY на ваш справжній API-ключ.
- Якщо все працює, ви отримаєте відповідь на кшталт:
Відповідь
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Ця відповідь містить код таймера (напр., "td") та URL зображення таймера.
Автентифікація
Щоб використовувати API CountdownMail, вам потрібно автентифікувати кожен запит за допомогою API-ключа. Ось як:
- Додайте заголовок Authorization до свого запиту. Значення — ваш API-ключ.
- Альтернативно використовуйте базову автентифікацію: встановіть API-ключ як ім'я користувача та залиште пароль порожнім.
Приклад із заголовком Authorization (cURL):
Запит
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X GET "https://countdownmail.com/api/some_endpoint"
- Замініть YOUR_API_KEY на ваш справжній API-ключ.
- Завжди включайте автентифікацію, інакше ви отримаєте помилку 401 Unauthorized.
Використання Postman
Якщо ви використовуєте Postman, це спрощує тестування API-запитів. Щоб використовувати його з CountdownMail:
Помилки
Іноді API-запити не вдаються. API CountdownMail використовує коди статусу HTTP, щоб повідомити, що пішло не так. Ось список можливих помилок, їх значення та що робити:
| Код | Назва статусу | Опис | Рекомендована дія | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 400 | Некоректний запит | Щось не так з вашим запитом. | Перевірте, чи запит відповідає документації та використовує правильний синтаксис. | ||||||||
| 401 | Неавторизований | У вас немає дозволу на цей запит. | Переконайтеся, що ви використовуєте дійсний API-ключ у заголовку Authorization. | ||||||||
| 404 | Не знайдено | Сервер не може знайти те, що ви запитували. | Перевірте, чи URL відповідає дійсному ендпоінту API. | ||||||||
| 405 | Метод не дозволений | Ендпоінт не підтримує цей метод. | Використовуйте правильний HTTP-метод (напр., GET, POST) згідно з документацією. | ||||||||
| 429 | Забагато запитів | Клієнт надіслав забагато запитів за 1 хвилину. | Ви можете використовувати заголовки, що надсилаються з кожною відповіддю, щоб визначити поточний статус обмеження частоти.
| ||||||||
| 500 | Внутрішня помилка сервера | Щось зламалося на стороні CountdownMail. | Спробуйте пізніше. Якщо проблема повторюється, зверніться до підтримки. | ||||||||
| 503 | Сервіс недоступний | Сервер зараз занадто завантажений. | Зачекайте трохи і спробуйте знову. |
Приклад відповіді з помилкою (401 Unauthorized):
Відповідь
{
"status": "error",
"message": "Unauthorized"
}
Якщо бачите помилку, перевірте код статусу та повідомлення, потім виконайте рекомендовану дію.
Модель таймера
Ресурс Timer містить всю інформацію про таймер зворотного відліку. Ось доступні поля для визначення таймера:
| Властивість | Тип | Опис | Обов'язково | Примітки |
|---|---|---|---|---|
| skin_id | integer | Стиль дизайну таймера (шаблон). | Так | Має бути числом від 1 до 23. |
| name | string | Назва таймера. | Так | Максимум 100 символів. Приклад: Big Sale! |
| time_end | string | Коли таймер закінчується (YYYY-MM-DD HH:MM:SS). | Так | Приклад: 2025-04-09 04:57:16 |
| time_zone | string | Часовий пояс таймера. | Так | Приклад: America/Los_Angeles. Перегляньте всі доступні значення time_zone. |
| font_family | string | Шрифт для тексту таймера. | Ні | Приклад: Roboto-Bold. Перегляньте всі доступні значення font_family. |
| label_font_family | string | Шрифт для міток таймера. | Ні | Приклад: Roboto-Bold. Перегляньте всі доступні значення font_family. |
| color_primary | string | Основний колір (hex-код). | Так | Приклад: FF3A43 (червоний). |
| color_text | string | Колір тексту (hex-код). | Так | Приклад: FFFFFF (білий). |
| color_bg | string | Колір фону (hex-код). | Так | Приклад: 000000 (чорний). |
| font_size | integer | Розмір тексту таймера. | Ні | Від 14 до 73. |
| label_font_size | integer | Розмір тексту мітки. | Ні | Від 0 до 50. |
| day | integer | Показувати дні (0 = ні, 1 = так). | Ні | Має бути 0 або 1. |
| lang | string | Код мови (ISO 2-літерний). | Ні | Приклад: en (англійська). Перегляньте всі 54 підтримувані мови. |
| transparent | integer | Фон: 0 = суцільний, 1 = прозорий. | Ні | Має бути 0 або 1. |
| expired_mes_on | integer | Показувати повідомлення про завершення (0 = ні, 1 = так). | Ні | Має бути 0 або 1. |
| expired_mes | string | Повідомлення при завершенні таймера. | Ні | Максимум 100 символів. Приклад: This offer has expired |
| labels | integer | Використовувати власні мітки (0 = ні, 1 = так). | Ні | Має бути 0 або 1. |
| days | string | Мітка для днів. | Ні | Максимум 15 символів. Приклад: days |
| hours | string | Мітка для годин. | Ні | Максимум 15 символів. Приклад: hours |
| minutes | string | Мітка для хвилин. | Ні | Максимум 15 символів. Приклад: minutes |
| seconds | string | Мітка для секунд. | Ні | Максимум 15 символів. Приклад: seconds |
| timer_type | integer | Тип таймера: 1 = Таймер зі спільною датою, 2 = Персональний таймер, 3 = Таймер за посиланням. | Ні | Має бути 1, 2 або 3. За замовчуванням 1 (Таймер зі спільною датою). |
| duration | integer | Тривалість таймера в секундах (для персональних таймерів). | Ні | Обов'язково, коли timer_type дорівнює 2 (Персональний таймер). Приклад: 86400 (24 години). |
| advanced_params | object | Додаткові налаштування (напр., колір роздільника). | Ні | Приклад |
Створити таймер
Цей ендпоінт дозволяє створити таймер. Щоб створити новий таймер, потрібно надати всі обов'язкові властивості.
Приклад запиту:
Запит
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/create" \
-d '{
"skin_id":3,
"name":"Big Sale!",
"time_end":"2026-02-02 20:00:00",
"time_zone":"America\/Los_Angeles",
"font_family":"Roboto-Bold",
"color_primary":"FF3A43",
"color_text":"FFFFFF",
"color_bg":"000000",
"transparent":"0",
"font_size":"38",
"lang":"en",
"expired_mes_on":"1",
"expired_mes":"This offer has expired",
"labels":"1",
"days":"days",
"hours":"hours",
"minutes":"minutes",
"seconds":"seconds"
}'
Відповідь
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Оновити таймер
Цей ендпоінт дозволяє оновити будь-який атрибут таймера. Щоб оновити таймер, надішліть PUT-запит до /update/{code} з полями для оновлення. Замініть {code} на код таймера (напр., "td").
Приклад запиту:
Запит
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X PUT "https://countdownmail.com/api/update/{code}" \
-d '{
"skin_id":6,
"name":"Flash Sale!",
"time_end":"2026-02-02 20:00:00"
}'
Відповідь
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Дублювати таймер
Щоб скопіювати існуючий таймер, надішліть POST-запит до /duplicate/{code}. Замініть {code} на унікальний код таймера для копіювання. Це створює новий таймер з тими ж налаштуваннями, що й оригінал.
Ви можете оновити деталі нового таймера, додавши JSON-об'єкт у тіло запиту. Це дозволяє змінювати конкретні атрибути, такі як час завершення або назву, зберігаючи решту налаштувань як в оригіналі. Атрибути для оновлення такі ж, як при створенні нового таймера (повний список у розділі Модель таймера). Якщо атрибут не включено, він залишиться як в оригінальному таймері.
Важливо: Оригінальний таймер не змінюється. Тільки новий таймер зазнає змін від оновлень у запиті.
Приклад запиту:
Запит
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/duplicate/{code}" \
-d '{
"skin_id":6,
"name":"Flash Sale!",
"time_end":"2026-02-02 20:00:00"
}'
Відповідь
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Деактивувати таймер
Щоб зупинити таймер (архівувати), надішліть GET-запит до /deactivate/{code}. Замініть {code} на код таймера.
Активувати таймер
Щоб знову активувати таймер, надішліть GET-запит до /activate/{code}. Замініть {code} на код таймера.
Видалити таймер
Щоб видалити таймер, надішліть DELETE-запит до /delete/{code}. Замініть {code} на код таймера.
Цей посібник має надати вам все необхідне для початку роботи з API CountdownMail. Зберігайте свій API-ключ у безпеці та звертайтеся до офіційної документації для детальнішої інформації про поля, такі як часові пояси чи шрифти!
