3CX Phone System permite controlar la operación de las extensiones mediante una muy simple interfaz de programación HTTP. Dada su simplicidad, es ideal para una integración rápida y sencilla con aplicaciones externas mediante HTTP.
Las funciones disponibles son:
- Realizar una llamada desde una extensión hacia cualquier número (interno o externo)
- Deshabilitar una extensión
- Habilitar una extensión
- Deshabilitar llamadas externas para una extensión
- Habilitar llamadas externas para una extensión
- Deshabilitar la grabación de llamadas para una extensión
- Habilitar la grabación de llamadas para una extensión
Cada una de las funciones requiere una invocación HTTP GET con una serie de parámetros de configuración. A continuación se muestran ejemplos para cada una de las funciones disponibles, donde deberán ajustarse los valores correspondientes a los siguientes parámetros:
| Parámetro | Descripción |
| <pbx> | Dirección IP de la PC donde se encuentra instalado 3CX Phone System |
| <ext> | Número de la extensión sobre la que se desea operar |
| <dest> | Número de destino para realizar una llamada saliente |
| <ext_pin> | Contraseña para la extensión |
| <pbxpass> | Contraseña para la interfaz de administración de 3CX Phone System |
Realizar una llamada
http://<pbx>:5481/ivr/PbxAPI.aspx?func=make_call&from=<ext>&to=<dest>&pin=<ext_pin>
Deshabilitar una extensión
http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&disable=1
Habilitar una extensión
http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&disable=0
Deshabilitar llamadas externas para una extensión
http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&disable_external=1
Habilitar llamadas externas para una extensión
http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&disable_external=0
Deshabilitar la grabación de llamadas para una extensión
http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&record_calls=0
Habilitar la grabación de llamadas para una extensión
http://<pbx>:5481/ivr/PbxAPI.aspx?func=upd_ext&ext_num=<ext>&pwd=<pbxpass>&record_calls=1
Concatenación de comandos
Es posible enviar varias instrucciones en una sola invocación. Por ejemplo, supongamos que necesita que la extensión 100 no pueda realizar llamadas externas, y que todas sus llamadas sean grabadas. El comando a utilizar sería como el siguiente:
http://10.172.0.15:5481/ivr/PbxAPI.aspx?func=upd_ext&extnum=100&pwd=admin&disable=0&disable_external=1&record_calls=1
Implementación de referencia
Puede ver aquí una implementación sencilla que utiliza la HTTP API. Abra la página desde su navegador y seleccione “Ver código fuente” para ver cómo está hecho.



