Aprovisionar números telefónicos para SMS

Descripción general

Todos los números telefónicos en la red de IntelePeer se pueden usar para enviar y recibir mensajes SMS. Puede habilitar el SMS de su número telefónico de las siguientes maneras:

  • Configurando un número por medio del portal del cliente de IntelePeer
  • Configurando un número por medio de la API Atmosphere®

En esta página se analiza la habilitación de números para SMS por medio de la API. Conozca más sobre la habilitación de números por medio del portal del cliente de IntelePeer en la Guía de inicio rápido.

Configuración de números por medio de la API

Para configurar un número telefónico por medio de la API Atmosphere® se deben seguir dos pasos:

  1. Habilita explícitamente el SMS para el número telefónico
  2. Crea y configura el webhook para procesar los mensajes SMS entrantes

Comprobar la configuración de los números por medio de la API

Puede comprobar la configuración actual de un número por medio de la API Atmosphere®:

  • Saber si un número telefónico está habilitado para SMS
  • Conocer el webhook actual de un número telefónico


Habilitar el SMS para un solo número telefónico por medio de la API

URI

POST en https://api.intelepeer.com/sms/v1/{tn}/provision

{tn} es el número telefónico que se aprovisionará en formato E.164.

 

Por ejemplo: usted quiere habilitar el número +17208675309 para que envíe/reciba mensajes SMS ejecutando POST en el URL

https://api.intelepeer.com/sms/v1/+17208675309/provision

 

Parámetros

Ninguno, aunque 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®.

 

Códigos de respuesta
Código de respuestaDescripción
202La solicitud de aprovisionamiento ha sido aceptada y debe ser completada.
400El motivo del error se encuentra dentro de la respuesta.
401El motivo del error se encuentra dentro de la respuesta.
409El aprovisionamiento (o la baja) del número está en curso.

 

Comportamiento

Por lo general, la habilitación de los números para SMS demora unos minutos; sin embargo, en los siguientes casos se podría tardar más:

  • Números de llamadas sin cargo de los cuales IntelePeer no es el responsable
  • DID y números de llamadas sin cargo que ya están siendo usados para SMS con otro servicio

 

Ejemplo de código

C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IntelePeerSMSExampleClient.provisioning
{
    class ProvisionTN
    {
        public void run()
        {
            string TN = INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT";
            string url = "https://api.intelepeer.com/sms/v1/" + TN + "/provision";
            string AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE";

            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);
            
            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
            }
        }
    }
}

 

Java

package main.java.tnActions.provisioning;

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 ProvisionTn {
	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 + "/provision";
		final String AUTH_TOKEN = "INSERT_AUTH_TOKEN_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);
                
		// execute POST
		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());
    }
}

 

Node.js

const request = require("request");

///////////////////////////////////////////////////////////////////////////////
/// update these accordingly                                                ///
///////////////////////////////////////////////////////////////////////////////
let authtoken = 'INSERT_AUTH_TOKEN_HERE'
let tn        = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT'

///////////////////////////////////////////////////////////////////////////////
/// leave these alone                                                       ///
///////////////////////////////////////////////////////////////////////////////
let url       = "https://api.intelepeer.com/sms/v1/"+ tn +"/provision"
let hdrs      = {
    'Content-Type': "application/json",
    'Authorization': "Bearer " + authtoken
}

///////////////////////////////////////////////////////////////////////////////
/// execute the task and parse results                                      ///
///////////////////////////////////////////////////////////////////////////////
request.post({
    url: url,
    headers: hdrs,
    form: {}
},
(error, response, body) => {        
    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';
$tn = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT';

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

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

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

echo $response->getBody();
?>

 

Python

import requests

###############################################################################
### update these accordingly                                                ###
###############################################################################
authtoken = 'INSERT_AUTH_TOKEN_HERE'
tn        = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT'

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

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

 

 


Configurar un webhook para recibir mensajes SMS por medio de la API

URI

POST en https://api.intelepeer.com/sms/v1/{tn}/webhook

{tn} es el número telefónico que será configurado en formato E.164.

 

Por ejemplo: usted quiere configurar el webhook para el número +17208675309 ejecutando POST en el URL

https://api.intelepeer.com/sms/v1/+17208675309/webhook

 

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
webhookstringrequeridoEl URL donde IntelePeer publicará los mensajes entrantes

 

Ejemplo
{
    "webhook": "https://www.myserver.com/myapp"
}

 

Códigos de respuesta
Código de respuestaDescripción
200La configuración del webhook se actualizó correctamente.
400Se produjo uno de los siguientes errores:

  • El número telefónico no se encuentra en un formato E.164 correcto
  • El número telefónico no ha sido habilitado para SMS
400Se suministró una URL para el webhook que no estaba correctamente formateada.
404El cliente no puede usar el número telefónico.

 

Ejemplo de código

C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IntelePeerSMSExampleClient.inboundWebHook
{
    class SetTNWebHook
    {
        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 + "/webhook";
            string AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE";
            string WEBHOOK_URL = "INSERT_WEBHOOK_HERE";

            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
                    {
                        webhook = WEBHOOK_URL
                    }
                );

            //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
            }
        }
    }
}

 

