La API del servicio de mensajería Atmosphere® simplifica el envío y la recepción de mensajes SMS a través de sus números telefónicos de IntelePeer.
Todos los números telefónicos de IntelePeer se pueden usar para enviar y recibir mensajes SMS. Visite Aprovisionar números telefónicos para SMS para conocer cómo habilitar sus números para que envíen y reciban aplicaciones SMS.
Puede enviar un mensaje SMS con una llamada a la API del servicio de mensajería Atmosphere®.
POST en https://api.intelepeer.com/SMS/v1/{tn}/send
{tn} es el número telefónico, en formato E.164, desde el cual se enviará el mensaje.
Por ejemplo: usted quiere enviar un mensaje SMS desde el número norteamericano +17208675309 ejecutando POST en el URL
https://api.intelepeer.com/sms/v1/+17208675309/send
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ámetro | Tipo de datos | Requerido | |
---|---|---|---|
en | string | requerido | Él número en formato E.164 desde el cual se envía el mensaje (por ejemplo, +13038675309) |
texto | string | requerido | El mensaje que será enviado |
guid | string | opcional | Un identificador que se anexa al mensaje en el Registro de Detalles de Mensajes para cotejarlo con otros registros del sistema. |
{ "to": "+13038675309", "text": "Hello World!", "guid": "1123123123123123" }
Código de respuesta | Descripción |
---|---|
202 | El mensaje SMS ha sido colocado en cola correctamente para ser entregado al número telefónico de destino. |
400 | Se produjo uno de los siguientes errores:
|
401 | Se produjo uno de los siguientes errores:
|
403 | El destino internacional no se encuentra disponible |
404 | El cliente no puede usar el número telefónico |
{ "state": "CREATED", "refid": "SM5AC09A610001006568100005C32E9D" }
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.
Puede comprobar el estado de un mensaje en cualquier momento después de enviarlo. Conozca cómo Comprobar el estado del mensaje.
El siguiente es el ciclo de vida del mensaje:
Es posible que haya retrasos en la entrega de un mensaje al cliente final por las siguientes razones:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IntelePeerSMSExampleClient.sendSMS { class SendSMS { public void run() { //Authorization Token from IntelePeer Customer Portal string TN = "INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT"; string url = "https://api.intelepeer.com/sms/v1/" + TN + "/send"; string AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE"; string DEST_TN = "INSERT_RECEIVING_TELEPHONENUMBER_HERE_IN_E.164_FORMAT"; string MESSAGE = "the time is now:" + DateTime.Now.ToShortTimeString(); System.Net.WebRequest httpWebRequest = System.Net.WebRequest.Create(url); httpWebRequest.Method = "POST"; //Add Header httpWebRequest.ContentType = "application/json"; httpWebRequest.Headers.Add("Authorization", "Bearer " + AUTH_TOKEN); //Data to be posted string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize( new { to = DEST_TN, text = MESSAGE } ); //Add data to post using (System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } try { //Submit Request and Read Response System.Net.WebResponse httpResponse = httpWebRequest.GetResponse(); using (System.IO.StreamReader streamReader = new System.IO.StreamReader(httpResponse.GetResponseStream())) { string result = streamReader.ReadToEnd(); System.Console.Write(result); } } catch (System.Net.WebException webException) { string response = webException.Message; } catch (Exception exception) { string response = exception.Message; } finally { //do something else } } } }
package main.java.tnActions.sendSms; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Calendar; 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 SendSms { public static void main(String... args) throws Exception { final String TN = "INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT"; final String url = "https://api.intelepeer.com/sms/v1/" + TN + "/send"; final String AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE"; final String DEST_TN = "INSERT_RECEIVING_TELEPHONENUMBER_HERE_IN_E.164_FORMAT"; final String MESSAGE = "the time is now: " + Calendar.getInstance().getTime(); 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 ListurlParameters = new ArrayList (); urlParameters.add(new BasicNameValuePair("to", DEST_TN)); urlParameters.add(new BasicNameValuePair("text", MESSAGE)); // add data to post httpPost.setEntity(new UrlEncodedFormEntity(urlParameters)); // execute GET HttpResponse response = httpclient.execute(httpPost); System.out.println("nSending 'POST' request to URL : " + url); 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()); } }
const request = require("request"); /////////////////////////////////////////////////////////////////////////////// /// update these accordingly /// /////////////////////////////////////////////////////////////////////////////// let authtoken = 'INSERT_AUTH_TOKEN_HERE' let tn = 'INSERT_SENDING_TELEPHONENUMBER_HERE_IN_E.164_FORMAT' let dest_tn = 'INSERT_RECEIVING_TELEPHONENUMBER_HERE_IN_E.164_FORMAT' let message = 'the time is now: {}'.format(datetime.now()) /////////////////////////////////////////////////////////////////////////////// /// leave these alone /// /////////////////////////////////////////////////////////////////////////////// let url = "https://api.intelepeer.com/sms/v1/" + tn +"/send" let payload = { 'to': dest_tn, 'text': message } 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) => { result = JSON.parse(body); console.log(result.text); });
"application/json", 'Authorization' => 'Bearer '.$authtoken ]; $payload = [ 'to' => $dest_tn, 'text' => $message ]; ############################################################################### ### 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(); ?>
import requests from datetime import datetime ############################################################################### ### update these accordingly ### ############################################################################### authtoken = 'INSERT_AUTH_TOKEN_HERE' tn = 'INSERT_SENDING_TELEPHONENUMBER_HERE_IN_E.164_FORMAT' dest_tn = 'INSERT_RECEIVING_TELEPHONENUMBER_HERE_IN_E.164_FORMAT' message = 'the time is now: {}'.format(datetime.now()) ############################################################################### ### leave these alone ### ############################################################################### url = "https://api.intelepeer.com/sms/v1/{}/send".format(tn) payload = { 'to': dest_tn, 'text': message } 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 )