Diferencia entre revisiones de «API mdpay omnisuite»

De VIVAitwiki
Ir a la navegaciónIr a la búsqueda
 
(No se muestran 14 ediciones intermedias del mismo usuario)
Línea 7: Línea 7:
 
* Obtener UniqueId de la llamada del usuario
 
* Obtener UniqueId de la llamada del usuario
 
* Enviar tonos DTMF a esa llamada
 
* Enviar tonos DTMF a esa llamada
 +
<br>
  
 
=== Autenticación ===
 
=== Autenticación ===
Línea 12: Línea 13:
 
* Header: x-api-key
 
* Header: x-api-key
 
* Valor: El API KEY de usuario de omnisuite proporcionado.
 
* Valor: El API KEY de usuario de omnisuite proporcionado.
 +
<br>
  
 
=== Endpoints ===
 
=== Endpoints ===
Línea 27: 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>
 +
 
 +
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>
  
 
==== Consultar llamadas de un usuario ====
 
==== Consultar llamadas de un usuario ====
 +
Obtiene el registro o estado de las llamadas asociadas a un ID de usuario.
 +
<br>
  
Obtiene el registro o estado de las llamadas asociadas a un ID de usuario.
+
* Método: POST
*Método: POST
 
 
* 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
 +
<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 ====
 
Permite enviar una secuencia de dígitos DTMF a una llamada activa.
 
Permite enviar una secuencia de dígitos DTMF a una llamada activa.
 +
<br>
  
 
* Método: POST
 
* Método: POST
 
* 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>
  
 
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"
}