FoneMa dispone de una API que le permite acceder a la información de su cuenta y realizar diversas operaciones desde sus propias aplicaciones.

Uso

La API se invoca mediante peticiones HTTP.

En los métodos GET los parámetros se deben indicar codificados en la URL y en los POST en formato JSON en el cuerpo de la petición HTTP.

Las respuestas se devuelven codificadas en JSON en el cuerpo de la respuesta.

La API requiere autenticación con un usuario y contraseña que son los mismos de acceso a la aplicación. El método login devuelve un token que es necesario proporcionar en una cabecera HTTP en el resto de peticiones:

Authorization: bearer “token”

 

Índice de métodos

Autenticación

login

Gestión de usuarios

getUsers
getUser
addUser
editUser
removeUser
setAdmin
changePassword

Encuéntrame

getReachMe
addReachMe
modifyReachMe
removeReachMe
modifyReachMeConfig

Gestión de numeración

getDIDs
getDIDCountries
getDIDStates
getDIDGroups
buyDID
cancelDID

Números personales

assignDID
unassignDID

Presencia

getNotifications
changePresenceStatus

Llamadas

makeCall
isOnCall
transferCall
revertTransfer
hangupCall
getCallsPost
getCallRecord

Buzones de voz

modifyUsersVoicemail
toggleVoiceMail
saveVoiceMailPin
addToVoicemail
getVoiceMailMessages
deleteVoiceMailMessages
playVoiceMailMessage
archiveVoiceMailMessage

Configuración

getRingGroup
getRingGroups
modifyRingGroup
addToRingGroup
getTimeSchedules
modifyTimeSchedule
switchTimeSchedule
addTimeSchedule
deleteTimeSchedule
changeTimezone
uploadWaitMusic
getMusicOnHold
changeMusicOnHold
modifyPublicNumberTone
getLocutions
modifyLocution
getVoiceMail
modifyVoiceMail
modifyUsersVoiceMail
getCallRecordingConfig
modifyCallRecordingConfig
getMissedCallsNotification
modifyMissedCallNotification

Grupos

addGroup
deleteRingGroup
editGroup

Locuciones

getSounds
uploadSound
getVoices
setVoiceText

Informes

getKPIs

General

getLangs
getCallerIds

Clientes de ejemplo

PHP

Autenticación

login – GET


Este método permite obtener un token necesario para autenticar en el resto de métodos a partir del usuario y contraseña.

parámetros:

  • login: nombre de usuario con el que desea acceder a la API
  • password: contraseña del usuario

valores devueltos:

  • En caso de éxito, un JSON con el objeto response y la cadena token (response.token) que necesitará para acceder al resto de métodos.

 

 

Gestión de usuarios

 

getUsers – GET


Devuelve la lista de usuarios de la cuenta

permisos:

  • Administrador

parámetros:

  • Sin parámetros

valores devueltos:

  • Devuelve un array de objetos User con las siguientes propiedades:
    • id: identificador del usuario
    • firstName: nombre del usuario
    • lastName: apellidos del usuario
    • name: nombre compuesto del usuario
    • email: dirección de email del usuario
    • login: identificador del login del usuario
    • extNumber: número de extensión
    • isAdmin: booleano indicando si el usuario tiene permisos de administrador o no
    • lang: idioma del usuario (es_ES o en_US)
    • timeZone: zona horaria del usuario
    • hasDefaultBond: booleano indicando si el usuario tiene bono de minutos o no

 

getUser – GET


Devuelve información ampliada sobre un usuario en concreto

permisos:

  • Administrador o el propio usuario (restringido a sus propios datos)

parámetros:

  • userId: id del usuario a consultar

valores devueltos:

  • Devuelve un objeto User con las siguientes propiedades:
    • id: identificador del usuario
    • firstName: nombre del usuario
    • lastName: apellidos del usuario
    • email: dirección de email del usuario
    • login: identificador del login del usuario
    • extNumber: número de extensión
    • isAdmin: booleano indicando si el usuario tiene permisos de administrador o no
    • lang: idioma del usuario (es_ES o en_US)
    • timeZone: zona horaria del usuario
    • hasDefaultBond: booleano indicando si el usuario tiene bono de minutos o no
    • dominio: dominio de acceso del usuario
    • defaultCallerId: identificador de llamadas por defecto para el usuario
    • mobileType: forma de hacer las llamadas a través de la app con el móvil (none/callback/gsm)
    • callbackDirect: booleano, si el tipo de llamada es callback indica si si se iniciará la llamada desde el móvil (true) o si la centralita la iniciará hacia el móvil (false)
    • mobileNumber: número del teléfono móvil del usuario
    • reachMeMode: indica la forma de llamar al ReachMe del usuario (sequential/ringall)
    • recordOutgoing: booleano indicando si las llamadas salientes deben ser grabadas
    • voiceMail: booleano indicando si el buzón de voz del usuario está activo
    • voiceMailPin: PIN de acceso al buzón de voz

 

addUser – POST


Añade un nuevo usuario

permisos:

  • Administrador

