Геокодирование, маршрутизация, POI, AI-поиск и геоаналитика по России. REST API + MCP для интеграции с AI.
Базовый URL: /api |
OpenAPI спецификация (JSON)
| Метод | Эндпоинт | Описание |
|---|---|---|
| GET | /api/health | Проверка состояния сервисов |
| GET | /api/stats | Статистика базы данных |
| GET | /api/geocode?q=... | Прямое геокодирование |
| GET | /api/reverse?lat=...&lon=... | Обратное геокодирование |
| GET | /api/poi/search?q=... | Поиск точек интереса |
| GET | /api/poi/{id} | Карточка POI |
| GET | /api/organizations/search?q=... | Поиск организаций |
| GET | /api/organizations/{id} | Карточка организации |
| GET | /api/route?from_lat=...&from_lon=...&to_lat=...&to_lon=... | Построение маршрута (OSRM) |
| POST | /api/ai/chat | AI-чат (геоконтекст, OpenRouter) |
| GET | /insights/location-score?lat=...&lon=...&business=coffee | Оценка точки для бизнеса |
| GET | /insights/service-gaps?lat=...&lon=... | Поиск сервисных дефицитов вокруг точки |
| POST | /api/api-keys/register | Регистрация API-ключа |
| GET | /api/api-keys/info?key=... | Информация о ключе |
| POST | /api/mcp | MCP (JSON-RPC 2.0) |
curl "http://localhost/api/geocode?q=Ростов-на-Дону"
{
"results": [
{
"display_name": "Ростов-на-Дону",
"place_type": "city",
"lat": 47.2357,
"lon": 39.7015,
"score": 2.85
}
],
"query": "Ростов-на-Дону",
"elapsed_ms": 12
}
curl -X POST http://localhost/api/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}'
curl -X POST http://localhost/api/ai/chat \
-H "Content-Type: application/json" \
-d '{
"message": "кафе рядом с парком",
"lat": 47.2357,
"lon": 39.7015
}'
curl "http://localhost/insights/location-score?lat=47.2357&lon=39.7015&business=coffee&radius=1000"
{
"analysis": {
"business": "coffee",
"verdict": "Перспективно, но нужна полевая проверка",
"scores": { "opportunity": 62, "demand": 71, "competition": 30 }
}
}