Java

package main.java.tnActions.inboundWebHook;

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 SetTnWebHook {
	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 + "/webhook";
		final String AUTH_TOKEN = "INSERT_AUTH_TOKEN_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);
                
		// execute GET
		HttpResponse response = httpclient.execute(httpPost);
        
		System.out.println("\nSending 'GET' 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());
    }
}

 

Node.js

const request = require("request");

///////////////////////////////////////////////////////////////////////////////
/// update these accordingly                                                ///
///////////////////////////////////////////////////////////////////////////////
let authtoken = 'INSERT_AUTH_TOKEN_HERE'
let tn        = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT'
let webhook   = 'INSERT_WEBHOOK_URL_HERE'

///////////////////////////////////////////////////////////////////////////////
/// leave these alone                                                       ///
///////////////////////////////////////////////////////////////////////////////
let payload   = { 'webhook': webhook }
let url       = "https://api.intelepeer.com/sms/v1/" + tn +"/webhook"
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';
$tn = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT';
$webhook = 'INSERT_WEBHOOK_URL_HERE';

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

###############################################################################
### 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

###############################################################################
### update these accordingly                                                ###
###############################################################################
authtoken = 'INSERT_AUTH_TOKEN_HERE'
tn        = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT'
webhook   = 'INSERT_WEBHOOK_URL_HERE'

###############################################################################
### leave these alone                                                       ###
###############################################################################
payload   = { 'webhook': webhook }
url       = "https://api.intelepeer.com/sms/v1/{}/webhook".format(tn)
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 )

 


Saber si un número telefónico está habilitado para SMS

URI

GET en https://api.intelepeer.com/sms/v1/{tn}/provision

{tn} es el número telefónico que se consulta en formato E.164.

 

Por ejemplo: usted quiere configurar el webhook para el número +17208675309 ejecutando GET en el URL

https://api.intelepeer.com/sms/v1/+17208675309/provision

 

Parámetros

Ninguno, aunque 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®.

 

Ejemplo de respuesta
{
    "provisioning": {
        "state": "requested"
    }
}

 

Valores de variable de respuesta
VariableValores disponibles
estado
  • solicitado
  • aprovisionando
  • aprovisionado
  • sin solicitar
  • dando de baja
  • error

 

Códigos de respuesta
Código de respuestaDescripción
200Estado que se muestra en la respuesta.
400El número telefónico no se encuentra en un formato E.164 correcto.
404El cliente no puede usar el número telefónico.

 

Ejemplo de código

C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IntelePeerSMSExampleClient.provisioning
{
    class GetTNProvisioningStatus
    {
        public void run()
        {
            string TN = INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT";
            string url = "https://api.intelepeer.com/sms/v1/" + TN + "/provision";
            string AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE";

            System.Net.WebRequest httpWebRequest = System.Net.WebRequest.Create(url);
            httpWebRequest.Method = "GET";

            //Add Header
            httpWebRequest.ContentType = "application/json";
            httpWebRequest.Headers.Add("Authorization", "Bearer " + AUTH_TOKEN);

            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
            }
        }
    }
}

 

Java

package main.java.tnActions.provisioning;

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.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;

public class GetTnProvisioningStatus {
	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 + "/provision";
		final String AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE";
		
		
		HttpClient httpclient = HttpClientBuilder.create().build();
		HttpGet httpGet = new HttpGet(url);
        
		// add header
		httpGet.setHeader(HttpHeaders.CONTENT_TYPE, "application/json");
		httpGet.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + AUTH_TOKEN);
                
		// execute GET
		HttpResponse response = httpclient.execute(httpGet);
        
		System.out.println("\nSending 'GET' 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());
    }
}

 

