Skip to main content

Python service for convenient work with uCaller API

Project description

pyucallerapi - Python service for convenient work with uCaller API

Documentation uCaller api: DOC

Установка

Пользуем pip:

pip install pyucallerapi

Зависимости

python>=3.10
requests
pydantic>=2.9.2

Как использовать

Все названия методов соответствуют action в ссылке (смотрите документацию). Пример названия метода:

  • /v1.0/initCall/ - init_сall

Варианты импорта Вы можете импортировать

UCallerAPI - с всеми доступными методами 
SettingAPI - только методы для работы с аккаунтом
CallAPI - только запросы кода авторизации

Так же прошу вас обратить внимание на аннотацию типов аргументов

Если вам нужно чтобы ответ был в dict - то при инициализации укажите аргумент return_dict = True

api = UCallerAPI(service_id=service_id,key=key, return_dict=True)

# Либо
api = UCallerAPI(service_id=service_id,key=key,)
api.return_dict = True

Example

Использование сервиса

import logging
from pyucallerapi import APIUCaller, CallAPI, SettingAPI


logger = logging.getLogger(__name__)
logging.basicConfig(filename='example.log', encoding='utf-8', level=logging.DEBUG)

service_id = <int>
key = ""
# запрашиваем звонок 
api = APIUCaller(
    service_id=service_id,
    key=key,
    logger=logger
)
# Проверка работоспособности сервиса -> HealthModel | ErrorResponseModel
api.health()

# Запрос на авторизацию ->  InitCallModel | ErrorResponseModel
out = api.init_call("+79000000001", "6123",) 

# получить информацию о запросе авторизации 
api.get_info(out.ucaller_id)

Получение данных webhook (например, из FastAPI)

from fastapi import APIRouter, Request
from pyucallerapi import UcallerWebhookModel   

router = APIRouter()

@router.post("/ucaller-webhook")
async def handle_webhook(request: Request):
    data = await request.json()
    webhook = UcallerWebhookRequest(**data)  # Валидация
    
if webhook.isMnp:
    print(f"Номер портирован от {webhook.operatorName} к {webhook.operatorNameMnp}")

return {"status": "ok"}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyucallerapi-0.1.1.tar.gz (13.8 kB view details)

Uploaded Source

File details

Details for the file pyucallerapi-0.1.1.tar.gz.

File metadata

  • Download URL: pyucallerapi-0.1.1.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.7

File hashes

Hashes for pyucallerapi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 005253aa447c54391e0a7be86f5ffacc84c15bf0f35f642e1e2d98321d77d807
MD5 78c4109dacd561b98d6b2bcadb9aadcd
BLAKE2b-256 d004b52558d60c1373514958ac5eee224aecc385fab111a9cf5d54834cecc561

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page