Gracias a API puedes ofrecer a tus clientes los servicios de telefonía sin necesidad de registrarlos en Zadarma. Además, los clientes puedes ofrecer los servicios de telefonía bajo tu propia marca (Whitelabel).
Es más, puedes ofrecer los servicios de telefonía no como un servicio independiente sino como parte de tu sistema con el que la telefonía estará integrada de forma muy estrecha.
En resumen, tus clientes podrán emitir y recibir llamadas desde tu interfaz web haciendo uso de la centralita de Zadarma y más.
Todas las posibilidades y métodos de API Zadarma
Para trabajar con los métodos descritos es necesario obtener el acceso al área personal del socio de Zadarma. Si aún no lo tienes abre un ticket al Departamento Financiero.
Posibilidades de la integración:
- Creación de nuevas cuentas de usuarios Zadarma desde la cuenta madre del socio y gestión de esas cuentas
- Transferencia de saldo entre socio y cuentas asociadas
- Conecxión de números virtuales
- Activación y configuración de la centralita virtual
- Obtención de claves API de cuentas de usuarios
- Configuración de enlace webhook para gestión de llamadas entrantes en la centralita
- Creación de widgets WebRTC para cuentas de usuarios, etc
Secuencia de pasos para conectar la telefonía a tu cliente:
1. El registro del usuario (creación de nueva cuenta Zadarma) se realiza por el método POST /v1/reseller/users/registration/new/
Para finalizar el registro del usuario se requiere la confirmación del registro por el método POST /v1/reseller/users/registration/confirm/
Para obtener el saldo de bienvenida y la posibilidad de recargar la cuenta es necesario añadir y confirmar el número de teléfono de contacto del usuario. Para agregar el número de teléfono de contacto se emplea el método POST /v1/reseller/users/phones/add/ .
Para confirmar el número de teléfono enviamos el SMS con el código /v1/reseller/users/phones/prove_by_sms, el usuario inserta el código en tu sitio web y se tú lo transfieres por el método /v1/reseller/users/phones/confirm .
2. La transferencia de saldo desde el balance del socio al balance de la cuenta de usuario se realiza con el método GET /v1/reseller/users/topup/ .
3. La conexión de números virtuales se describe detalladamente aquí, simplemente añade al método el parámetro user_id con el identificador de usuario para el que se realiza la acción (Conexión del número, carga de documentos, etc).
4. Con el método POST /v1/pbx/create/ puedes crear la centralita virtual Zadarma para tu usuario.
5. Agrega una extensión de la centralita a cada usuario mediante el método POST /v1/pbx/internal/create/ .
Activa la grabación de llamadas en la nube en la extensión a través del método PUT /v1/pbx/internal/recording/ .
6. Para la distribución de las llamadas entrantes en la centralita existen los menús IVR y escenarios (grupos de extensiones que recibirán las llamadas). Método /v1/pbx/create/ crea la centralita con los ajustes mínimos: 1 extensión y 1 escenario "sin pulsar" (que recibirá las llamadas por defecto) Más adelante puedes crear la cantidad de menús deseada y escenarios dentro de cada menú.
Los escenarios también son necesarios en la gestión dinámica del menú de voz en caso de que desees enviar las llamadas de forma simultánea a más de una extensión. Para agregar un nuevo escenario usa el método /v1/pbx/ivr/scenario/create/ , para ver el listado /v1/pbx/ivr/scenario/ y para eliminar /v1/pbx/ivr/scenario/delete/ . Al crear el escenario se establece el listado de extensiones a las que llamar y el botón al pulsar el cual se aplicará el escenario. Si tienes pensado no establecer el botón en los ajustes sino usar el menú dinámico establece el parámetro push_button superior a 11.
7. El archivo de audio para el menú IVR se puede cargar a la centralita con el método POST /v1/pbx/ivr/sounds/upload . El tamaño de los archivos de audio - hasta 5 MB, formatos soportados - MP3, WAV
8. Acceso a API. El usuario puede usar API para trabajar con su cuenta o para la integración con sistemas de CRM o servicios externos. Para ello debe generar las claves. El acceso a API, el usuario puede generar las claves en su área personal por su cuenta o el socio puede obtener esas claves usando el método POST /v1/reseller/users/api_key/ con los parámetros user_id - id de usuario. La respuesta contendrá "key" y "secret" del usuario para el acceso a su API.
También se puede establecer la url a la que se enviarán las notificaciones de las llamadas de la centralita del usuario mediante el método POST /v1/pbx/callinfo/url/ y otra url para otras notificaciones (Actualización de contactos, Calltracking, SMS y Analítica de voz) usando el método POST /v1/pbx/webhooks/url/, los parámetros son iguales para ambas solicitudes url - enlace y user_id- id de usuario.
9. Para la gestión dinámica del menú de voz y llamadas entrantes del cliente puedes hacer uso de la biblioteca PHP preparada disponible en nuestro Github o implementar una solución propia utilizando nuestro sistema de notificaciones de llamadas, más información aquí.
10. Para la integración con la centralita virtual con un CRM externo encontrarás las instrucciones aquí.
11. Para realizar llamadas del cliente desde tu interfaz web utiliza el widget WebRTC según las instrucciones. También puedes ofrecer conectar cualquier aplicación o equipo en base a protocolo SIP. Los parámetros para su registro (usuario, contraseña) se pueden obtener utilizando los métodos /v1/pbx/internal/