Node.js

const request = require("request");

///////////////////////////////////////////////////////////////////////////////
/// update these accordingly                                                ///
///////////////////////////////////////////////////////////////////////////////
authtoken = 'INSERT_AUTH_TOKEN_HERE'
tn        = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT'

///////////////////////////////////////////////////////////////////////////////
/// leave these alone                                                       ///
///////////////////////////////////////////////////////////////////////////////
url       = "https://api.intelepeer.com/sms/v1/" + tn +"/provision"
hdrs      = {
    'Content-Type': "application/json",
    'Authorization': "Bearer " + authtoken
    }

///////////////////////////////////////////////////////////////////////////////
/// execute the task and parse results                                      ///
///////////////////////////////////////////////////////////////////////////////
request.get({
    url: url,
    headers: hdrs
},
(error, response, body) => {        
    let result = JSON.parse(body);
    console.log("response text " +  result.text)
});

 

PHP

<?php

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

###############################################################################
### update these accordingly                                                ###
###############################################################################
$authtoken = 'INSERT_AUTH_TOKEN_HERE';
$tn = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT';

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

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

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

echo $response->getBody();
?>

 

Python

import requests

###############################################################################
### update these accordingly                                                ###
###############################################################################
authtoken = 'INSERT_AUTH_TOKEN_HERE'
tn        = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT'

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

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

 

 


Comprobar si el webhook recibe mensajes SMS por medio de la API

URI

GET en https://api.intelepeer.com/sms/v1/{tn}/webhook

{tn} es el número telefónico que se consulta en formato E.164.

 

Por ejemplo: usted quiere recuperar el webhook para el número +17208675309 ejecutando GET en el URL

https://api.intelepeer.com/sms/v1/+17208675309/webhook

 

Parámetros

Ninguno, aunque 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®.

 

Ejemplo de respuesta
{
    "webhook": "https://www.intelepeer.com/"
    "tn_e164": "+17208675309"
    "provisioning": {
            "state": "provisioned"
    }
}

 

Valores de variable de respuesta
VariableValores disponibles
estado
  • solicitado
  • aprovisionando
  • aprovisionado
  • sin solicitar
  • dando de baja
  • error

 

Códigos de respuesta
Código de respuestaDescripción
200Webhook que se muestra en la respuesta.
400El número telefónico no se encuentra en un formato E.164 correcto.
404El cliente no puede usar el número telefónico.

 

Ejemplo de código

C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IntelePeerSMSExampleClient.provisioning
{
    class GetTNProvisioningStatus
    {
        public void run()
        {
            string TN = INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT";
            string url = "https://api.intelepeer.com/sms/v1/" + TN + "/webhook";
            string AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE";

            System.Net.WebRequest httpWebRequest = System.Net.WebRequest.Create(url);
            httpWebRequest.Method = "GET";

            //Add Header
            httpWebRequest.ContentType = "application/json";
            httpWebRequest.Headers.Add("Authorization", "Bearer " + AUTH_TOKEN);

            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
            }
        }
    }
}

 

Java

package main.java.tnActions.inboundWebHook;

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.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;

public class GetTnWebHook {
	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 + "/webhook";
		final String AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE";
		
		
		HttpClient httpclient = HttpClientBuilder.create().build();
		HttpGet httpGet = new HttpGet(url);
        
		// add header
		httpGet.setHeader(HttpHeaders.CONTENT_TYPE, "application/json");
		httpGet.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + AUTH_TOKEN);
                
		// execute GET
		HttpResponse response = httpclient.execute(httpGet);
        
		System.out.println("\nSending 'GET' 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());
    }
}

 

Node.js

const request = require("request");

///////////////////////////////////////////////////////////////////////////////
/// update these accordingly                                                ///
///////////////////////////////////////////////////////////////////////////////
let authtoken = 'INSERT_AUTH_TOKEN_HERE'
let tn        = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT'

///////////////////////////////////////////////////////////////////////////////
/// leave these alone                                                       ///
///////////////////////////////////////////////////////////////////////////////
let url       = "https://api.intelepeer.com/sms/v1/" + tn + "/webhook"
let hdrs      = {
    'Content-Type': "application/json",
    'Authorization': "Bearer " + authtoken
    }

