Casos de uso

Casos de éxito

Recomendamos integrar los servicios VoIP con Kommo y estamos disponibles para ofrecer consultoría. A continuación, se muestran algunas integraciones VoIP ya existentes:

  • Twilio: es una plataforma de comunicaciones en la nube que ofrece servicios de llamadas de voz y te permite conectar con clientes en todo el mundo.
  • RingCentral: una solución global de telefonía empresarial en la nube.
  • Nvoip: permite a los usuarios de Kommo gestionar toda la comunicación de voz directamente desde su CRM. Funciones como click-to-call, registro automático y recordatorios de llamadas facilitan la interacción eficiente con los leads.
  • GoTo Connect: una plataforma de comunicaciones unificadas que combina sistemas telefónicos empresariales con herramientas de reuniones y colaboración.

¡Y muchas más!

Comprende la tarea

Tu integración cumple un papel clave al conectar Kommo con un servicio VoIP. Es responsable de sincronizar datos como la configuración de la integración, los usuarios, sus permisos y extensiones. De forma opcional, tu integración también puede permitir que los usuarios realicen y reciban llamadas directamente desde Kommo.

Aunque la gestión de las llamadas lo realiza el servicio VoIP, tu integración participa al inicio y al final de cada llamada. Esto incluye acciones como iniciar o contestar una llamada, registrar los datos de la llamada y mostrar la ventana con el resultado. También puedes importar información de llamadas de manera periódica si es necesario.

La integración debe estar autorizada tanto en Kommo como en el servicio VoIP, y debe procesar todos los datos de forma segura.

Para un mejor rendimiento y un manejo de datos consistente, considera la cantidad de usuarios de la integración y utiliza colas y workers si es necesario.

Si tu integración incluye un componente UI/UX, asegúrate de que sea intuitiva y fácil de usar. Por último, si planeas publicar tu integración en el Centro de integraciones de Kommo, revisa y cumple con los Requisitos del Centro de integraciones.

Casos de uso

Estos son los requisitos que debes considerar:

Tu integración debe utilizar OAuth 2.0 to authorize with Kommo. para autorizarse con Kommo. Puedes elegir cualquier método seguro para el intercambio de claves con el servicio VoIP. Todos los tokens generados y los datos relacionados deben almacenarse de forma segura. Además, la integración debe ofrecer una interfaz para que el administrador de la cuenta configure y gestione los ajustes de la integración.

Tu integración debe registrar las llamadas entre contactos y gerentes, y vincular cada llamada con la entidad correspondiente (Contacto, Compañía o Lead) de acuerdo con las pautas de registro de llamadas.

Cuando se completa una llamada dentro de Kommo, puede mostrarse una ventana modal que permite al gerente registrar el resultado de llamada.

Al guardar una llamada, tu integración también puede adjuntar la grabación y otros datos a la nota de llamada. Kommo mostrará entonces un reproductor que permitirá a los usuarios escuchar la grabación directamente desde la interfaz, junto con los detalles de la llamada.

Si se recibe una llamada entrante desde un número desconocido, tu integración puede permitir que el gerente guarde el número como un nuevo contacto. También puede crearse automáticamente un lead entrante. Una vez que el gerente guarda el número, puede aceptar el lead, añadir una nota o crear una tarea pendiente.

'Llamada' de Lead entrante. Puede ser aceptada, rechazada o vinculada a una entidad existente.

Cuando se produce una llamada en la cuenta de un usuario, tu integración puede mostrar el nombre de quien llama junto con un enlace a la entidad asociada (por ej.: Contacto o Lead) para ofrecer contexto y mejorar la eficiencia en la comunicación.

Puedes ofrecer la posibilidad de asignar a cada gerente (usuario de la cuenta de Kommo) un número de extensión telefónica del servicio VoIP.

Cada contacto en Kommo tiene asignado un gerente responsable. Cuando se recibe una llamada entrante, tu integración puede identificar el contacto vinculado, determinar el gerente responsable y desviar automáticamente la llamada hacia él mediante el desvío inteligente de llamadas.

