Diferencia entre revisiones de «API mdpay omnisuite»
De VIVAitwiki
Ir a la navegaciónIr a la búsqueda| (No se muestran 8 ediciones intermedias del mismo usuario) | |||
| Línea 29: | Línea 29: | ||
Ejemplo de solicitud: | Ejemplo de solicitud: | ||
| − | + | <pre style="background-color: #f6f8fa; border: 1px solid #d1d5da; padding: 1em; border-radius: 4px; width: fit-content; margin-left: 50px; font-family: 'Ubuntu Mono', 'Consolas', monospace; white-space: pre-wrap;"> | |
| + | GET https://omnisuite.cliente.com//users?fields=id&filter=jac&sort=id | ||
| + | </pre> | ||
<br> | <br> | ||
Ejemplo de respuesta: | Ejemplo de respuesta: | ||
| − | + | <pre style="background-color: #f6f8fa; border: 1px solid #d1d5da; padding: 1em; border-radius: 4px; width: fit-content; margin-left: 50px; font-family: 'Ubuntu Mono', 'Consolas', monospace; white-space: pre-wrap;"> | |
| − | + | { | |
| − | + | "count": 1, | |
| − | + | "rows": [ | |
| − | + | { | |
| − | + | "id": 5 | |
| − | + | } | |
| − | + | ] | |
| + | } | ||
| + | </pre> | ||
<br> | <br> | ||
| Línea 50: | Línea 54: | ||
* URL: https://omnisuite.cliente.com/webbar/calls | * URL: https://omnisuite.cliente.com/webbar/calls | ||
* Cuerpo de la petición (JSON): | * Cuerpo de la petición (JSON): | ||
| − | + | <pre style="background-color: #f6f8fa; border: 1px solid #d1d5da; padding: 1em; border-radius: 4px; width: fit-content; margin-left: 50px; font-family: 'Ubuntu Mono', 'Consolas', monospace; white-space: pre-wrap;"> | |
| − | + | { | |
| − | + | "userId": 5 | |
| − | + | } | |
| + | </pre> | ||
Ejemplo de respuesta | Ejemplo de respuesta | ||
| − | + | <pre style="background-color: #f6f8fa; border: 1px solid #d1d5da; padding: 1em; border-radius: 4px; width: fit-content; margin-left: 50px; font-family: 'Ubuntu Mono', 'Consolas', monospace; white-space: pre-wrap;"> | |
| − | + | { | |
| − | + | "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" | |
| − | + | } | |
| − | + | ] | |
| − | + | } | |
| + | </pre> | ||
| + | <br> | ||
==== Enviar DTMF a una llamada ==== | ==== Enviar DTMF a una llamada ==== | ||
| Línea 116: | Línea 123: | ||
* URL: https://omnisuite.cliente.com/webbar/send-dtmf | * URL: https://omnisuite.cliente.com/webbar/send-dtmf | ||
* Cuerpo de la petición (JSON) | * Cuerpo de la petición (JSON) | ||
| − | + | <pre style="background-color: #f6f8fa; border: 1px solid #d1d5da; padding: 1em; border-radius: 4px; width: fit-content; margin-left: 50px; font-family: 'Ubuntu Mono', 'Consolas', monospace; white-space: pre-wrap;"> | |
| − | + | { | |
| − | + | "digits": "###444*12345#", | |
| − | + | "duration": 100, | |
| − | + | "uniqueId": "1770732063.80", | |
| − | + | "userId": 5 | |
| + | } | ||
| + | </pre> | ||
<br> | <br> | ||
| Línea 127: | Línea 136: | ||
Ejemplo de respuesta: | Ejemplo de respuesta: | ||
| − | + | <pre style="background-color: #f6f8fa; border: 1px solid #d1d5da; padding: 1em; border-radius: 4px; width: fit-content; margin-left: 50px; font-family: 'Ubuntu Mono', 'Consolas', monospace; white-space: pre-wrap;"> | |
| − | + | { | |
| − | + | "error": false, | |
| − | + | "message": "SendDTMF [###444*12345#] executed" | |
| − | + | } | |
| + | </pre> | ||
| + | <br> | ||
Revisión actual del 08:26 26 feb 2026
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"
}