parámetros:

  • extNumber: número de extensión
  • firstName: nombre del usuario
  • lastName: apellidos del usuario
  • email: email del usuario
  • mobileType: forma de hacer las llamadas a través de la app con el móvil (none/callback/gsm)
  • mobileNumber: número del teléfono móvil del usuario
  • callbackDirect: booleano, si el tipo de llamada es callback indica si si se iniciará la llamada desde el móvil (true) o si la centralita la iniciará hacia el móvil (false)
  • defaultCallerId: identificador de llamadas por defecto para el usuario
  • lang: idioma del usuario (es_ES o en_US)
  • timeZone: zona horaria del usuario
  • isAdmin: booleano indicando si el usuario tiene permisos de administrador o no
  • recordOutgoing: booleano indicando si las llamadas salientes deben ser grabadas
  • password: contraseña del usuario
  • hasDefaultBond: booleano indicando si el usuario tendrá bono de llamadas
  • verificationCode: código de verificación SMS del número móvil del usuario

valores devueltos:

  • Código de respuesta
    • id: identificador del usuario

 

editUser – POST


Edita los datos de un usuario

permisos:

  • Administrador o el propio usuario (restringido a sus propios datos)

parámetros:

  • userId: identificador del usuario
  • extNumber: número de extensión
  • firstName: nombre del usuario
  • lastName: apellidos del usuario
  • email: email del usuario
  • mobileType: forma de hacer las llamadas a través de la app con el móvil (none/callback/gsm)
  • mobileNumber: número del teléfono móvil del usuario
  • callbackDirect: booleano, si el tipo de llamada es callback indica si si se iniciará la llamada desde el móvil (true) o si la centralita la iniciará hacia el móvil (false)
  • defaultCallerId: identificador de llamadas por defecto para el usuario
  • lang: idioma del usuario (es_ES o en_US)
  • timeZone: zona horaria del usuario
  • isAdmin: booleano indicando si el usuario tiene permisos de administrador o no
  • recordOutgoing: booleano indicando si las llamadas salientes deben ser grabadas
  • hasDefaultBond: booleano indicando si el usuario tendrá bono de llamadas
  • verificationCode: código de verificación SMS del número móvil del usuario

valores devueltos:

  • Código de respuesta y token si es necesario actualizarlo
    • token: nuevo token del usuario

 

removeUser – POST


Elimina un usuario

permisos:

  • Administrador

parámetros:

  • userId: identificador del usuario

valores devueltos:

  • Código de respuesta

 

setAdmin – POST


Añade o quita el permiso de administrador a un usuario

permisos:

  • Administrador

parámetros:

  • userId: identificador del usuario
  • isAdmin: booleano indicando si el usuario es administrador o no

valores devueltos:

  • Código de respuesta

 

changePassword – POST


Modifica la contraseña de un usuario

permisos:

  • Administrador o el propio usuario (restringido a sus propios datos)

parámetros:

  • userId: identificador del usuario
  • newPassword: nueva contraseña

valores devueltos:

  • Código de respuesta

 

Encuéntrame

 

getReachMe – GET


Obtiene la configuración ReachMe de un usuario

permisos:

  • Administrador o el propio usuario (restringido a sus propios datos)

parámetros:

  • userId: identificador del usuario

valores devueltos:

Devuelve un array de objetos ReachMe con los dispositivos a los que se llamará para localizar al usuario

  • id: identificador del ReachMe
  • enabled: booleano indicando si está activado o no
  • priority: en caso de estar en modo secuencial, el orden en el que se llamará a este ReachMe
  • timeToRing: tiempo en segundos que se intentará llamar a este ReachMe
  • type: tipo del Reachme (sip/mobile/external/emergency)
  • value: si el tipo es mobile, external o emergency, el número de teléfono al que se llamará

 

 

addReachMe – POST


Añade un nuevo ReachMe al usuario

permisos:

  • Administrador o el propio usuario (restringido a sus propios datos)

parámetros:

  • userId: identificador del usuario
  • timeToRing: tiempo en segundos que se intentará llamar a este ReachMe
  • type: tipo del Reachme (sip/mobile/external/emergency)
  • value: si el tipo es mobile, external o emergency, el número de teléfono al que se llamará

valores devueltos:

Devuelve un código de respuesta

 

modifyReachMe – POST


Modifica un ReachMe del usuario

permisos:

  • Administrador o el propio usuario (restringido a sus propios datos)

parámetros:

  • userId: identificador del usuario
  • reachMeId: identificador del ReachMe
  • enabled: booleano indicando si está activado o no
  • priority: en caso de estar en modo secuencial, el orden en el que se llamará a este ReachMe
  • timeToRing: tiempo en segundos que se intentará llamar a este ReachMe
  • type: tipo del Reachme (sip/mobile/external/emergency)
  • value: si el tipo es mobile, external o emergency, el número de teléfono al que se llamará

valores devueltos:

Devuelve un código de respuesta

 

removeReachMe – POST


Modifica un ReachMe del usuario

permisos:

  • Administrador o el propio usuario (restringido a sus propios datos)

parámetros:

  • userId: identificador del usuario
  • reachMeId: identificador del ReachMe

valores devueltos:

Devuelve un código de respuesta

 

modifyReachMeConfig – POST


Modifica la configuración ReachMe de un usuario

permisos:

  • Administrador o el propio usuario (restringido a sus propios datos)

parámetros:

  • userId: identificador del usuario
  • reachMes: array con los objetos ReachMe del usuario
  • recordOutgoing: indica si el usuario grabará sus llamadas salientes
  • reachMeMode: forma de llamar a los ReachMe del usuario (sequential/ringall)

valores devueltos:

Devuelve un código de respuesta

 

Gestión de numeración

 

getDIDs – GET


