API de Voip
Con la API de Voip (servicio web) podrá integrar en programas CRM, bases de datos, etc., un sistema para controlar la Aplicacion Voip Duocom y los teléfonos Cisco SPA y Yealink.
Las llamadas también se pueden controlar con la API de control de llamadas, aunque la API de Voip es mucho más específica.
Si no sabe lo que es una API lea ¿Qué son las APIs de Mi Oficina Web?
Sumario
Activación API de Voip
Este servicio debe activarse explícitamente dentro de la web, 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.
Sobre los teléfonos Cisco SPA y Yealink
Tanto en los teléfonos Cisco SPA (5xx o 3xx) como en los teléfonos Yealink, el usuario VoIP que se va a utilizar para llamar o controlar una llamada debe estar en la primera línea del dispositivo.
Los teléfonos Yealink deben tener un firmware igual o superior a la versión 82.
Forma de uso
La URL debe ser:
https://scgi.duocom.es/cgi-bin/oficinaweb/apivoip?principal=xxxxxxxxx&pass=xxxxxxxx&orden=xxxxxxx&mac=xxxxxxxxxxxx&voip=xxxxxxxxx
donde:
- 'principal' es su número de usuario de Mi Oficina Web.
- 'pass' es la contraseña de la cuenta (¡no del usuario voip!).
- 'orden' es el tipo de acción que quiere realizar sobre la aplicación Voip Duocom o el teléfono Cisco SPA o Yealink.
- 'mac' es la dirección MAC del teléfono Cisco SPA o Yealink; la dirección MAC del ordenador donde se ejecuta la aplicación Voip Duocom o el identificador de dispositivo donde se ejecuta la app Voip Duocom. Es un parámetro opcional: si no se pasa, se utilizará el primer dispositivo registrado que tenga una MAC.
- 'voip' es el identificador del número voip que está registrado en el Cisco SPA, en el Yealink o en Voip Duocom (un número virtual, centralita.extensión o un siptrunk).
Cada orden puede tener más parámetros obligatorios.
¿Cómo se consigue la dirección MAC?
- En los teléfonos Cisco SPA: pulse el botón menú (icono hoja de papel), opción 10 (información de producto), opción 5 (dirección MAC).
- En los teléfonos Yealink: pulse brevemente el botón OK. La dirección MAC estará en la segunda línea de la pantalla.
- En Voip Duocom:
- En Android: vaya a la pestaña de configuración, Soporte Técnico, pulse arriba a la derecha (opciones), Mostrar ID.
- En iOS: vaya a Ajustes, Ayuda, Soporte Técnico, pulse arriba a la derecha (opciones), Ver MAC.
- En Windows, macOS y Linux: vaya a Ayuda > Ver mis direcciones IP y MAC.
¿Cómo se consigue la referencia de una llamada?
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:
- Al hacer una llamada
- 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
Hacer una llamada
Hace falta enviar 'orden=llamar'.
Parámetros obligatorios:
- orden=llamar.
- 'telefono' con el número de teléfono que se desea marcar en Voip Duocom o el teléfono Cisco SPA o Yealink.
Ejemplo:
https://scgi.duocom.es/cgi-bin/oficinaweb/apivoip?principal=919828737&pass=miscret&orden=llamar&voip=902009955.1234&mac=12:34:56:78:ab:cd&telefono=912345678
La API le devolverá en forma de texto una primera línea con un 1 si la llamada se ha mandado a cursar o un 0 si hubo algún error. En la segunda línea se le informará de la referencia de la llamada (si devolvió 1) o el mensaje de error (si devolvió 0).
Contestar una llamada
Hace falta enviar 'orden=contestar'.
Parámetros obligatorios:
- orden=contestar.
- 'ref' con la referencia de la llamada que se desea contestar en Voip Duocom (a partir de la versión 2.0.7) o el teléfono Cisco SPA o Yealink.
Ejemplo:
https://scgi.duocom.es/cgi-bin/oficinaweb/apivoip?principal=919828737&pass=miscret&orden=contestar&voip=902009955.1234&mac=12:34:56:78:ab:cd&ref=5123456
Cortar una llamada
Hace falta enviar 'orden=cortar'.
Parámetros obligatorios:
- orden=cortar.
- 'ref' con la referencia de la llamada que se desea contestar en Voip Duocom (a partir de la versión 2.0.7) o el teléfono Cisco SPA o Yealink.
Ejemplo:
https://scgi.duocom.es/cgi-bin/oficinaweb/apivoip?principal=919828737&pass=miscret&orden=cortar&voip=902009955.1234&mac=12:34:56:78:ab:cd&ref=5123456
Poner en espera una llamada
Hace falta enviar 'orden=poner_en_espera'.
Parámetros obligatorios:
- orden=poner_en_espera.
- 'ref' con la referencia de la llamada que se desea contestar en Voip Duocom (a partir de la versión 2.0.7) o el teléfono Cisco SPA o Yealink.
Ejemplo:
https://scgi.duocom.es/cgi-bin/oficinaweb/apivoip?principal=919828737&pass=miscret&orden=poner_en_espera&voip=902009955.1234&mac=12:34:56:78:ab:cd&ref=5123456
Quitar de espera una llamada
Hace falta enviar 'orden=quitar_de_espera'.
Parámetros obligatorios:
- orden=quitar_de_espera.
- 'ref' con la referencia de la llamada que se desea contestar en Voip Duocom (a partir de la versión 2.0.7) o el teléfono Cisco SPA o Yealink.
Ejemplo:
https://scgi.duocom.es/cgi-bin/oficinaweb/apivoip?principal=919828737&pass=miscret&orden=quitar_de_espera&voip=902009955.1234&mac=12:34:56:78:ab:cd&ref=5123456
Silenciar una llamada
(No disponible en Cisco SPA). Hace falta enviar 'orden=silenciar'.
Parámetros obligatorios:
- orden=silenciar.
- 'ref' con la referencia de la llamada que se desea contestar en Voip Duocom (a partir de la versión 2.0.7) o el teléfono Yealink.
Ejemplo:
https://scgi.duocom.es/cgi-bin/oficinaweb/apivoip?principal=919828737&pass=miscret&orden=silenciar&voip=902009955.1234&mac=12:34:56:78:ab:cd&ref=5123456
Reanudar una llamada silenciada
(No disponible en Cisco SPA). Hace falta enviar 'orden=reanudar'.
Parámetros obligatorios:
- orden=reanudar.
- 'ref' con la referencia de la llamada que se desea contestar en Voip Duocom (a partir de la versión 2.0.7) o el teléfono Yealink.
Ejemplo:
https://scgi.duocom.es/cgi-bin/oficinaweb/apivoip?principal=919828737&pass=miscret&orden=reanudar&voip=902009955.1234&mac=12:34:56:78:ab:cd&ref=5123456
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'; $mac = '12:34:56:78:ab:cd'; $voip = '902009955.1234'; $orden = 'llamar'; $telefono = '912345678'; $fd = fopen("/tmp/respuesta.txt", "w"); $curl = curl_init("https://scgi.duocom.es/cgi-bin/{{DIR_CGI}}/apivoip? principal=${usuario}&pass=${pass}&mac=${mac}&voip=${voip}&orden=${orden}&telefono=${telefono}"); // 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 Voip.