← Volver a características
PearlPBX2

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.