Devuelve una lista de la numeración asignada a la cuenta.

permisos:

  • Administrador

parámetros:

  • Sin parámetros

valores devueltos:

  • Devuelve un array de objetos DID con las siguientes propiedades:
    • id: identificador del DID
    • number: número en formato E164
    • type: general ó personal
    • user: General si el número es general, o el nombre y número de extensión del usuario al que pertenece el número si es personal
    • description: descripción de la zona la que pertenece el DID
    • created: fecha de alta del DID
    • monthlyCost: precio mensual del DID

 

getDIDCountries – GET


Devuelve una lista de los países con numeración disponible.

permisos:

  • Administrador

parámetros:

  • type: tipo de la numeración. Uno de los siguientes valores:
    • GEOGRAPHIC: mostrar sólo países con numeración geográfica
    • TOLL_FREE: mostrar sólo países con numeración de coste gratuito para el llamante
    • NATIONAL: mostrar sólo países con numeración nacional
    • MOBILE: mostrar sólo países con numeración móvil
    • SHARED_COST: mostrar sólo países con numeración de coste compartido

valores devueltos:

  • Devuelve un array de objetos Country con la siguientes propiedades:
    • countryCodeA3: código del país
    • countryName: nombre del país
    • phoneCode: prefijo internacional del país
    • hasStates: 1 sí la numeración está organizada por estados (será necesario consultar el método getDIDStates para obtener el listado de estados).
    • hasRegulationRequirement: 1 si el país tiene regulación para la compra de numeración.

 

getDIDStates – GET


Devuelve la lista de estados de un país (sólo para países que tienen el campo hasStates a 1).

permisos:

  • Administrador

parámetros:

  • countryId: identificador countryCodeA3 del país del que se quieren obtener los estados (devuelto por el método getDIDCountries)

valores devueltos:

  • Devuelve un array de objetos State con las siguiente propiedades:
    • stateId: identificador numérico del estado
    • stateName: nombre del estado
    • stateCode: código del estado
    • countryCodeA3: código del país al que pertenece el estado

 

getDIDGroups – GET


Devuelve una lista de las zonas específicas de un país/tipo/estado de donde se puede adquirir numeración.

permisos:

  • Administrador

parámetros:

  • countryId: identificador countryCodeA3 del país del que se quieren obtener los estados (devuelto por el método getDIDCountries)
  • type: tipo de la numeración. Uno de los siguientes valores:
    • GEOGRAPHIC: mostrar sólo países con numeración geográfica
    • TOLL_FREE: mostrar sólo países con numeración de coste gratuito para el llamante
    • NATIONAL: mostrar sólo países con numeración nacional
    • MOBILE: mostrar sólo países con numeración móvil
    • SHARED_COST: mostrar sólo países con numeración de coste compartido
  • stateId: si el país tiene estados, uno de los identificadores devueltos por el método getDIDStates

valores devueltos:

  • Devuelve un array de objetos DIDGroup con las siguiente propiedades:
    • didGroupId: identificador numérico del grupo
    • cityName: nombre de la ciudad a la que pertenece el grupo
    • stock: cantidad de numeración disponible en stock
    • countryCodeA3: identificador del país al que pertenece el grupo
    • areaCode: prefijo telefónico de la numeración del grupo
    • setup100: precio de alta de la numeración del grupo (multiplicada por 100)
    • monthly100: precio mensual de la numeración del grupo (multiplicada por 100)
    • regulationRequirement: indica si existe regulación para el grupo de numeración. Si una dirección es necesario, la propiedad addressType tendrá los siguientes valores:
      • WORLDWIDE: es necesario indicar una dirección en cualquier país
      • NATIONAL: es necesario indicar una dirección en el país del grupo de numeración
      • LOCAL: es necesario indicar una dirección en la zona geográfica del grupo
      • Si además es necesario aportar una prueba para la dirección, se indicará en el campo proofRequired
    • available: indica si la numeración está disponible
    • description: descripción de la ciudad y prefijo

 

buyDID – POST


Realiza la compra de un número de un grupo determinado

permisos:

  • Administrador

parámetros:

  • countryId: identificador countryCodeA3 del país del que se quieren obtener los estados (devuelto por el método getDIDCountries)
  • type: tipo de la numeración. Uno de los siguientes valores:
    • GEOGRAPHIC: mostrar sólo países con numeración geográfica
    • TOLL_FREE: mostrar sólo países con numeración de coste gratuito para el llamante
    • NATIONAL: mostrar sólo países con numeración nacional
    • MOBILE: mostrar sólo países con numeración móvil
    • SHARED_COST: mostrar sólo países con numeración de coste compartido
  • stateId: si el país tiene estados, uno de los identificadores devueltos por el método getDIDStates
  • didGroupId: identificador del grupo obtenido del método getDIDGroups

valores devueltos:

  • Devuelve el identificador numérico del DID adquirido.

 

cancelDID – POST


Da de baja en la cuenta un número de teléfono.

permisos:

  • Administrador

parámetros:

  • didId: identificador numérico del DID (devuelto por buyDID o por getDIDs)

valores devueltos:

  • Devuelve OK en caso de éxito o un error 500 en caso de fallo.

 

Números personales

 

assignDID – POST


Asigna un número a un usuario para uso personal

permisos:

  • Administrador

parámetros:

  • userId: identificador del usuario
  • number: número en formato E164 (sin el símbolo +)

