API интеграция
Обзор API
TDS.SO предоставляет REST API для программного управления всеми функциями системы. API поддерживает создание редиректов, управление доменами, получение статистики и другие операции.
Базовый URL
https://dashboard.tds.so/api/v2/
Аутентификация
Все запросы к API должны содержать параметр token
- ваш API ключ, который можно получить в разделе настроек панели.
Храните API ключ в безопасном месте и не передавайте его третьим лицам.
Методы API
Создание шаблона
Endpoint: POST /create/template
Параметры:
Параметр | Обязательный | Тип | Описание |
---|---|---|---|
token | Да | string | API ключ |
setting_name | Да | string | Название шаблона |
setting_description | Нет | string | Описание шаблона |
redirect_type | Нет | string | Тип редиректа (meta, js, 301, 302, iframe и др.) |
redirect_delay | Нет | integer | Задержка редиректа (1-10 сек) |
- Пример запроса
- Ответ
POST /api/v2/create/template
token=your_api_key&setting_name=Test_Template&redirect_type=meta
{
"response": {
"template": {
"bot_list": "baidu,google,yandex,mail,vk,ok,blacklist",
"excluded_country": "",
"show_robot": 1,
"is_ban_check": 1
},
"name": "Test_Template",
"id": 19
}
}
Создание редиректа
Endpoint: POST /create/redirect
Параметры:
Параметр | Обязательный | Тип | Описание |
---|---|---|---|
token | Да | string | API ключ |
redirect_domains | Да | string | Домены для редиректа (через запятую) |
link_lists | Да | string | Целевые URL (через запятую) |
template | Нет | string/int | ID или название шаблона |
- Пример запроса
- Ответ
POST /api/v2/create/redirect
token=your_api_key&redirect_domains=domain1.com,domain2.com&link_lists=https://target1.com
{
"response": {
"valid": ["http://domain1.com/xyz123"],
"invalid": ["domain2.com"]
}
}
Получение данных
Список ссылок
Endpoint: GET /get/links
Параметры:
Параметр | Обязательный | Тип | Описание |
---|---|---|---|
token | Да | string | API ключ |
offset | Нет | integer | Количество записей (1-100) |
template_id | Нет | integer | ID шаблона |
Список доменов
Endpoint: GET /get/domains
Параметры:
Параметр | Обязательный | Тип | Описание |
---|---|---|---|
token | Да | string | API ключ |
template_id | Нет | integer | ID шаблона |
Управление доменами
Проверка доменов
Endpoint: POST /domains/check
Параметры:
Параметр | Обязательный | Тип | Описание |
---|---|---|---|
token | Да | string | API ключ |
domains_list | Да | string | Список доменов через запятую |
check_vk | Нет | boolean | Проверка бана ВК |
Удаление доменов
Endpoint: POST /domains/delete
Параметры:
Параметр | Обязательный | Тип | Описание |
---|---|---|---|
token | Да | string | API ключ |
domains_list | Да | string | Список доменов через запятую |
Обработка ошибок
Все ошибки возвращаются в формате JSON с полями error
и error_id
:
{
"error": "Invalid token",
"error_id": 2
}
Коды ошибок
error_id | Описание |
---|---|
0 | Закончился срок панели |
1 | Не заполнено обязательное поле |
2 | Невалидный API ключ |
3 | Неправильное название метода |
4 | Пустой ответ |
5 | Ошибка валидации параметров |
Примеры использования
PHP
$token = 'your_api_key';
$url = 'https://dashboard.tds.so/api/v2/create/template';
$data = [
'token' => $token,
'setting_name' => 'Test Template',
'redirect_type' => 'meta'
];
$response = file_get_contents($url . '?' . http_build_query($data));
$result = json_decode($response, true);
Python
import requests
token = 'your_api_key'
url = 'https://dashboard.tds.so/api/v2/create/template'
data = {
'token': token,
'setting_name': 'Test Template',
'redirect_type': 'meta'
}
response = requests.post(url, data=data)
result = response.json()
JavaScript
const token = 'your_api_key';
const url = 'https://dashboard.tds.so/api/v2/create/template';
const data = {
token: token,
setting_name: 'Test Template',
redirect_type: 'meta'
};
fetch(url + '?' + new URLSearchParams(data))
.then(response => response.json())
.then(result => console.log(result));
Рекомендации по использованию
- Обработка ошибок
- Всегда проверяйте наличие поля
error
в ответе - Добавьте повторные попытки для сетевых ошибок
- Используйте таймауты для запросов
- Оптимизация
- Кэшируйте результаты где возможно
- Группируйте запросы при массовых операциях
- Используйте пагинацию для больших списков
- Безопасность
- Храните API ключ в защищенном месте
- Используйте HTTPS для всех запросов
- Ограничьте доступ к API ключу
Начните с тестирования API в небольшом масштабе, прежде чем внедрять его в производственную среду.