La API de CRM fue diseñada para permitir que clientes y desarrolladores puedan integrar a la Central Telefónica 3CX con aplicaciones CRM. Básicamente utilizando esta API puede:
- Iniciar llamadas salientes desde su aplicación
- Obtener notificaciones sobre la duración de una llamada
- Obtener notificaciones sobre llamadas entrantes y mostrar los registros de contactos en función del ID del llamante
Esta API utiliza 3CX Mi Teléfono, y como tal requiere que éste se encuentre instalado localmente (incluyendo los componentes de escritorio) en la PC donde quiera utilizar la API de CRM.
La comunicación entre 3CX Mi Teléfono y su aplicación es realizada mediante la ejecución de aplicaciones con varias opciones. Estas se encuentran documentadas abajo.
Notificación de llamada entrante
La sintaxis de línea de comando que utiliza 3CX Mi Teléfono para llamar al ejecutable del CRM para notificar eventos relacionados con una llamada es la siguiente:
<crm program>.exe /N:NotificationType [/C:CallerId] [/T:CallType] /I:CallId
donde <crm program>.exe es la ruta completa hasta su aplicación.
Esta ruta debe ser configurada en el registro de Windows para que 3CX Mi Teléfono pueda invocarla. El valor a crear en el registro de Windows es de tipo REG_SZ: “HKLMSoftware3CXCRMCallNotifierPath”.
NotificationTypes:
- S = Call Started (Inicio de llamada)
- C = Call Connected (Llamada atendida)
- E = Call Ended (Fin de llamada)
CallType:
- I = Inbound Call (Llamada entrante)
- O = Outbound Call(Llamada saliente)
CallerId es obligatorio cuando NotificationType=Call Started
CallType es obligatorio cuando NotificationType=Call Connected o Call Ended
Para llamadas entrantes, 3CX Mi Teléfono puede lanzar al ejecutable 2 o 3 veces:
1) Cuando la llamada entrante se inicia:
<crm program>.exe /N:S /C:CallerId /T:I /I:CallId
Nota: el CallerId es idéntico al texto recibido desde su operador telefónico.
Nota: el CallId es el identificador de la llamada generado por la Central Telefónica 3CX.
2) Cuando la llamada entrante es atendida (opcional):
<crm program>.exe /N:C /T:I /I:CallId
Nota: el Callid es el mismo que fue informado cuando se notificó el inicio de la llamada.
3) Cuando la llamada entrante es terminada, haya sido atendida o no:
<crm program>.exe /N:E /T:I /I:CallId
Nota: el Callid es el mismo que fue informado cuando se notificó el inicio de la llamada.
Iniciando llamadas salientes
Para hacer llamadas salientes, 3CX Mi Teléfono debe ser llamado desde la línea de comandos para indicarle a la PBX que debe realizar una llamada saliente desde la extensión que se encuentra configurada en esa instancia de 3CX Mi Teléfono. Por ejemplo, para llamar al número 12345678 deberá ejecutar:
<myphone call notifier>.exe -cmd makecall:12345678
donde <myphone call notifier>.exe es la ruta completa a la aplicación MyPhone Call Notifier, la cual puede ser obtenida desde el registro de Windows, como el siguiente valor REG_SZ: “HKLMSoftware3CXMyPhoneCallNotifier”.
Notas:
- “makecall:” diferencia mayúsculas y minúsculas, y debe estar en minúsculas.
- MyPhone debe estar corriendo, caso contrario se mostrará un mensaje de error.
- Esto funciona solo en las versiones pagas de la Central Telefónica 3CX.
Esto le indicará a la PBX que realice una llamada saliente al número indicado y la conecte a la extensión que se encuentra configurada en esa instancia de 3CX Mi Teléfono. El usuario oirá el mensaje que indica que la llamada está siendo transferida.
Notificación de llamada saliente
3CX Mi Teléfono notificará a la aplicación CRM sobre el resultado de la llamada saliente, de la siguiente manera:
1) Cuando la llamada saliente está siendo marcada:
<crm program>.exe /N:S /T:O /I:CallId
Nota: el CallId es el identificador de la llamada generado por la Central Telefónica 3CX.
2) Cuando la llamada saliente es atendida (opcional):
<crm program>.exe /N:C /T:O /I:CallId
Nota: el CallId es el mismo que fue informado cuando se notificó que la llamada saliente se estaba marcando.
3) Cuando la llamada saliente es terminada (atendida o no):
<crm program>.exe /N:E /T:O /I:CallId
Nota: el CallId es el mismo que fue informado cuando se notificó que la llamada saliente se estaba marcando.



