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.3.tar.gz (4.2 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.3-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aorusapi-1.0.3.tar.gz
  • Upload date:
  • Size: 4.2 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.3.tar.gz
Algorithm Hash digest
SHA256 a46fbadcce15bb3885cc39ce0605072350991d5960ca7cb5582b0cecd5b9de08
MD5 f07a3855b2918a6e0e6368ff40a222d7
BLAKE2b-256 8360afd2c79cc239ebb2c337c698f258077421051b3a7842da1ab7c10679ae01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aorusapi-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 944ac6287ddd8aa9ec9a231d339986d13bf946800dcb33d7e59d52790a5ded70
MD5 1a201aef803579f4f3bba41d5bd8928c
BLAKE2b-256 ca327464a44c51dc09c02fd8b046460ee5b16cad5959605d8da9658d551f9631

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