Saltar a: navegación, buscar

API de llamadas


Con la API de llamadas (servicio web) podrá integrar en programas CRM, bases de datos, etc., un sistema de realización de llamadas con el mismo funcionamiento que la aplicación Llamar vía web de su Oficina Virtual con cargo a su cuenta (ver artículo Llamadas desde la web).

Activación API 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 Servicio web de llamadas

La URL debe ser:

https://scgi.duocom.es/cgi-bin/telefacil2/telefacil_webcallservice?principal=xxxxxxxxx&llamante=xxxxxxxxx&llamado=xxxxxxxxx&pass=xxxxxxxx&mascara=xxxxxxxxx

donde:

  • 'principal' es su número de usuario de Telefácil.
  • 'llamante' es el número de teléfono desde el que quiere realizar la llamada (también puede ser un voip xxxxxxxx@telefacil.com, o una extensión extXXXX, como se explica más adelante).
  • 'llamado' es el número de teléfono al que quiere llamar (nacional, móvil, internacional).
  • 'pass' es la contraseña de la cuenta.
  • 'mascara' (opcional): si tiene algún número de Oficina Virtual, puede ponerlo aquí. Este será el número que le aparecerá al llamante y al llamado. Lea más sobre la máscara en la serie de artículos Máscara.
  • Opcionalmente, se puede pasar el parámetro 'grabar' (de esta manera: "&grabar=1") con el que se puede grabar la llamada (la grabación se enviará a su correo electrónico en formato MP3). Si tiene el servicio de grabaciones contratado, no hace falta que pase este parámetro.
  • Opcionalmente, se puede pasar el parámetro 'minutos' con un valor entre 1 y 240 (de esta manera: "&minutos=5"). Esto limitará el tiempo de conversación a los minutos que se haya especificado (transcurridos esos minutos, se cortará la llamada). Si no se especifica este parámetro (o se envía minutos=0) el tiempo de conversación será ilimitado. Si se envía un valor mayor que 240, se truncará a 240.

Se realizarán dos llamadas, la primera al llamante y una vez contestado el sistema marcará el llamado.

Se cobrarán las dos llamadas: la llamada del sistema al 'llamante' + la llamada del sistema al 'llamado'. La tarifa que se aplica es la de "Acceso local". Consultar tarifas. Las llamadas a Voip son gratuitas.

El número llamante, además de un fijo, móvil, internacional o un voip, puede ser una extensión con el Desvío Especial activado (que sirve para poder transferir llamadas salientes a otras extensiones; lea Desvíos_de_extensión#Desv.C3.ADos_especiales). Para eso tendrá que poner el campo llamante de la forma extXXXX, donde XXXX es la extensión con el desvío especial activado. Por ejemplo, para la extensión 1234, sería: &llamante=ext1234.

Uso con nuestra aplicación de VoIP

También se puede mandar a hacer la llamada a un PC, smartphone o tablet que esté ejecutando nuestra aplicación. Para ello, tendremos que pasar a la URL los parámetros ya consabidos: 'principal', 'pass', 'llamado', 'llamante' (debe ser el usuario VOIP que esté registrado en la aplicación, de la forma usuario@telefacil.com); y además 'mac', que será la dirección MAC del equipo (PC, smartphone o tablet) donde se ejecute la aplicación.

Por ejemplo:

https://scgi.duocom.es/cgi-bin/telefacil2/telefacil_webcallservice?principal=912345678&llamante=902955955.567@telefacil.com&llamado=0012127773456&pass=MiClaveSecreta&mac=00:EF:99:2A:B3:88

Valor retornado

Si todo funciona correctamente, la API devolverá un 1 seguido de un salto de línea y la referencia interna de la llamada (única en el día, se puede repetir en días diferentes). Si no, se devolverá un 0 seguido de un salto de línea y el mensaje de error correspondiente.

Ejemplo de respuesta correcta:

1
53010203

Con la referencia interna de la llamada usted podrá relacionar el inicio de la llamada con el final de la misma en la API de consumos y en las Opciones avanzadas de aviso de llamada cobrada.

Ejemplo de respuesta incorrecta:

0
<br>
ERROR: Cuenta incorrecta.

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';
  $llamante = '911000222';
  $llamado = '930000000';

  $fd = fopen("/tmp/respuesta.txt", "w");
  $curl = curl_init("https://scgi.duocom.es/cgi-bin/telefacil2/telefacil_webcallservice?
                     principal=${usuario}&llamante=${llamante}&llamado=${llamado}&pass=${pass}"); // 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 y la referencia
?>


Indice

Página principal >> Desarrolladores >> API de llamadas.