Diferencia entre revisiones de «API mdpay omnisuite»

De VIVAitwiki
Ir a la navegaciónIr a la búsqueda
 
(No se muestran 10 ediciones intermedias del mismo usuario)
Línea 16: Línea 16:
  
 
=== Endpoints ===
 
=== Endpoints ===
<br>
 
  
 
==== Obtener ID de un usuario ====
 
==== Obtener ID de un usuario ====
Línea 30: Línea 29:
  
 
Ejemplo de solicitud:
 
Ejemplo de solicitud:
GET https://omnisuite.cliente.com//users?fields=id&filter=jac&sort=id
+
<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": [
+
    "count": 1,
        {
+
    "rows": [
            "id": 5
+
        {
        }
+
            "id": 5
    ]
+
        }
}
+
    ]
 +
}
 +
</pre>
 
<br>
 
<br>
  
Línea 51: 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
+
{
}
+
  "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,
+
  "count": 1,
    "rows": [
+
  "rows": [
        {
+
      {
            "abandoned": false,
+
          "abandoned": false,
            "accountcode": "",
+
          "accountcode": "",
            "answertime": "2026-02-10 14:53:54",
+
          "answertime": "2026-02-10 14:53:54",
            "answered": true,
+
          "answered": true,
            "billableseconds": 0,
+
          "billableseconds": 0,
            "channel": "SIP/Trunk_PrepoCopr0-00000022",
+
          "channel": "SIP/Trunk_PrepoCopr0-00000022",
            "callerid": "",
+
          "callerid": "",
            "calleridname": "/50002",
+
          "calleridname": "/50002",
            "calleridnum": "50002",
+
          "calleridnum": "50002",
            "connectedlinename": "JAC",
+
          "connectedlinename": "JAC",
            "connectedlinenum": "1004",
+
          "connectedlinenum": "1004",
            "context": "from-voip-provider",
+
          "context": "from-voip-provider",
            "destination": "",
+
          "destination": "",
            "destinationchannel": "SIP/jac-00000023",
+
          "destinationchannel": "SIP/jac-00000023",
            "disposition": "ANSWERED",
+
          "disposition": "ANSWERED",
            "duration": 0,
+
          "duration": 0,
            "endtime": null,
+
          "endtime": null,
            "exten": "10000",
+
          "exten": "10000",
            "holdtime": 6,
+
          "holdtime": 6,
            "lastapplication": "queue",
+
          "lastapplication": "queue",
            "lastdata": "Desarrollo,xX,,,300,,,,,",
+
          "lastdata": "Desarrollo,xX,,,300,,,,,",
            "linkedid": "1770731628.77",
+
          "linkedid": "1770731628.77",
            "membername": "jac",
+
          "membername": "jac",
            "monitor": true,
+
          "monitor": true,
            "monitors": [
+
          "monitors": [
                {
+
              {
                    "filename": "/var/spool/asterisk/monitor/1770731628.76.wav",
+
                  "filename": "/var/spool/asterisk/monitor/1770731628.76.wav",
                    "createdAt": "2026-02-10 14:53:54",
+
                  "createdAt": "2026-02-10 14:53:54",
                    "mixmonitorid": "",
+
                  "mixmonitorid": "",
                    "status": "rec"
+
                  "status": "rec"
                }
+
              }
            ],
+
          ],
            "monitorFilename": "/var/spool/asterisk/monitor/1770731628.76.wav",
+
          "monitorFilename": "/var/spool/asterisk/monitor/1770731628.76.wav",
            "mohtime": 0,
+
          "mohtime": 0,
            "queue": "Desarrollo",
+
          "queue": "Desarrollo",
            "sipcalllinkedid": "23f0e8b840c85fd057d7474a5fc68844@172.25.129.174:0",
+
          "sipcalllinkedid": "23f0e8b840c85fd057d7474a5fc68844@172.25.129.174:0",
            "sipcalluniqueid": "067515e4161a16e9594cd0aa6ea74fed@172.25.128.251:5060",
+
          "sipcalluniqueid": "067515e4161a16e9594cd0aa6ea74fed@172.25.128.251:5060",
            "starttime": "2026-02-10 14:53:48",
+
          "starttime": "2026-02-10 14:53:48",
            "tag": null,
+
          "tag": null,
            "type": "inbound",
+
          "type": "inbound",
            "uniqueid": "1770731628.76",
+
          "uniqueid": "1770731628.76",
            "unmanaged": false,
+
          "unmanaged": false,
            "UserId": 5,
+
          "UserId": 5,
            "routeid": "287"
+
          "routeid": "287"
        }
+
      }
    ]
+
  ]
}
+
}
 +
</pre>
 +
<br>
  
 
==== Enviar DTMF a una llamada ====
 
==== Enviar DTMF a una llamada ====
Línea 117: 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,
+
  "digits": "###444*12345#",
  "uniqueId": "1770732063.80",
+
  "duration": 100,
  "userId": 5
+
  "uniqueId": "1770732063.80",
}
+
  "userId": 5
 +
}
 +
</pre>
 
<br>
 
<br>
  
 
El valor “duration” indica la duración del envío en ms (en el ejemplo anterior serían 100ms, que es el valor recomendado)
 
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:
 +
<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

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.

{
  "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.

{
  "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"
}