API и разработчици
Интегрирай IP / DNS / домейн инструментите на IPT.BG директно в твоите приложения, мониторинг системи и вътрешни панели. По-долу е примерна структура на публично API, която можеш да адаптираш към финалната реализация.
1. Автентикация и API ключове
Достъпът до API на IPT.BG се осъществява чрез API ключ. Всеки регистриран потребител може да заяви един или повече ключове за продукционна и тестова среда.
- Влез в акаунта си в IPT.BG;
- Отиди в секция API / Developers в профила (планиран модул);
- Генерирай нов API ключ и по желание го ограничи по IP / домейн.
Всички заявки трябва да включват ключа, например в HTTP хедър:
GET https://ipt.bg/api/v1/analytics/ip/8.8.8.8
X-Api-Key: YOUR_API_KEY_HERE
Забележка: замени URL адреса и имената на хедърите според финалната продукционна конфигурация.
2. Лимити и коректна употреба
За да остане платформата стабилна и честна за всички, е добре API-то да има лимити по ключ / план. Примерна логика:
- Free / тестов план: напр. 1 000 заявки на ден;
- Pro / платени планове: по-високи дневни / месечни квоти;
- Enterprise: индивидуални лимити и отделна инфраструктура.
При превишен лимит, API-то може да връща HTTP 429 Too Many Requests
с кратък JSON отговор, описващ ограничението.
3. Примерни ендпойнти
Няколко типични ендпойнта, които можеш да изложиш (примерни):
GET /api/v1/analytics/ip/{ip}– IP гео данни и risk флагове;GET /api/v1/analytics/domain/{domain}– DNS, MX, NS, HTTP проверка;GET /api/v1/scamdetect/{domain}– комбиниран репутационен / риск скор;GET /api/v1/uptime/{monitor_id}– статус на uptime монитор.
Реалната JSON структура може да следва масивите, които вече използваш в
analytics.php и reputation.php.
4. Примерна заявка (cURL)
Елементарен пример за IP analytics заявка чрез cURL:
curl -X GET \
"https://ipt.bg/api/v1/analytics/ip/8.8.8.8" \
-H "X-Api-Key: YOUR_API_KEY_HERE" \
-H "Accept: application/json"
Примерен JSON отговор:
{
"ip": "8.8.8.8",
"geo": {
"country": "United States",
"city": "Mountain View",
"isp": "Google LLC"
},
"risk": {
"score": 15,
"label": "Low risk"
}
}
Точните полета зависят от това как мапваш данни от външни услуги и вътрешния risk скоринг.
5. Примерна интеграция (PHP)
Минимален пример за заявка към API от друг PHP проект:
<?php
$ip = '8.8.8.8';
$key = 'YOUR_API_KEY_HERE';
$url = 'https://ipt.bg/api/v1/analytics/ip/' . urlencode($ip);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-Api-Key: ' . $key,
'Accept: application/json',
],
]);
$body = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($code === 200 && $body !== false) {
$data = json_decode($body, true);
// работа с $data['ip'], $data['geo'], $data['risk'], ...
} else {
// обработка на грешка / логване
}
6. Контакт и custom интеграции
За продукционен достъп до API, по-високи лимити, whitelisting или on-premise инсталации можеш да се свържеш с нас:
- Чрез формата Контакт в IPT.BG;
- Опиши use case-а (SaaS, ISP, хостинг, SOC, MSP и др.);
- Добави очакван обем и кои ендпойнти планираш да използваш.
Възможни са и частни ендпойнти или отделна инфраструктура за големи партньори, по индивидуални търговски условия.