Kommo permite a los gerentes realizar llamadas desde cualquier tarjeta de contacto, compañía o lead con solo hacer clic en el número de teléfono dentro de la tarjeta.

Para simplificar el trabajo de los gerentes dentro de Kommo, se recomienda ofrecer la posibilidad de realizar llamadas directamente desde la cuenta de Kommo, mostrando un teclado con botones para gestionar las llamadas y ventanas para visualizarlas. También se puede mostrar una notificación sobre la llamada.

Existe la posibilidad de crear notificaciones sobre llamadas entrantes, llamadas finalizadas o mostrar errores ocurridos durante la sesión de llamadas.

Llamada entrante

Evento de error

Las tarjetas de eventos permiten abrir la tarjeta de entidad activa (según las reglas especificadas) conectada al contacto al contestar una llamada.

El SDK de Kommo te permite añadir funcionalidades adicionales a las listas de tu sistema (leads, contactos, compañías) con los elementos seleccionados, que pueden utilizarse para crear una ventana modal de ista de llamadas, implementando funciones como omitir, pausar y definir intervalos de tiempo.

Inicio del desarrollo

Antes que nada, recomendamos ampliamente separar la parte de UI/UX de la integración. A continuación, describiremos nuestra visión sobre cómo organizar las tareas asíncronas diferidas, para que tengas una mejor comprensión de lo que viene a continuación.

UI/UX

La UI/UX es un widget que contiene un archivo comprimido con los recursos que se cargan durante la creación de la integración. El widget incluye la configuración de la integración, que contiene: descripción, íconos, suscripción a eventos, definición de los alcances requeridos, ID de integración y secreto de integración. A continuación se muestra la estructura general de un widget típico que debes seguir:

  • archivos i18n
  • imágenes (images)
  • archivos de plantilla
  • script.js
  • manifest.json
  • scripts ubicados en módulos separados, pero utilizados dentro de script.js

Uno de los archivos básicos es script.js . Incluye métodos estándar para trabajar con widgets, pero lo más importante es que puedes ampliarlo según tus necesidades con funciones adicionales que extenderán la funcionalidad del sistema una vez que el widget esté instalado.

Todo el widget se representa como un objeto que incluye funciones de callback que se ejecutan bajo ciertas condiciones.

Durante el desarrollo puedes utilizar cualquier herramienta o librería; lo importante es recordar que el resultado final debe ser código JavaScript que se ejecute dentro de script.js.

Integración

Recomendamos trabajar en un entorno de desarrollo basado en MVC. Generalmente utilizamos frameworks PHP MVC como Laminas Mezzio o Laravel, y por eso describiremos todo en términos de PHP. Sin embargo, puedes usar cualquier lenguaje que prefieras y consultar nuestra documentación para comprender las ideas que presentamos.

Tu integración puede incluir modelos que representen las tablas de la base de datos, así como un módulo para manejar Kommo y las claves generadas. Dado que la UI/UX es un widget, también debes proporcionar una conexión para recibir y enviar información al frontend.

Es importante que tu integración pueda procesar una alta carga y trabajar con una gran cantidad de leads, y para esto recomendamos utilizar colas. El sistema de colas es un principio, no una tecnología específica. Las colas garantizan la escalabilidad, permitiendo aumentar la velocidad de la aplicación.

El servidor de colas mantiene una lista de tareas que la aplicación principal le envía, y esa es su única función. Una tarea es simplemente información sobre lo que se necesita hacer y cómo hacerlo. No es obligatorio utilizar una solución externa para implementar un sistema de colas; sin embargo, la simplicidad y la disponibilidad de herramientas ya preparadas permiten hacerlo más rápido, por ejemplo Beanstalkd, Apache Kafka o RabbitMQ.

Para cada caso de uso, se crea una tarea que ejecutará ese caso de uso dentro de un worker, y luego se envía a la cola. Un worker es un script independiente que revisa constantemente el servidor en busca de nuevas tareas. El worker toma una tarea de la cola y ejecuta la lógica asociada a ella.