valores devueltos:a

  • Devuelve OK en caso de éxito o un error 500 en caso de fallo.

 

unAssignDID – POST


Desasigna un número personal al usuario que lo tuviese asignado

permisos:

  • Administrador

parámetros:

  • number: número en formato E164 (sin el símbolo +)

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

Presencia

 

getNotifications – GET


Obtiene información sobre el estado de un usuario

permisos:

  • Usuario

parámetros:

Ninguno

valores devueltos:

  • presenceStatus: el estado de presencia actual del usuario

 

changePresenceStatus – POST


Cambia el estado de presencia de un usuario

permisos:

  • Usuario

parámetros:

  • userId: id del usuario al que cambiar la presencia
  • status: el estado nuevo a asignar al usuario (online/away/dnd/offline)

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

Llamadas

 

makeCall – POST


Realiza una llamada entre un usuario y el número que se especifique

permisos:

  • Usuario

parámetros:

  • number: número de destino a llamar
  • callerId: identificador de llamada a utilizar
  • v: se ha indicar “2.0” para utilizar la versión 2 del backend

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

isOnCall – GET


Comprueba si un usuario está en una llamada

permisos:

  • Usuario

parámetros:

  • Ninguno

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.
  • uuid: identificador único de la llamada en curso

 

transferCall – POST


Realiza una transferencia atendida de una llamada en curso a otro usuario

permisos:

  • Usuario

parámetros:

  • uuid: identificador de la llamada a transferir
  • to: número de extensión del usuario al que se desea transferir la llamada

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

revertTransfer – POST


Cancela una transferencia en curso y devuelve la llamada al llamante original

permisos:

  • Usuario

parámetros:

  • uuid: identificador de la llamada en la que cancelar la transferencia

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

hangupCall – POST


Cuelga una llamada en curso

permisos:

  • Usuario

parámetros:

  • uuid: identificador de la llamada a colgar

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

getCallsPost – POST


Obtiene el listado de llamadas de un usuario

permisos:

  • Usuario

parámetros:

  • userId: identificador del usuario del que obtener las llamadas. Si es 0, se obtendrá de todos los usuarios. Si es R$idgrupo, obtendrá las llamadas de un grupo en concreto
  • searchTerm: término de búsqueda para filtrar las llmadas
  • fechaInicio: filtrado por fecha de inicio en formato YYYY-MM-DD
  • fechaFin: filtrado por fecha de fin en formato YYYY-MM-DD
  • exportacion: si se desea exportar el listado en otro formato se puede indicar con este parámetro (pdf/csv/zip)
  • tipo: filtrado por tipo de llamada (incoming/outgoing/internal). Si es vacío es obtendrán todo tipo de llamadas.
  • pagina: obtiene la siguiente página de resultados

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Los valores devueltos en un JSON son los siguientes:
  • llamadas: array de objetos JSON con la siguientes parámetros:
    • Id: identificador de la llamada
    • Cost: coste de la llamada
    • Callerid: identificador del llamante o llamado
    • Callid: identificador SIP de la llamada
    • Date: fecha y hora de la llamada
    • Direction: tipo de llamada (Incoming/Outgoing/Internal)
    • Disposition: estado en el que quedó la llamada (not-available si el usuario no estaba disponible, noanswer si no fue atendida, cancel si la canceló quién la originó, call-limit si el llamado tenía limitación de llamadas simultáneas, busy si el llamado estaba ocupado, answer si la llamada fue respondida)
    • Src: número del llamante
    • Dst: número del llamado
    • Duration: duración total de la llamada en segundos
    • Recorded: 1/0 dependiendo de si la llamada fue grabada
    • Searchable: etiquetas añadidas a la llamada separadas por el caracter |
    • Transcription: en caso de tener habilitada la transcripción de llamadas a texto, el texto correspondiente
    • WhoHanged: indica quién colgó la llamada (caller/callee)
    • callerIdSrc: identificador del llamante con nombre si ha podido encontrase el número en algún sistema de contactos (CRM, agenda, etc.)
    • callerIdDst: identificador del llamado con nombre si ha podido encontrase el número en algún sistema de contactos (CRM, agenda, etc.)
    • ringGroup: nombre del grupo al que pertenece la llamada
    • subCalls: array de objetos JSON con cada una de las subllamadas que comprende la llamada principal. Cada uno tiene las siguiente propiedades:
      • Id: identificador de la subllamada
      • Cost: coste de la subllamada
      • Called: número al que se llamó en la subllamada
      • CalledType: indica el medio por el cual se realizó la subllamada (sip/voicemail/external/sip-mobile/api/callback/callback-direct/c2c/outcallcomp)
      • Date: fecha y hora de la subllamada
      • Direction: tipo de subllamada (incoming/outgoing/internal)
      • Disposition: estado en el que quedó la subllamada (not-available si el usuario no estaba disponible, noanswer si no fue atendida, cancel si la canceló quién la originó, call-limit si el llamado tenía limitación de llamadas simultáneas, busy si el llamado estaba ocupado, answer si la llamada fue respondida)
      • Duration: duración de la subllamada
      • KenkeniSrcUsersId: si la subllamada fue originada por un usuario, indica el id del usuario
      • KenkeniDstUsersId: si un usuario era el destinatario de una subllamada, indica el id del usuario
      • Transfered: si la llamada fue transferida indica el transferido, transfiriente y destino en los campos transferor, transferee y target.

 

