REST API e integraciones
API REST completo en /api/v1/, endpoint de estado en tiempo real de Asterisk, servidor FastAGI, daemon de devolución y patrones de integración CRM.
PearlPBX2 expone una API REST versionada construida con Django REST Framework, dando a los sistemas externos acceso programático a agentes, colas, datos CDR, listas de bloqueo y estado en tiempo real de Asterisk. Un servidor FastAGI dedicado (puerto 4573) permite al dialplan de Asterisk llamar a lógica Python durante la llamada. El daemon de devolución se integra con el AMI para originar llamadas salientes.
Puntos clave
API REST versionado en /api/v1/ — agentes, colas, CDR, blocklist, contactos, devoluciones
Endpoint de estado en tiempo real: devuelve el estado de Asterisk + Redis como JSON
API Blocklist y Allowlist: añade/elimina números programáticamente para bloqueo en tiempo real
Servidor FastAGI en el puerto TCP 4573 — llama a lógica Python desde el dialplan de Asterisk
El daemon de devolución usa AMI Originate para realizar llamadas salientes desde el servidor
API de admin Django: CRUD completo en todos los modelos vía interfaz Django REST admin
Endpoints de la API
- GET /api/v1/agents/ — lista todos los agentes con estado actual
- GET /api/v1/queues/ — lista colas con recuentos de miembros y métricas de servicio
- GET /api/v1/cdr/ — registros CDR paginados con filtros por fecha, agente, cola, disposición
- GET/POST /api/v1/blocklist/ — recuperar o añadir números bloqueados
- GET/POST /api/v1/callbacks/ — ver o crear entradas de cola de devolución
- GET /api/v1/status/ — canales activos de Asterisk, registros y conectividad Redis
- POST /api/v1/originate/ — activar una llamada AMI Originate programáticamente
Patrones de integración
- Screen-pop CRM: en llamada entrante, consulta /api/v1/status/ por ID del llamante y abre el registro CRM
- Sincronización automática de blocklist: tu CRM envía números de rechazo a /api/v1/blocklist/ en tiempo real
- Webhook post-llamada: Asterisk AGI envía resultado de llamada a tu CRM tras colgar vía servicio FastAGI
- Widget de estado de cola: incrusta métricas de cola en tiempo real en tu helpdesk usando /api/v1/queues/
- Devolución desde formulario web: tu sitio hace POST a /api/v1/callbacks/ para solicitar devolución de agente
Servicios independientes
- Servidor FastAGI (puerto 4573): manejador AGI Python llamado durante la llamada por Asterisk
- Daemon de devolución: proceso independiente que sondea la BD y usa AMI Originate para llamadas
- Dashboard Listener: se suscribe al stream de eventos AMI y publica en Redis para entrega WebSocket
- Los tres servicios se gestionan independientemente y pueden reiniciarse sin reiniciar la app Django
¿Listo para verlo en acción?
Solicita una demo en vivo o explora los precios para opciones alojadas y auto-hospedadas.