///////////////////////////////////////////////////////////////////////////////
/// execute the task and parse results                                      ///
///////////////////////////////////////////////////////////////////////////////
request.get({
    url: url,
    headers: hdrs
},
(error, response, body) => {        
    let result = JSON.parse(body);
    console.log("response text " +  result.text)
});

 

PHP

<?php

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

###############################################################################
### update these accordingly                                                ###
###############################################################################
$authtoken = 'INSERT_AUTH_TOKEN_HERE';
$tn = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT';

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

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

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

echo $response->getBody();
?>

 

Python

import requests

###############################################################################
### update these accordingly                                                ###
###############################################################################
authtoken = 'INSERT_AUTH_TOKEN_HERE'
tn        = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT'

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

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

 

 


Deshabilitar un número para SMS por medio de la API

URI

DELETE en https://api.intelepeer.com/sms/v1/{tn}/provision

{tn} es el número telefónico que se aprovisionará en formato E.164.

 

Por ejemplo: usted quiere habilitar el número +17208675309 para que envíe/reciba mensajes SMS ejecutando DELETE en el URL

https://api.intelepeer.com/sms/v1/+17208675309/provision

 

Parámetros

Ninguno, aunque 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®.

 

Códigos de respuesta
Código de respuestaDescripción
202La solicitud de baja ha sido aceptada y debe ser completada.
400El motivo del error se encuentra dentro de la respuesta.
401El motivo del error se encuentra dentro de la respuesta.
409El aprovisionamiento (o la baja) del número está en curso.

 

Comportamiento

La baja se puede solicitar únicamente cuando un número tiene el estado aprovisionado.

 

Ejemplo de código

C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IntelePeerSMSExampleClient.provisioning
{
    class GetTNProvisioningStatus
    {
        public void run()
        {
            string TN = INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT";
            string url = "https://api.intelepeer.com/sms/v1/" + TN + "/provision";
            string AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE";

            System.Net.WebRequest httpWebRequest = System.Net.WebRequest.Create(url);
            httpWebRequest.Method = "DELETE";

            //Add Header
            httpWebRequest.ContentType = "application/json";
            httpWebRequest.Headers.Add("Authorization", "Bearer " + AUTH_TOKEN);

            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
            }
        }
    }
}

 

Java

package main.java.tnActions.provisioning;

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.HttpDelete;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;

public class DeprovisionTn {
	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 + "/provision";
		final String AUTH_TOKEN = "INSERT_AUTH_TOKEN_HERE";
		
		
		HttpClient httpclient = HttpClientBuilder.create().build();
		HttpDelete httpGet = new HttpDelete(url);
        
		// add header
		httpGet.setHeader(HttpHeaders.CONTENT_TYPE, "application/json");
		httpGet.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + AUTH_TOKEN);
                
		// execute GET
		HttpResponse response = httpclient.execute(httpGet);
        
		System.out.println("\nSending 'DELETE' 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());
    }
}

 

Node.js

const request = require("request");

///////////////////////////////////////////////////////////////////////////////
/// update these accordingly                                                ///
///////////////////////////////////////////////////////////////////////////////
let authtoken = 'INSERT_AUTH_TOKEN_HERE'
let tn        = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT'

///////////////////////////////////////////////////////////////////////////////
/// leave these alone                                                       ///
///////////////////////////////////////////////////////////////////////////////
let url       = "https://api.intelepeer.com/sms/v1/" + tn +"/provision"
let hdrs      = {
    'Content-Type': "application/json",
    'Authorization': "Bearer " + authtoken
}

///////////////////////////////////////////////////////////////////////////////
/// execute the task and parse results                                      ///
///////////////////////////////////////////////////////////////////////////////
request.delete({
    url: url,
    headers: hdrs
},
(error, response, body) => {        
    let result = JSON.parse(body);
    console.log("response text " +  result.text)
});

 

PHP

<?php

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

###############################################################################
### update these accordingly                                                ###
###############################################################################
$authtoken = 'INSERT_AUTH_TOKEN_HERE';
$tn = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT';

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

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

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

echo $response->getBody();
?>

 

Python

import requests

###############################################################################
### update these accordingly                                                ###
###############################################################################
authtoken = 'INSERT_AUTH_TOKEN_HERE'
tn        = 'INSERT_TELEPHONENUMBER_HERE_IN_E.164_FORMAT'

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

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