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.2.tar.gz (4.3 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.2-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aorusapi-1.0.2.tar.gz
  • Upload date:
  • Size: 4.3 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.2.tar.gz
Algorithm Hash digest
SHA256 c073ba3cec82714092bbda07a6ba70900ee0cdd414958e998aea749b02f3e821
MD5 de3c3ca8a2ca41f3a6419c15eecd0beb
BLAKE2b-256 2b39fa215b6e9d9fbfa350b4048620a34245050afd70ab363248e87fc602d913

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aorusapi-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a4b7d94dab8374c008cd5c9660cc4d52cba44666fc5045245f5822386f7d8107
MD5 f267433095d8e013263d497a4d8df1bb
BLAKE2b-256 fb2c43b19b77520048f3d86c8c4a2ee4781c6aebe3b1f2e21cc198db41517876

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