Autenticación de API Atmosphere®

 

La API Atmosphere® utiliza un token en el encabezado HTTP para autenticar usuarios y solicitudes.

 

Los tokens se colocan en el encabezado HTTP de la siguiente manera:
Autorización: Portador TOKEN_PROVIDED_BY_INTELEPEER

 

Adquirir un token

Los tokens se pueden adquirir de dos formas:

 

  • Ideal para aplicaciones de producción: Por medio de la API Atmosphere®, usando un nombre de usuario y contraseña asignados. El nombre de usuario y contraseña de IntelePeer son sus credenciales de acceso al portal de clientes de IntelePeer.
  • Ideal para adaptarse a la API: Por medio del portal del cliente de IntelePeer.


Adquirir un token por medio del portal del cliente

Navegue a la aplicación SMS bajo Mis aplicaciones.

 

Haga clic en el botón Configuración.

 

Haga clic en CONSEGUIR CLAVE y seleccione el periodo durante el cual le gustaría que la clave sea válida.

 

Se mostrará una clave de API válida, y podrá usarla en las llamadas de API de su cuenta

 


Adquirir un token por medio de la API

Los tokens que se adquieren directamente por medio de la API Atmosphere® son válidos por 24 horas.

 

A continuación se describe el proceso recomendado para adquirir y usar los tokens de autenticación en su entorno de producción:

 

  1. Configuración de la aplicación: Guarde el nombre de usuario y la contraseña de la API Atmosphere® en una ubicación de configuración segura.
  2. Cuando inicie la aplicación: Obtenga el token de la API Atmosphere® usando el nombre de usuario y la contraseña, y almacénelo en la memoria para las posteriores llamadas de API.
  3. En cada llamada de API: Utilice el token que obtuvo anteriormente.
  4. Una vez que expire el token (después de 24 horas o de recibir una respuesta HTTP 401 a la llamada de la API): Obtenga un nuevo token de la API Atmosphere®.

 
URI

POST en https://api.intelepeer.com/sms/v1/authenticate/get_portal_auth_token

 
Parámetros

 

ParámetroTipo de datosRequeridoDescripción

nombre de usuario

 

 

stringrequeridoNombre de usuario asignado por IntelePeer
contraseñastringrequeridoContraseña asociada con el nombre de usuario

 
Ejemplo de solicitud

{
    "username": "sms_user",
    "password": "Password123",
}

 
Códigos de respuesta

 

Código de respuestaDescripción
200

Autenticación exitosa. El token se muestra en el cuerpo de la respuesta.

 

401Se produjo uno de los siguientes errores:
 

No se pueden validar las credenciales
Falta un parámetro requerido
La cuenta no tiene habilitado el SMS

 
Ejemplo de respuesta

{
    "token": "TOKEN_RETURNED_BY_API_FOR_SUBSEQUENT_CALLS"
}

package main.java.authorization;

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 GetToken {
    public static void main(String... args) throws Exception {
        final String url = "https://api.intelepeer.com/sms/v1/authenticate/get_portal_auth_token";
        final String USERNAME = "INSERT_USERNAME";
        final String PASSWORD = "INSERT_PASSWORD";

        HttpClient httpclient = HttpClientBuilder.create().build();
        HttpPost httpPost = new HttpPost(url);

        // add header
        httpPost.setHeader(HttpHeaders.CONTENT_TYPE, "application/json");

        // Data to be posted
        List urlParameters = new ArrayList();
        urlParameters.add(new BasicNameValuePair("username", USERNAME));
        urlParameters.add(new BasicNameValuePair("password", PASSWORD));

        // 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());
    }
}
const request = require("request");
///////////////////////////////////////////////////////////////////////////////
/// update these accordingly                                                ///
///////////////////////////////////////////////////////////////////////////////
let data = { "username": "INSERT_USERNAME", "password": "INSERT_PASSWORD" }

///////////////////////////////////////////////////////////////////////////////
/// leave these alone                                                       ///
///////////////////////////////////////////////////////////////////////////////
let url  = "https://api.intelepeer.com/sms/v1/authenticate/get_portal_auth_token"
let hdrs = {  'Content-Type': "application/json" }

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

 

 "INSERT_USERNAME", "password" => "INSERT_PASSWORD" ];

###############################################################################
### leave these alone                                                       ###
###############################################################################
$url  = "https://api.intelepeer.com/sms/v1/authenticate/get_portal_auth_token";
$hdrs = ['Content-Type' => "application/json" ];

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

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

echo $response->getBody();
?>
import requests

###############################################################################
### update these accordingly                                                ###
###############################################################################
data = { "username": "INSERT_USERNAME", "password": "INSERT_PASSWORD" }

###############################################################################
### leave these alone                                                       ###
###############################################################################
url  = "https://api.intelepeer.com/sms/v1/authenticate/get_portal_auth_token"
hdrs = {  'Content-Type': "application/json" }

###############################################################################
### execute the task and parse results                                      ###
###############################################################################
response    = requests.post(url, json=data, headers=hdrs)
status_code = response.status_code
text        = response.text
token = None
try:
    token = response.json().get(u'token')
except: pass

print u'{}: {}'.format('OK' if response else 'ERROR', response.text )