getCallRecord – GET


Obtiene la grabación de una llamada

permisos:

  • Administrador

parámetros:

  • callId: identificador de la llamada

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Devuelve en el contenido la grabación de la llamada en formato FLAC.

 

Buzones de voz

 

modifyUsersVoiceMail – POST


Modifica que usuarios tienen acceso al contestador automático de un grupo

permisos:

  • Administrador

parámetros:

  • id: identificador del grupo para el cual se modificará qué usuarios tienen permiso de acceso al contestador automático
  • users: array de ids de usuarios que tienen acceso al contestador automático

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

toggleVoiceMail – POST


Activa o desactiva el buzón de voz de un usuario

permisos:

  • Administrador o el propio usuario (restringido a sus propios datos)

parámetros:

  • kenkeniUserId: identificador del usuario para el cual se cambiará el estado del buzón de voz
  • numExt: número de extensión del usuario

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

saveVoiceMailPin – POST


Modifica el PIN de acceso al buzón de voz de un usuario

permisos:

  • Administrador o el propio usuario (restringido a sus propios datos)

parámetros:

  • kenkeniUserId: identificador del usuario para el cual se cambiará el estado del buzón de voz
  • numExt: número de extensión del usuario
  • pin: nuevo PIN a asignar al buzón de voz del usuario

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

addToVoicemail – POST


Asigna permiso de acceso al contestador de un grupo a un usuario

permisos:

  • Administrador

parámetros:

  • userId: identificador del usuario para el cual se añadirá acceso al contestador del grupo
  • ringGroupId: identificador del grupo

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

getVoiceMailMessages – POST


Obtiene un listado de los mensajes de un buzón de voz del usuario o del contestador general de un grupo

permisos:

  • Usuario

parámetros:

  • fechaInicio: filtro por fecha de inicio para búsqueda de mensajes en formato YYYY-MM-DD
  • fechaFin: filtro por fecha de de fin para búsqueda de mensajes en formato YYYY-MM-DD
  • folder: carpeta en la que se buscarán los mensajes, bien los nuevos o los archivados (inbox/old)
  • general: si es 0 se devolverán los mensajes del buzón de voz del usuario. Si se pasa el nombre del grupo, se devolverán los mensajes del contestador correspondiente
  • pagina: número de página a partir de la cual se devolverán los resultados

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Los valores devueltos en un JSON son los siguientes:
  • filasPorPagina: número de valores devueltos
  • mensajes: array de objetos con las siguientes propiedades:
    • callerid: nombre del llamante que dejó el mensaje en el buzón de voz y número. En formato “Nombre <número>”
    • date: fecha del mensaje en formato UNIX timestamp
    • id: identificador del mensaje
    • tags: etiquetas
  • totalMensajes: número total de mensajes existentes con los filtros seleccionados

 

deleteVoiceMailMessages – POST


Borra un mensaje de un buzón de voz o contestador general

permisos:

  • Usuario

parámetros:

  • id: identificador del mensaje
  • general: si el mensaje está en el buzón de voz del usuario se ha de pasar vacío y si está en el contestador de un grupo, el nombre del grupo

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

playVoiceMailMessage – GET


Obtiene el audio de un mensaje de buzón de voz

permisos:

  • Usuario

parámetros:

  • token: token del usuario
  • messageId: identificador del mensaje
  • download: 0 o 1 dependiendo de si se quiere reproducir o descargar
  • buzon: si el mensaje está en el buzón de voz del usuario se ha de pasar vacío y si está en el contestador de un grupo, el nombre del grupo

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

archiveVoiceMailMessage – POST


Archiva un mensaje en la carpeta de mensajes viejos

permisos:

  • Usuario

parámetros:

  • id: identificador del mensaje
  • buzon: si el mensaje está en el buzón de voz del usuario se ha de pasar vacío y si está en el contestador de un grupo, el nombre del grupo

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

Configuración

 

getRingGroups – GET


Devuelve un listado de los grupos

permisos:

  • Administrador

parámetros:

  • Ninguno

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Los valores devueltos en un JSON son los siguientes:
  • Id: identificador del grupo
  • Name: nombre del grupo
  • Announce: nombre de la locución periódica que se reproduce en la cola de “manténgase a la espera”
  • AnnounceTime: cada cuánto tiempo se reproduce la locución de “manténgase a la espera”
  • Dids: array de números asignados al grupo
  • GroupOutgoingType: qué identificador de llamada se utiliza en las llamadas salientes desde este grupo cuando provienen de una llamada entrante: caller-number (número del llamante), fixed-number (un DID en concreto), called-did (el DID al que se llamó).
  • GroupOutgoingCallerId: si GroupOutgoingType es fixed-number, indica cuál es el DID que se utilizará
  • LocutionEnabled: indica si el grupo tiene el whisper activado o no
  • LocutionId: si la locución está activada, el identificador del sonido
  • Members: array de objetos con los usuarios que pertenecen al grupo. Tienen las siguientes propiedades:
    • id: id de usuario
    • type: el valor user
  • MissedCallsEmail: el email al que se enviarán las notificaciones de llamadas perdidas
  • Policy: política de recepción de llamadas de la cola (ringall/rrmemory/leastrecent/fewestcalls/random)
  • Priority: prioridad de la cola (low/medium/high/critical)
  • PublicNumberTone: indica si se reproduce música en espera o tono de ringing cuando se recibe una llamada (moh/ringnoanswer)
  • RecordIncoming: indica si se graban las llamadas entrantes o no (true/false)
  • Tag: etiqueta del grupo
  • TimeZone: zona horaria del grupo
  • Timeout: tiempo máximo de espera en la cola

 

 

