Skip to main content

Voice API SDK — compatible con SignalWire y Twilio

Project description

AorusAPI SDK

SDK para la API de voz de AorusAPI. Compatible con el SDK oficial de SignalWire — solo cambia el import.

Instalación

pip install aorusapi

Configuración

Las credenciales se obtienen desde el dashboard: https://app.aorusapi.com

Ejemplo de settings.json:

{
  "signalwire": {
    "project_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "api_token": "PTxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "space_url": "app.aorusapi.com"
  }
}

Uso

import json
from aorusapi.rest import Client as SignalWireClient

# Cargar settings
with open("settings.json", "r") as f:
    jsonsettings = json.load(f)

sw = jsonsettings["signalwire"]

# Inicializar cliente
signalwire_client = SignalWireClient(
    sw["project_id"],
    sw["api_token"],
    signalwire_space_url=sw["space_url"]
)

# Crear llamada
call = signalwire_client.calls.create(
    to="+1234567890",
    from_="+0987654321",
    url="https://mi-backend.com/voice",
    method="POST",
    timeout=28,
    record=True,
    status_callback="https://mi-backend.com/status_callback",
    status_callback_event=["initiated", "ringing", "completed"],
    recording_status_callback="https://mi-backend.com/notify_end",
    machine_detection="Enable",
)

print(call.sid)     # CAxxxxxxxxxxxxx
print(call.status)  # queued

Parámetros de calls.create()

Parámetro Tipo Descripción
to str Número destino en formato E.164 (+1234567890)
from_ str Número origen en formato E.164
url str URL que devuelve el XML con las instrucciones de la llamada
method str Método HTTP para url (GET / POST)
timeout int Segundos antes de considerar la llamada sin respuesta
record bool Grabar la llamada
status_callback str URL que recibe los eventos de estado de la llamada
status_callback_event list Eventos a notificar: initiated, ringing, answered, completed
recording_status_callback str URL que recibe la notificación cuando la grabación está lista
machine_detection str Enable para activar detección de contestador automático
machine_detection_timeout int Segundos máximos para la detección AMD
async_amd bool Detección AMD asíncrona (no bloquea la llamada)
async_amd_status_callback str URL que recibe el resultado AMD cuando async_amd=True

Consultar y modificar una llamada

# Obtener estado
call = signalwire_client.calls("CAxxxxxxxxxxxxx").fetch()
print(call.status)

# Colgar una llamada activa
signalwire_client.calls("CAxxxxxxxxxxxxx").update(status="completed")

# Redirigir a nuevo XML
signalwire_client.calls("CAxxxxxxxxxxxxx").update(url="https://mi-backend.com/nuevo-xml")

Migrar desde SignalWire

# Antes
from signalwire.rest import Client as SignalWireClient

# Después — el resto del código no cambia
from aorusapi.rest import Client as SignalWireClient

Migrar desde el archivo signalwire_replacement.py

# Antes
from signalwire_replacement import Client as SignalWireClient

# Después — el resto del código no cambia
from aorusapi.rest import Client as SignalWireClient

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

aorusapi-1.0.1.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aorusapi-1.0.1-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file aorusapi-1.0.1.tar.gz.

File metadata

  • Download URL: aorusapi-1.0.1.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for aorusapi-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1406e4ce5ea40d7761ae8cbd0403c11851629b77f2d4626bb4a3a08f43da6d2c
MD5 2ecc830b6005b64515b09f82a8dda6a2
BLAKE2b-256 99927ae7539c777f6661b0e9aafaf00edc40c7776010a356c169b415ab10b2c6

See more details on using hashes here.

File details

Details for the file aorusapi-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: aorusapi-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for aorusapi-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 526627e2363ba6b5b0d23d81eee60a2ec6373cd7f022df5361e28ccf660d1ef1
MD5 2371497ccb7e9347ce908719af2e20e8
BLAKE2b-256 e498d24b5d39501ec0a3d0038d846c82f5dad1253842ace396b1997ce8ed674b

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