Saltar a: navegación, buscar

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 Mi Oficina Web?

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/oficinaweb/api_control_llamadas?principal=xxxxxxxxx&pass=xxxxxxxx&orden=xxxxxxx&ref=xxxxxxx

donde:

  • 'principal' es su número de usuario de Mi Oficina Web.
  • '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:

Órdenes disponibles

Cortar llamada

Hace falta enviar 'orden=cortar'. Sirve para llamadas entrantes y salientes.

Ejemplo:

https://scgi.duocom.es/cgi-bin/oficinaweb/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/oficinaweb/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/oficinaweb/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/oficinaweb/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/oficinaweb/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.