getRingGroup – GET


Obtiene información sobre un grupo

permisos:

  • Administrador

parámetros:

  • id: identificador del grupo

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Los valores devueltos en un JSON son los siguientes:
  • Id: identificador del grupo
  • Name: nombre del grupo
  • Announce: nombre de la locución periódica que se reproduce en la cola de “manténgase a la espera”
  • AnnounceTime: cada cuánto tiempo se reproduce la locución de “manténgase a la espera”
  • Dids: array de números asignados al grupo
  • GroupOutgoingType: qué identificador de llamada se utiliza en las llamadas salientes desde este grupo cuando provienen de una llamada entrante: caller-number (número del llamante), fixed-number (un DID en concreto), called-did (el DID al que se llamó).
  • GroupOutgoingCallerId: si GroupOutgoingType es fixed-number, indica cuál es el DID que se utilizará
  • LocutionEnabled: indica si el grupo tiene el whisper activado o no
  • LocutionId: si la locución está activada, el identificador del sonido
  • Members: array de objetos con los usuarios que pertenecen al grupo. Tienen las siguientes propiedades:
    • id: id de usuario
    • type: el valor user
  • MissedCallsEmail: el email al que se enviarán las notificaciones de llamadas perdidas
  • Policy: política de recepción de llamadas de la cola (ringall/rrmemory/leastrecent/fewestcalls/random)
  • Priority: prioridad de la cola (low/medium/high/critical)
  • PublicNumberTone: indica si se reproduce música en espera o tono de ringing cuando se recibe una llamada (moh/ringnoanswer)
  • RecordIncoming: indica si se graban las llamadas entrantes o no (true/false)
  • Tag: etiqueta del grupo
  • TimeZone: zona horaria del grupo
  • Timeout: tiempo máximo de espera en la cola

 

modifyRingGroup – POST


Modifica los datos de un grupo

permisos:

  • Administrador

parámetros:

  • id: identificador del grupo
  • name: nuevo nombre del grupo
  • members: array de usuarios que pertenecen al grupo. Cada usuario tienen los siguientes parámetros:
    • id: id del usuario
    • type: el valor “user”
  • policy: política de la cola (ringall/rrmemory/leastrecent/fewestcalls/random)
  • priority: prioridad de la cola (low/medium/high/critical)
  • timeout: tiempo máximo de espera en la cola

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

addToRingGroup – POST


Añade un usuario a un grupo

permisos:

  • Administrador

parámetros:

  • userId: id del usuario
  • ringGroupId: id del grupo al que añadir el usuario

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo

 

 

getTimeSchedules – POST


Obtiene los horarios y festivos de un grupo

permisos:

  • Administrador

parámetros:

  • kenkeniGroupId: id del usuario

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Los valores devueltos en un JSON son los siguientes:
  • timeSchedules: array de objetos con las siguientes propiedades:
    • Id: identificador del objeto
    • Enabled: booleano indicando si está activado o no
    • KenkeniRginGroupsId: identificador del grupo al que pertenece
    • Logic: indica la lógica con la que se ha de tener en cuenta el horario o festivo (positive/negative)
    • Date: null si es un rango horario o la fecha en caso de ser un festivo
    • HourRange: el rango horario en formato “HH:MM-HH:MM”
    • Perodicy: indica la periodicidad con la que se repite. Tiene las siguientes propiedades:
      • type: puede ser weekly para repeticiones semanales de horarios o yearly para festivos
      • days: en caso de ser weekly es un cadena con los días en los que se repite el horario (ej: “Mon,Tue,Wed,Thu,Fri”)
    • Section: indica si es un horario o un festivo (schedules/closed)
  • timezone: zona horaria del grupo

 

modifyTimeSchedule – POST


Modifica los horarios de apertura y festivos de un grupo

permisos:

  • Administrador

parámetros:

  • id: id del horario/festivo
  • name: nombre del objeto horario/festivo
  • startHour: hora de inicio en formato “HH:MM”
  • endHour: hora de finalización en formato “HH:MM”
  • periodicy: objeto con indicando la periodicidad con la que se repite. Tiene las siguientes propiedades:
    • type: puede ser weekly para repeticiones semanales de horarios o yearly para festivos
    • days: en caso de ser weekly es un cadena con los días en los que se repite el horario (ej: “Mon,Tue,Wed,Thu,Fri”)

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

 

switchTimeSchedule – POST


Modifica los horarios de apertura y festivos de un grupo

permisos:

  • Administrador

parámetros:

  • id: id del horario/festivo
  • enabled: boleano indicando si se activa o desactiva el horario/festivo

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

 

addTimeSchedule – POST


Añade un nuevo horario/festivo

permisos:

  • Administrador

parámetros:

  • kenkeniGroupId: id del horario/festivo
  • name: nombre del horario/festivo
  • section: indica si es un horario o un festivo (schedules/closed)
  • startHour: si es un horario, la hora de inicio en formato “HH:MM”
  • endHour: si es un horario, la hora de finalización en formato “HH:MM”
  • logic: indica la lógica con la que se ha de tener en cuenta el horario o festivo (positive/negative)
  • date: si es un festivo, la fecha del festivo en formato “YYYY-MM-DD 00:00:00”
  • periodicy: objeto con indicando la periodicidad con la que se repite. Tiene las siguientes propiedades:
    • type: puede ser weekly para repeticiones semanales de horarios o yearly para festivos
    • days: en caso de ser weekly es un cadena con los días en los que se repite el horario (ej: “Mon,Tue,Wed,Thu,Fri”)

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

 

