Real-Time


Obtener Info de SMS

La operación Obtener Info de SMS es útil para obtener información acerca de un envio. Con el fin de realizar esta operación, debes enviar el submission ID.

Petición HTTP GET

GET https://www.rti-sms.com/api/sms/4193366853543393

Cabecera obligatoria en petición HTTP GET

Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN_HERE

Debes reemplazar 4193366853543393 con un submission ID de la pasada operación Enviar SMS.

                                        
    curl "https://www.rti-sms.com/api/sms/4193366853543393" \
         -H 'Content-Type: application/json' \
         -H 'Authorization: Bearer ***** Hidden credentials *****'
                                        
                                    
                                        
    // get cURL resource
    $ch = curl_init();

    // set url
    curl_setopt($ch, CURLOPT_URL, 'https://www.rti-sms.com/api/sms/4193366853543393');

    // set method
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

    // return the transfer as a string
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    // set headers
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Authorization: Bearer ***** Hidden credentials *****',
    ]);

    // send the request and save response to $response
    $response = curl_exec($ch);

    // stop if fails
    if (!$response) {
        die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
    }

    echo 'HTTP Status Code: ' . curl_getinfo($ch, CURLINFO_HTTP_CODE) . PHP_EOL;
    echo 'Response Body: ' . $response . PHP_EOL;

    // close curl resource to free up system resources 
    curl_close($ch);
                                        
                                    
                                        
    # Install the Python Requests library:
    # `pip install requests`

    import requests

    def send_request():
        try:
            response = requests.get(
                url="https://www.rti-sms.com/api/sms/4193366853543393",
                headers={
                    "Content-Type": "application/json",
                    "Authorization": "Bearer ***** Hidden credentials *****",
                },
            )
            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')
                                        
                                    
                                        
    // request Request Duplicate 
    (function(callback) {
        'use strict';

        const httpTransport = require('https');
        const responseEncoding = 'utf8';
        const httpOptions = {
            hostname: 'www.rti-sms.com',
            port: '443',
            path: '/api/sms/4193366853543393',
            method: 'GET',
            headers: {"Content-Type":"application/json","Authorization":"Bearer ***** Hidden credentials *****"}
        };
        httpOptions.headers['User-Agent'] = 'node ' + process.version;

        // Paw Store Cookies option is not supported

        const request = httpTransport.request(httpOptions, (res) => {
            let responseBufs = [];
            let responseStr = '';

            res.on('data', (chunk) => {
                if (Buffer.isBuffer(chunk)) {
                    responseBufs.push(chunk);
                }
                else {
                    responseStr = responseStr + chunk;            
                }
            }).on('end', () => {
                responseStr = responseBufs.length > 0 ? 
                    Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

                callback(null, res.statusCode, res.headers, responseStr);
            });

        })
        .setTimeout(0)
        .on('error', (error) => {
            callback(error);
        });
        request.write("")
        request.end();


    })((error, statusCode, headers, body) => {
        console.log('ERROR:', error); 
        console.log('STATUS:', statusCode);
        console.log('HEADERS:', JSON.stringify(headers));
        console.log('BODY:', body);
    });
                                        
                                    
                                        
    import java.io.IOException;
    import org.apache.http.client.fluent.*;

    public class SendRequest
    {
        public static void main(String[] args) {
            sendRequest();
        }

        private static void sendRequest() {


            try {

                // Create request
                Content content = Request.Get("https://www.rti-sms.com/api/sms/4193366853543393")

                // Add headers
                .addHeader("Content-Type", "application/json")
                .addHeader("Authorization", "Bearer ***** Hidden credentials *****")

                // Fetch request and return content
                .execute().returnContent();

                // Print content
                System.out.println(content);
            }
            catch (IOException e) { System.out.println(e); }
        }
    }
                                
                            

Si la operación Obtener Info SMS es exitosa, la API responderá con HTTP Status: HTTP/1.1 200 OK y en el body de la respuesta tendrás un Objecto JSON que contiene detalles de un unico envio SMS.

Una operación exitosa de obtener info de sms retorna una estructura JSON como esta:

                            
    {
        "id":"4193366853543393",
        "timestamps":{
            "registered":1600351683,
            "sent":1600351694,
            "done":1600355610
        },
        "info":{
            "status":{
                "code":"1",
                "status":"DELIVERED"
            },
            "cost":1,
            "operator":{
                "id":"188",
                "name":"Entel Pcs",
                "mcc":"730",
                "mnc":"10"
            }
        }
    }
                            
                        

Por favor ve la siguiente tabla para ver los campos disponibles en este objeto:

Campos del objeto obtenido

Campo Tipo Descripción
id String El Id único de este envio. En esta respuesta, este campo no entrega nueva información ya que tu has hecho la petición de la información de este envio usando exactamente el mismo Id. Esta incluido en la respuesta por conveniencia.
timestamps Object Este objeto JSON contiene el timestamps UNIX/EPOCH de las tres etapas del envio de sms. Mas información de esto, se encuentra en la tabla de abajo.
info Object Contiene 2 objetos hijos, el objeto status provee indicaciones del estatus de entrega de este SMS, asi como el objeto operator que provee información precisa del operador de red al cual este SMS fue enviado.

Estructura del campo timestamps

Campo Tipo Descripción
registered Integer Timestamp en el cual un envio de SMS fue registrado (pero aún no ha sido enviado) en el sistema de RealTime. Este valor no puede ser cero.
sent Integer Timestamp en el cual un envio de SMS fue enviado al operador de red destinatario.
done Integer Timestamp en el cual tenemos el resultado final de un envio de SMS.

Ya sea si el SMS es DELIVERED o REJECTED por el operador, o EXPIRED, etc, todos esos eventos especifican un evento final.

Estructura del campo info/status

Campo Tipo Descripción
status String Especifica el status de entrega de un envio de SMS.
code String La representación numérica del campo status

El campo status de arriba, puede tener uno de los siguientes valores:

  • PENDING
  • SENT
  • DELIVERED
  • REJECTED
  • UNDELIVERED
  • EXPIRED
  • UNKNOWN

Estructura del campo info/operator

Campo Tipo Descripción
id String El ID único de un operador de red, de acuerdo a la base de datos de RealTime.
name String El nombre de un operador de red.
mcc String Valor numérico. Especifica el país de un operador de red. Su nombre completo: Mobile Country Code.
mnc String Valor numérico. Especifica el operador de red con el mismo valor mcc.
Para mas información por favor vea los ejemplos de código incluidos en la actual documentación.