API mdpay omnisuite
De VIVAitwiki
Revisión del 08:21 20 feb 2026 de Alfredo.rodriguez (discusión | contribuciones) (→Enviar DTMF a una llamada)
Sumario
1 API Omnisuite para mdpay
1.1 Introducción
En este documento definimos las invocaciones mínimas a realizar a endpoints de Omnisuite para activar el pago asistido Será necesario:
- Obtener Id de usuario
- Obtener UniqueId de la llamada del usuario
- Enviar tonos DTMF a esa llamada
1.2 Autenticación
Todas las peticiones deben incluir el siguiente encabezado de seguridad:
- Header: x-api-key
- Valor: El API KEY de usuario de omnisuite proporcionado.
1.3 Endpoints
1.3.1 Obtener ID de un usuario
Recupera el identificador de un usuario específico basado en filtros.
- Método: GET
- URL: https://omnisuite.cliente.com/users
- Parámetros de consulta (Query Params):
- fields: Especifica los campos a retornar (ej. id).
- filter: Criterio de búsqueda (ej. jac).
- sort: Orden de los resultados (ej. id).
Ejemplo de solicitud:
GET https://omnisuite.cliente.com//users?fields=id&filter=jac&sort=id
Ejemplo de respuesta:
{
"count": 1,
"rows": [
{
"id": 5
}
]
}
1.3.2 Consultar llamadas de un usuario
Obtiene el registro o estado de las llamadas asociadas a un ID de usuario.
- Método: POST
- URL: https://omnisuite.cliente.com/webbar/calls
- Cuerpo de la petición (JSON):
{
"userId": 5
}
Ejemplo de respuesta
{
"count": 1,
"rows": [
{
"abandoned": false,
"accountcode": "",
"answertime": "2026-02-10 14:53:54",
"answered": true,
"billableseconds": 0,
"channel": "SIP/Trunk_PrepoCopr0-00000022",
"callerid": "",
"calleridname": "/50002",
"calleridnum": "50002",
"connectedlinename": "JAC",
"connectedlinenum": "1004",
"context": "from-voip-provider",
"destination": "",
"destinationchannel": "SIP/jac-00000023",
"disposition": "ANSWERED",
"duration": 0,
"endtime": null,
"exten": "10000",
"holdtime": 6,
"lastapplication": "queue",
"lastdata": "Desarrollo,xX,,,300,,,,,",
"linkedid": "1770731628.77",
"membername": "jac",
"monitor": true,
"monitors": [
{
"filename": "/var/spool/asterisk/monitor/1770731628.76.wav",
"createdAt": "2026-02-10 14:53:54",
"mixmonitorid": "",
"status": "rec"
}
],
"monitorFilename": "/var/spool/asterisk/monitor/1770731628.76.wav",
"mohtime": 0,
"queue": "Desarrollo",
"sipcalllinkedid": "23f0e8b840c85fd057d7474a5fc68844@172.25.129.174:0",
"sipcalluniqueid": "067515e4161a16e9594cd0aa6ea74fed@172.25.128.251:5060",
"starttime": "2026-02-10 14:53:48",
"tag": null,
"type": "inbound",
"uniqueid": "1770731628.76",
"unmanaged": false,
"UserId": 5,
"routeid": "287"
}
]
}
1.3.3 Enviar DTMF a una llamada
Permite enviar una secuencia de dígitos DTMF a una llamada activa.
- Método: POST
- URL: https://omnisuite.cliente.com/webbar/send-dtmf
- Cuerpo de la petición (JSON)
{
"digits": "###444*12345#",
"duration": 100,
"uniqueId": "1770732063.80",
"userId": 5
}
El valor “duration” indica la duración del envío en ms (en el ejemplo anterior serían 100ms, que es el valor recomendado)
Ejemplo de respuesta:
{
"error": false,
"message": "SendDTMF [###444*12345#] executed"
}