Comprobar el estado del mensaje

Puede comprobar el estado de un mensaje saliente en cualquier momento después de que haya sido enviado.

Visite Enviar mensajes para saber cómo enviar un mensaje SMS.

Comprobar el estado de un mensaje saliente

Puede comprobar el estado de entrega de un mensaje con una llamada a la API del servicio de mensajería Atmosphere®.

URI

POST en https://api.intelepeer.com/sms/v1/mdr

 

Parámetros

Este método de API requiere un token de autorización. Para más información sobre tokens de autorización, consulte Autenticación de API Atmosphere®.

ParámetroTipo de datosRequeridoDescripción
refidstringrequeridoEl refid del mensaje que se obtiene al llamar al método send.

 

Ejemplo de solicitud
{
    "refid": SM5AC09A610001006568100005C32E9D",
}

 

Ejemplo de respuesta
{
    "RCC_en": "ACCEPTED",
    "RCC": 3000
}

 

Valores de variable de respuesta
VariableValores disponibles
RCC_en
  • CREATED
  • ENQUEUED
  • ACCEPTED
  • FAILED
  • DELIVERED
  • UNKNOWN

 

Códigos de respuesta
Código de respuestaDescripción
202MDR obtenido
401El token de autorización expiró
404No se encontró el registro

 

Comportamiento

Los mensajes enviados por medio de la API del servicio de mensajería Atmosphere® son retenidos en cola para ser entregados de forma rápida y confiable al operador de destino, y finalmente, al teléfono del usuario final.

El siguiente es el ciclo de vida del mensaje:

  1. Mensaje retenido en cola para ser entregado
  2. Mensaje entregado al operador móvil
  3. Mensaje entregado al cliente final
  4. En algunos casos, no es posible entregar el mensaje debido a los filtros de SPAM del operador u otras restricciones específicas del mismo

Es posible que haya retrasos en la entrega de un mensaje al cliente final por las siguientes razones:

  • Limitación de solicitudes impuesta por IntelePeer para mejorar la entrega de los mensajes
  • Limitación de solicitudes o control de SPAM impuestos por el operador móvil
  • El equipo del cliente final se encuentra fuera del área de servicio, está apagado o en modo avión

 

Ejemplo de código

Java

package main.java.mdr;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpHeaders;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;

public class MdrStatus {
	public static void main(String... args) throws Exception {
		final String url = "https://api.intelepeer.com/sms/v1/mdr";
		final String AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE";
		final String REFID = "INERT_REFID_HERE";
		
		HttpClient httpclient = HttpClientBuilder.create().build();
		HttpPost httpPost = new HttpPost(url);
        
		// add header
		httpPost.setHeader(HttpHeaders.CONTENT_TYPE, "application/json");
		httpPost.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + AUTH_TOKEN);
        
		// Data to be posted
		List<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
		urlParameters.add(new BasicNameValuePair("refid", REFID));
    	
		// add data to post
		httpPost.setEntity(new UrlEncodedFormEntity(urlParameters));
		
		// execute post
		HttpResponse response = httpclient.execute(httpPost);
        
		// show post results
		System.out.println("\nSending 'POST' request to URL : " + url);
		System.out.println("Post parameters : " + httpPost.getEntity());
		System.out.println("Response Code : " + 
                                    response.getStatusLine().getStatusCode());

		BufferedReader rd = new BufferedReader(
                        new InputStreamReader(response.getEntity().getContent()));

		StringBuffer result = new StringBuffer();
		String line = "";
		while ((line = rd.readLine()) != null) {
			result.append(line);
		}

		System.out.println(result.toString());
    }
}

 

Node.js

const request = require("request");

///////////////////////////////////////////////////////////////////////////////
/// update these accordingly                                                ///
///////////////////////////////////////////////////////////////////////////////
let authtoken = 'INSERT_AUTH_TOKEN_HERE'
let refid     = 'INERT_REFID_HERE'

///////////////////////////////////////////////////////////////////////////////
/// leave these alone                                                       ///
///////////////////////////////////////////////////////////////////////////////
let url       = "https://api.intelepeer.com/sms/v1/mdr"
let payload   = { 'refid': refid }
let hdrs      = {
    'Content-Type': "application/json",
    'Authorization': "Bearer " + authtoken
}
///////////////////////////////////////////////////////////////////////////////
/// execute the task and parse results                                      ///
///////////////////////////////////////////////////////////////////////////////
request.post({
    url: url,
    headers: hdrs,
    form: payload
},
(error, response, body) => {        
    let result = JSON.parse(body);
    console.log(result.text);
});

 

PHP

<?php

require '../vendor/autoload.php';
use GuzzleHttp\Client;

###############################################################################
### update these accordingly                                                ###
###############################################################################
$authtoken = 'INSERT_AUTH_TOKEN_HERE';
$refid     = 'INERT_REFID_HERE';

###############################################################################
### leave these alone                                                       ###
###############################################################################
$url  = "https://api.intelepeer.com/sms/v1/mdr";
$hdrs = ['Content-Type' => "application/json",
         'Authorixation' => 'Bearer '.$authtoken];
$payload = [ 'refid' => $refid ];

###############################################################################
### execute the task and parse results                                      ###
###############################################################################

try{
  $client = new Client();
  $response = $client->post($url, [
    'headers' => $hdrs,
    'json' => $payload
    ]);
}
catch (RequestException $e){
  echo "Request Failed:". $e->getMessage();
}

echo $response->getBody();
?>

 

Python

import requests
from datetime import datetime

###############################################################################
### update these accordingly                                                ###
###############################################################################
authtoken = 'INSERT_AUTH_TOKEN_HERE'
refid     = 'INERT_REFID_HERE'

###############################################################################
### leave these alone                                                       ###
###############################################################################
url       = "https://api.intelepeer.com/sms/v1/mdr"
payload   = { 'refid': refid }
hdrs      = {
    'Content-Type': "application/json",
    'Authorization': 'Bearer {}'.format(authtoken)
    }

###############################################################################
### execute the task and parse results                                      ###
###############################################################################
response = requests.post(url, json=payload, headers=hdrs)
print u'{}: {}'.format('OK' if response else 'ERROR', response.text )