deleteTimeSchedule – POST


Elimina un horario/festivo

permisos:

  • Administrador

parámetros:

  • id: id del horario/festivo

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

 

changeTimezone – POST


Modifica la zona horaria de un grupo

permisos:

  • Administrador

parámetros:

  • kenkeniRingGroupId: identificador del grupo
  • timezone: nueva zona horaria

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

 

uploadWaitMusic – POST


Cambia la música de espera personalizada de un grupo por una personalizada.

permisos:

  • Administrador

parámetros:

  • kenkeniRingGroupId: identificador del grupo

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

getMusicOnHold – GET


Obtiene las músicas de espera disponibles y la seleccionada.

permisos:

  • Administrador

parámetros:

  • kenkeniRingGroupId: identificador del grupo

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Los valores devueltos en un JSON son los siguientes:
  • fileName: nombre de la música de espera seleccionada para el grupo
  • publicNumberTone: indica si está activada la música en espera en el grupo o sonará tono de ringing al recibir una llamada (moh/ringnoanswer)
  • musics: array de objetos con las siguientes propiedades indicando las músicas en espera disponibles:
    • mCategory: valor “moh”
    • mPath: nombre de la música en espera

 

 

changeMusicOnHold – POST


Modifica la música en espera de un grupo

permisos:

  • Administrador

parámetros:

  • kenkeniRingGroupId: identificador del grupo
  • fileName: nombre de la música en espera a configurar para el grupo

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

 

modifyPublicNumberTone – POST


Cambia el comportamiento al recibir una llamada, bien sonando música en espera o tonos de llamada.

permisos:

  • Administrador

parámetros:

  • kenkeniRingGroupId: identificador del grupo
  • newValue: moh si se debe reproducir música en espera o ringnoanswer para tonos de llamada

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

 

getLocutions – GET


Obtiene las locuciones configuradas para un grupo.

permisos:

  • Administrador

parámetros:

  • kenkeniRingGroupId: identificador del grupo
  • v: el valor “2.0”

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Devuelve un array de objetos JSON con las propiedades siguientes:
  • Id: id de locución
  • Enabled: indica si la locución está activada o no
  • FileName: nombre de la locución seleccionada
  • LocutionType: cadena con indicando la función de la locución y el grupo al que pertence en el formato “función_nombregrupo”. Las distintas funciones son las siguientes:
    • answer-announce: locución de whisper del grupo
    • welcome: locución de bienvenida
    • busy: locución de ocupado
    • voicemail: locución del contestador del grupo
    • offhours: locución de fuera de horario del grupo
    • closed: locución de festivos
    • announce: locución de “manténgase a la espera” en la cola

 

 

modifyLocution – POST


Modifica una locución de un tipo determinado para el grupo seleccionado.

permisos:

  • Administrador

parámetros:

  • kenkeniGroupId: identificador del grupo
  • locutionType: cadena con indicando la función de la locución. Las distintas funciones son las siguientes:
    • answer-announce: locución de whisper del grupo
    • welcome: locución de bienvenida
    • busy: locución de ocupado
    • voicemail: locución del contestador del grupo
    • offhours: locución de fuera de horario del grupo
    • closed: locución de festivos
    • announce: locución de “manténgase a la espera” en la cola
  • fileName: nombre del audio de la locución
  • enabled: booleano indicando si está activada o no la locución

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

getVoiceMail – GET


Devuelve la configuración del contestador automático de un grupo

permisos:

  • Administrador

parámetros:

  • kenkeniGroupId: identificador del grupo del que se desea obtener la configuración

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.  Devuelve un objeto JSON con las propiedades siguientes:
  • voiceMail: objeto con las siguiente propiedades:
    • Id: identificador del contestador automático
    • Enabled: booleano indicando si está activado o no
    • Email: dirección de email a la que se envían los mensajes del contestador
    • Users: array de objetos con los ids de usuarios que tienen acceso a este contestador

 

modifyVoiceMail – POST


Modifica la configuración del contestador automático de un grupo.

permisos:

  • Administrador

parámetros:

  • id: identificador del grupo del que se desea modificar la configuración del contestador
  • email: dirección de email a la que se envían los mensajes del contestador
  • enabled: booleano indicando si está activado o no

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

modifyUsersVoiceMail – POST


Modifica la configuración de qué usuarios tienen acceso al contestador automático de un grupo.

permisos:

  • Administrador

parámetros:

  • id: identificador del grupo del que se desea modificar la configuración del contestador
  • users: array de objetos los ids de usuarios que tienen acceso a este contestador. Cada elemento del array es un objeto con la propiedad id indicando el id del usuario

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

getCallRecordingConfig – GET


Obtiene la configuración de grabación de llamadas del grupo.

permisos:

  • Administrador

parámetros:

  • kenkeniGroupId: identificador del grupo del que se desea obtener la configuración de grabación

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Devuelve un objeto JSON con las propiedades siguientes:
    • recordIncoming: boleano indicando si está activada la grabación de llamadas entrantes

 

