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(token, return_dict=True)

# Либо
api = TelefonIpAPI(token,)
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.0.tar.gz (13.8 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: pyucallerapi-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 434819e23c9ca740fa9117b85688a00bbf6d009f3d74959a126931c0d0993257
MD5 dcdd22ae8bd65cd6f14e55bfc6a3e03a
BLAKE2b-256 867fd4af3e17840ebd622393a657b237a419c32ad43b3c03ffb37b744ea72864

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