API

Публичный API возвращает регион, оператора диапазона и служебные сведения о базе. Для server-to-server лучше использовать POST: query string GET-запроса может попасть в proxy logs.

Lookup GET

GET /api/v2/lookup?phone=79530201234
curl 'https://new.mnezvonili.ru/api/v2/lookup?phone=79530201234'

Lookup POST

POST /api/v2/lookup
{"phone":"79530201234"}
curl -s -X POST 'https://new.mnezvonili.ru/api/v2/lookup' \
  -H 'Content-Type: application/json' \
  -d '{"phone":"79530201234"}'

Version и Health

GET /api/v2/version
GET /api/v2/status
GET /api/v2/mobile/status
GET /health

Mobile data package

GET /api/v2/mobile/version
GET /api/v2/mobile/download
HEAD /api/v2/mobile/download

Android-клиент сначала читает /api/v2/mobile/version, сравнивает snapshot_id, dataset_hash и sha256, скачивает ZIP, проверяет sha256 и затем проверяет Ed25519 signature, если signed=true.

Статусы lookup

found=true
номер найден в текущем индексе;
found=false
номер валидный, но диапазон не найден;
invalid_phone
номер не прошел нормализацию, HTTP 400;
index_not_loaded
индекс не загружен, HTTP 503.

Оператор диапазона

Поле result.operator.name содержит юридическое название из официальной базы. Поле result.operator.brand содержит короткий бренд, если он есть в справочнике.

Служебные endpoints для интеграций документируются отдельно.