Skip to main content

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"}

Metadata

Release files for pyucallerapi 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyucallerapi 0.1.1
File Size Uploaded
pyucallerapi-0.1.1.tar.gz 13.8 kB Details

Release files / pyucallerapi-0.1.1.tar.gz

Download URL pyucallerapi-0.1.1.tar.gz
Size 13.8 kB
Tags Source
SHA-256 checksum
How to use checksums
005253aa447c54391e0a7be86f5ffacc84c15bf0f35f642e1e2d98321d77d807
BLAKE2b-256 checksum
How to use checksums
d004b52558d60c1373514958ac5eee224aecc385fab111a9cf5d54834cecc561
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.7

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

0.1.0

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page