API de control de llamadas
Con la API de control de llamadas (servicio web) podrá integrar en programas CRM, bases de datos, etc., un sistema para controlar las llamadas que han sido realizadas desde la API de llamadas.
Recuerde que si usa exclusivamente la aplicación Voip Duocom, puede usar también la API de Voip Duocom.
Si no sabe lo que es una API lea ¿Qué son las APIs de Telefácil?
Sumario
Activación API de control de llamadas
Este servicio debe activarse explícitamente dentro de la web, en Desarrolladores > Servicio web de llamadas (o en Desarrolladores > Permisos de las APIs y los servicios web). En esa sección también se pueden restringir (opcionalmente) las direcciones IP desde las que se puede llamar a través de esta aplicación web. Si usted tiene una dirección IP fija por favor introdúzcala aquí, aumenta la seguridad.
Forma de uso
La URL debe ser:
https://scgi.duocom.es/cgi-bin/telefacil2/api_control_llamadas?principal=xxxxxxxxx&pass=xxxxxxxx&orden=xxxxxxx&ref=xxxxxxx
donde:
- 'principal' es su número de usuario de Telefácil.
- 'pass' es la contraseña de la cuenta.
- 'ref' es la referencia de la llamada, devuelta por la API de llamadas.
- 'orden' es el tipo de acción que quiere realizar sobre la llamada.
Cada orden puede tener más parámetros obligatorios.
¿Cómo se consigue la referencia?
La referencia es un número que identifica unívocamente a una llamada dentro de una fecha determinada (las referencias pueden repetirse en días distintos).
Puede encontrar la referencia de una llamada de diferentes formas:
- La API de llamadas devuelve la referencia para las llamadas realizadas.
- Un disparador de eventos le da la referencia de una llamada. Ejemplos: Opciones avanzadas de aviso de llamada y Opciones avanzadas de aviso de llamada cobrada.
Órdenes disponibles
Cortar llamada
Hace falta enviar 'orden=cortar'. Sirve para llamadas entrantes y salientes.
Ejemplo:
https://scgi.duocom.es/cgi-bin/telefacil2/api_control_llamadas?principal=919828737&pass=misecret&orden=cortar&ref=5346142
Poner llamada en espera
Hace falta enviar 'orden=poner_en_espera'. Solo sirve para llamadas entrantes.
Ejemplo:
https://scgi.duocom.es/cgi-bin/telefacil2/api_control_llamadas?principal=919828737&pass=misecret&orden=poner_en_espera&ref=5346142
Quitar llamada de espera
Hace falta enviar 'orden=quitar_de_espera'. Solo sirve para llamadas entrantes.
Ejemplo:
https://scgi.duocom.es/cgi-bin/telefacil2/api_control_llamadas?principal=919828737&pass=misecret&orden=quitar_de_espera&ref=5346142
Transferir a otra extensión
Solo para llamadas entrantes a extensiones de centralita.
Hace falta enviar 'orden=transferir_ext' y la extensión a la cual se quiere transferir en 'ext'.
Ejemplo:
https://scgi.duocom.es/cgi-bin/telefacil2/api_control_llamadas?principal=919828737&pass=misecret&orden=transferir_ext&ext=1234&ref=5246142
Agregar tiempo máximo
Esta opción solo está disponible para llamadas cuya primera pata sea una extensión de centralita con el desvío especial para llamadas salientes activado.
En la API de llamadas se puede lanzar una llamada con un tiempo máximo entre 1 y 240 minutos. Si se desea aumentar ese tiempo máximo, se puede llamar a esta API con los siguientes parámetros (además de los ya obligatorios):
- 'orden=agregar_tiempo_maximo'.
- 'minutos' con los minutos que se desea añadir a la llamada en curso.
Por ejemplo:
https://scgi.duocom.es/cgi-bin/telefacil2/api_control_llamadas?principal=919828737&pass=misecret&orden=agregar_tiempo_maximo&ref=5346142&minutos=20
Tenga en cuenta lo siguiente:
- El tiempo máximo de una llamada es 4 horas (240 minutos). Si añade más tiempo de ese límite, la llamada se cortará igualmente a las 4 horas.
- Si una de las patas es un voip por UDP el tiempo máximo es de 2 horas.
Ejemplo
Tenga presente que, aunque la aplicación web es accesible mediante una URL, no debe poner nunca enlaces a esta aplicación directamente en el código fuente de sus páginas web, ya que sus visitantes podrían descubrir datos sensibles como su número de usuario y su contraseña simplemente mirando el código HTML.
La aplicación web debe ser llamada siempre desde el servidor, usando para ello alguna de las librerías que permite llamadas a servicios HTTPS.
He aquí un ejemplo en PHP usando cURL, cortesía de tuayudainformatica.com:
<?php $usuario = '666111666'; $pass = 'MiClaveSecreta'; $ref = '5312345'; $orden = 'agregar_tiempo_maximo'; $minutos = '10'; $fd = fopen("/tmp/respuesta.txt", "w"); $curl = curl_init("https://scgi.duocom.es/cgi-bin/{{DIR_CGI}}/api_control_llamadas? principal=${usuario}&pass=${pass}&ref=${ref}&orden=${orden}&minutos=${minutos}"); // LLAMADA DE LA URL curl_setopt($curl, CURLOPT_FILE, $fd); curl_setopt($curl, CURLOPT_HEADER, false); // PARA EVITAR DEVOLUCION DE CABEZERAS HTTP curl_setopt($curl, CURLOPT_TIMEOUT, 5); // TIEMPO DE ESPERA $output = curl_exec($curl); // EJECUTAMOS LA LLAMADA curl_close($curl); fclose($fd); $output = substr($output, 0, 1); // SI OBTENEMOS 0 = ERROR / 1 = COMUNICACION OK // en /tmp/respuesta.txt está la respuesta ?>
Indice
Página principal >> Desarrolladores >> API de control de llamadas.