/Phonex

Phonex - RESTful сервис для получения информации по номеру телефона

Primary LanguageJavaApache License 2.0Apache-2.0

Phonex

Phonex - RESTful сервис для получения информации по номеру телефона согласно выписке из реестра Российской системы и плана нумерации.

Информация о номере телефона включает в себя наименование оператора связи и регион номера телефона.

При получении информации следует учитывать, что сервис не отслеживает переход номера телефона от одного оператора к другому (MNP)

Phonex API

Во всех методах API префикс phonex может быть изменён через конфигурацию сервиса.

Поиск информации по номеру телефона

/phonex/search/{phone}

phone - номер телефона в формате 7XXXXXXXXXX. В ответ на GET запрос по указанному адресу приходит JSON ответ следующих форматов:

{"result":{result}, "message":"{message}"}

или

{"result":{result}, "message":"{message}", "phone": {"phone":"7XXXXXXXXXX", "operator":"Оператор", "region":"Регион"}}

где result - код ответа, описанный ниже.

Поиск информации по префиксу номера телефона

/phonex/prefix/{prefix}

prefix - префикс номера телефона в формате 7XXX, содержащий от двух до одиннадцати цифр, включая начальную семёрку. В ответ на GET запрос по указанному адресу приходит JSON ответ следующих форматов:

{"result":{result}, "message":"{message}"}

или

{"result":{result}, "message":"{message}", "phone": {"phone":"7XXXXXXXXXX", "operator":"Оператор", "region":"Регион"}}

где result - код ответа, описанный ниже.

При поиске информации по префиксу номера телефона информация возвращается, если для префикса существует только один номер телефона. Во всех остальных случаях возвращается соответствующая ошибка.

Значения кодов ответа

result message Описание
0 Информация по номеру телефона успешно найдена.
1 Номер телефона/префикс номера телефона не передан
2 Передан некорректный номер телефона/префикс номера телефона
3 Информация по номеру телефона не найдена
4 Передан слишком короткий префикс номера телефона
5 Найдено более одного номера телефона по префиксу
99 Внутренняя ошибка на сервере

TODO

  1. Обновлять выписку только при её изменении.
  2. В ответах на вызовы методов API использовать кеширующие заголовки.
  3. Использовать более оптимальный способ загрузки информации из CSV-файлов в базу.

Известные проблемы

  1. Первые запросы будут получать некорректные ответы до первой загрузки информации о диапазонах номеров телефонов.
  2. После очистки таблицы и до загрузки в неё всех доступных диапазонов номеров телефонов запросы будут получать некорректные ответы.

Ссылки

  1. Выписка из реестра Российской системы и плана нумерации