Real-Time


Reporte MO

Solicitud del reporte de los mensajes MO, es decir, los mensajes que llegan de parte de los clientes a Real-Time.

El “tokenws” utilizado en el body, es un dato que es accesible cuando un usuario es habilitado por Real-Time para el envío de sms a través de API. Los atributos “desde” y “hasta” son las fechas límites del reporte.

Petición HTTP POST

POST https://soa.real-time.cl/report_mo

                                
    curl -X POST "https://soa.real-time.cl/report_mo"
         -H "Content-Type: application/json" 
         -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
         -d '{"desde":"YYYY-MM-DD","hasta":"YYYY-MM-DD","tokenws":"TOKEN_GENERADO_POR_RT"}' 
                                
                            
                            

    $url = 'https://soa.real-time.cl/report_mo';
    $data = array('desde' => 'YYYY-MM-DD', 'hasta' => 'YYYY-MM-DD', 'tokenws' => 'TOKEN_GENERADO_POR_RT');

    $options = array(
        'http' => array(
            'header'  => "Content-type: application/json\r\n" .
                        "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n",
            'method'  => 'POST',
            'content' => json_encode($data),
        ),
    );
    $context  = stream_context_create($options);
    $result = file_get_contents($url, false, $context);

    if ($result === FALSE) { /* Handle error */ }

    var_dump($result);
                            
                        
                            
import requests

def send_request():
    # Obtener reporte MO
    # POST https://soa.real-time.cl/report_mo

    try:
        response = requests.post(
            url="https://soa.real-time.cl/report_mo",
            headers={
                "Content-Type": "application/json",
                "Authorization": "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
            },
            data={
                "desde": "YYYY-MM-DD",
                "hasta": "YYYY-MM-DD",
                "tokenws": "TOKEN_GENERADO_POR_RT"
            },
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

                            
                        
                            
    fetch('https://soa.real-time.cl/report_mo', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Authorization': 'Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
        },
        body: JSON.stringify({
            desde: 'YYYY-MM-DD',
            hasta: 'YYYY-MM-DD',
            tokenws: 'TOKEN_GENERADO_POR_RT'
        })
    })
    .then(response => response.json())
    .then(data => console.log(data))
    .catch((error) => {
        console.error('Error:', error);
    });

                            
                        
                            
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("https://soa.real-time.cl/report_mo");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "application/json; utf-8");
        conn.setRequestProperty("Authorization", "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
        conn.setDoOutput(true);

        String jsonInputString = "{\"desde\": \"YYYY-MM-DD\", \"hasta\": \"YYYY-MM-DD\", \"tokenws\": \"TOKEN_GENERADO_POR_RT\"}";

        try(OutputStream os = conn.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);			
        }

        int code = conn.getResponseCode();
        System.out.println(code);
    }
}

                            
                        

Recuerda reemplazar YYYY-MM-DD del campo "desde" y YYYY-MM-DD del campo "hasta" con las fechas correspondientes y TOKEN_GENERADO_POR_RT con tus credenciales de la API.

Si la autenticación fue exitosa, la API responderá con el status HTTP 200 OK y en el body de la respuesta, obtendrás la data con el contenido correspondiente.

Una respuesta exitosa a la operación retorna un JSON con la siguiente estructura:

                        
{
    "data": [
        {
            "date": "2023-05-29 13:14:00 America/Santiago",
            "department": null,
            "message": "CANCELAR",
            "msisdn": "+569XXXXXXXX",
            "operator": "Movistar Smpp",
            "originator": "5040"
        },
        {
            "date": "2023-05-29 13:17:02 America/Santiago",
            "department": "Realtime",
            "message": "SALIR",
            "msisdn": "+569XXXXXXXX",
            "operator": "Entel Ws",
            "originator": "5040"
        }
    ],
    "desde": "2022-09-01",
    "hasta": "2023-07-27",
    "total": 2
}