Real-Time


Reporte MT

Endpoint utilizado para la obtención del reporte MT, es decir, los mensajes que Real-Time envía a los clientes finales.

El “msisdn” corresponde a un número de teléfono de un cliente y “num_corto” es el numero asignado a Real-Time para el envío de los mensajes a través de las operadoras

Petición HTTP POST

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

                                
    curl -X POST "https://soa.real-time.cl/report_mt"
         -H "Content-Type: application/json" 
         -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
         -d '{"desde":"YYYY-MM-DD","hasta":"YYYY-MM-DD","tokenws":"TOKEN_GENERADO_POR_RT","msisdn":"569XXXXXXXX","num_corto":"XXXXXXXXXXX"}' 
                                
                            
                            
    $url = 'https://soa.real-time.cl/report_mt';
    $data = array('desde' => 'YYYY-MM-DD', 'hasta' => 'YYYY-MM-DD', 'tokenws' => 'TOKEN_GENERADO_POR_RT', 'msisdn' => '569XXXXXXXX', 'num_corto' => 'XXXXXXXXXXX');

    $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 MT
        # POST https://soa.real-time.cl/report_mt

        try:
            response = requests.post(
                url="https://soa.real-time.cl/report_mt",
                headers={
                    "Content-Type": "application/json",
                    "Authorization": "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                },
                data={
                    "desde": "YYYY-MM-DD",
                    "hasta": "YYYY-MM-DD",
                    "tokenws": "TOKEN_GENERADO_POR_RT",
                    "msisdn": "569XXXXXXXX",
                    "num_corto": "XXXXXXXXXXX"
                },
            )
            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_mt', {
        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',
            msisdn: '569XXXXXXXX',
            num_corto: 'XXXXXXXXXXX'
        })
    })
    .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_mt");
            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\", \"msisdn\": \"569XXXXXXXX\", \"num_corto\": \"XXXXXXXXXXX\"}";

            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, "msisdn" es el numero destinatario del mensaje y "num_corto" es el numero remitente.

Si el proceso fue exitoso, 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": [
        {
            "msisdn": "+569XXXXXXXX",
            "operator": "Endpoint-Netline-SOA",
            "status": "delivered",
            "text": "test NL Netline",
            "time_dlr": "2023-09-20 20:55:02+00:00",
            "time_operator": "2023-09-20 20:55:01+00:00",
            "time_platform": "2023-09-20 20:55:01+00:00"
        },
        {
            "msisdn": "+569XXXXXXXX",
            "operator": "",
            "status": "sent_failed",
            "text": "Su codigo de autorizacion es 123456 con 
                    fecha 05-09-2023 15:59:35. Nunca entregues este codigo",
            "time_dlr": "2023-09-05 15:59:35+00:00",
            "time_operator": "2023-09-05 15:59:35+00:00",
            "time_platform": "2023-09-05 15:59:35+00:00"
        }
    ],
    "desde": "2022-09-05",
    "hasta": "2023-09-27",
    "total": 2
}