modifyCallRecordingConfig – POST


Modifica la configuración de grabación de llamadas del grupo

permisos:

  • Administrador

parámetros:

  • kenkeniGroupId: identificador del grupo del que se desea modificar la configuración de grabación
  • incoming: boleano indicando si quiere activar la grabación de llamadas entrantes

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

getMissedCallsNotification – GET


Obtiene la configuración de notificación de llamadas perdidas de un grupo.

permisos:

  • Administrador

parámetros:

  • kenkeniGroupId: identificador del grupo del que se desea obtener la configuración de notificación de llamadas perdidas

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Devuelve un objeto JSON con las propiedades siguientes:
  • missedCallsNotificacion: null si está desactivada o una cadena con el email donde se envían las notificaciones.

 

 

modifyMissedCallNotification – POST


Modifica la configuración de notificación de llamadas perdidas de un grupo.

permisos:

  • Administrador

parámetros:

  • kenkeniGroupId: identificador del grupo del que se desea obtener la configuración de notificación de llamadas perdidas
  • enable: booleano indicando si se activa el envío de notificaciones de llamadas perdidas para el grupo
  • email: dirección de email a la que se enviarán las notificaciones de llamadas perdidas

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

Locuciones

 

getSounds – GET


Obtiene el listado de la biblioteca de sonidos

permisos:

  • Administrador

parámetros:

  • Ninguno

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Devuelve un objeto JSON con las propiedades siguientes:
  • sounds: array de objetos con las siguientes propiedades:
    • mCategory: general si el sonido es predefinido o personal si es uno definido por el usuario
    • mPath: nombre del sonido

 

 

uploadSound – POST


Obtiene el listado de la biblioteca de sonidos

permisos:

  • Administrador

parámetros:

  • El fichero de audio en formato wav o mp3 subido en formato FormData

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

 

getVoices – GET


Obtiene el listado de voces sintéticas disponibles

permisos:

  • Administrador

parámetros:

  • locale: el idioma de las voces que se quieren obtener (es_ES/en_US)

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Devuelve un array de objetos JSON con las propiedades siguientes:
  • Description: descripción del tipo de voz
  • Id: identificador de la voz

 

 

setVoiceText – POST


Genera una locución a partir de voz sintetizada

permisos:

  • Administrador

parámetros:

  • message: texto a generar
  • voiceId: identificador de la voz
  • fileName: nombre que se le asignará a la locución
  • token: token de autenticación

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo.

 

Informes

 

getKPIs – GET


Obtiene un informe filtrado por numeración, usuarios o grupos

permisos:

  • Administrador

parámetros:

  • tipo: 1 para llamadas entrantes, 3 para llamadas salientes y 4 para actividad de un usuario
  • dataset: si se quiere obtener para un usuario en concreto, el id del usuario. Si se quiere obtener para un grupo, R<idgrupo>. Si se quiere un informe de todos los usuarios se debe pasar un valor vacío.
  • fechaInicio: filtro por fecha de inicio
  • fechaFin: filtro por fecha de finalización
  • interval: periodo por el cual se consolidarán los datos (minutes/hours/days/weeks/months)
  • serviceLevel: entero indicando cuál es el nivel de servicio para el cual se desea obtener el informe

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Devuelve un objeto JSON con las propiedades siguientes:
  • intervalos: array de objetos con las fechas de inicio y fin de cada intervalo con las siguientes propiedades:
    • inicio: fecha de inicio del intervalo en formato UNIX timestamp.
    • fin: fecha de finalización del intervalo en formato UNIX timestamp.
  • abandonRate: array con los valores del porcentaje de abandono (porcentaje de llamantes que cuelgan antes de ser atendidos).
  • answeredCalls: array con los valores de llamadas respondidas (número de llamadas respondidas).
  • avgAnsweredCalls: array con los valores del porcentaje de llamadas respondidas.
  • avgDuration: array con los valores de duración media de la llamadas (en minutos)
  • avgHandleTime: array con los valores de la media de tiempo con agente (en minutos)
  • blocked: array con los valores de número de llamadas bloqueadas.
  • callsCost: array con los costes de llamadas (en EUR)
  • notAnsweredCalls: array con los valores de llamadas no respondidas.
  • serviceLevel: array con los valores de porcentaje de llamadas atendidas antes del nivel de servicio especificado en los filtros
  • timeInQueue: array con los valores de tiempo de llamante esperando en la cola antes de ser atendidos (en minutos).
  • totalCalls: array con los valores del número total de llamadas recibidas

 

 

General

 

getLangs – GET


Obtiene el listado de idiomas disponibles en el sistema

permisos:

  • Administrador

parámetros:

  • Ninguno

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Devuelve un array de objetos JSON con las propiedades siguientes:
  • code: identificador del idioma
  • description: descripción del idioma

 

 

getCallerIds – GET


Obtiene el listado de identificadores de llamada permitidos

permisos:

  • Administrador

parámetros:

  • userid: identificador del usuario para el cual se quieren obtener los identificadores de llamada permitidos o vacío si se quieren obtener todos

valores devueltos:

  • Devuelve el código 200 en caso de éxito o un error 500 en caso de fallo. Devuelve un array de objetos JSON con las propiedades siguientes:
  • type: tipo de identificador de llamada (main/personal/mobile)
  • cli: identificador de llamada en formato E164
  • description: identificador de llamada sin el prefijo del país por defecto de la cuenta