Cервис, который позволяет определять по номеру телефона - оператора связи и регион.
Web-форма, которая принимает номер телефона, а в ответ возвращает сведения, например:
* введённый номер
* ПАО "Мобильные ТелеСистемы"
* Республика Татарстан
Один скрипт API, который принимает номер абонента в формате MSISDN (например, 79173453223).
В случае успеха, код возвращает информацию о номере (операторе мобильной связи и регионе), в случае ошибки — сигнализирует об этой ошибке. Формат JSON.
API метод для получения информации о номере:
curl -X GET http://localhost:8000/api/search?num=79856660205
Результат список новостей в формате JSON
{
"number": "79856660205",
"operator": "ПАО \"Мобильные ТелеСистемы\"",
"region": "Республика Татарстан",
}
Номер проверяется на наличие в базе Россвязи (этот орган отвечает за выдачу телефонных номеров разным операторам в России):
https://rossvyaz.gov.ru/deyatelnost/resurs-numeracii/vypiska-iz-reestra-sistemy-i-plana-numeracii https://rossvyaz.gov.ru/about/otkrytoe-pravitelstvo/otkrytye-dannee/reestr-otkrytykh-dannykh
Раз в сутки происходит получение данных из базы Россвязи, их хранение и обновление.
- Python 3;
- Использованы общедоступные библиотеки:
Гитхаб репозиторий: https://github.com/Lotfull/rossvyaz-api
Приложение доступно по ссылке: http://185.228.233.249:8001/search
Для запуска на удалённом сервере используется Docker
В качестве БД используется HDF5 for Python и Pandas, так как общий объём данных не превышает 11Мб и данные хранятся в оперативной памяти с сохранением на диск в формате data.h5
.
Настройки API могут быть изменены в файле .env
Запуск Django в режиме DEBUG=True если MODE=LOCAL, иначе DEBUG=False:
MODE=LOCAL
Имя хоста для удалённого запуска:
HOST_IP=localhost
pip3 install -r requirements.txt
cp -n .env_example .env
python3 manage.py migrate
python3 -u manage.py runserver
docker-compose up