Obtener Saldo
Se obtiene la información de cuanto saldo esta disponible en una cuenta, es la unica operación relacionada con la cuenta actualmente disponible en la API. Mientras tu access_token sea valido, puedes efectuar la siguiente petición:
Petición HTTP GET
GET https://www.rti-sms.com/api/balance
Cabecera obligatoria en petición HTTP GET
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN_HERE
## Get Balance Operation
curl "https://www.rti-sms.com/api/balance" \
-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/balance');
// 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():
# Get Balance Operation
# GET https://www.rti-sms.com/api/balance
try:
response = requests.get(
url="https://www.rti-sms.com/api/balance",
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 Get Balance Operation
(function(callback) {
'use strict';
const httpTransport = require('https');
const responseEncoding = 'utf8';
const httpOptions = {
hostname: 'www.rti-sms.com',
port: '443',
path: '/api/balance',
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() {
// Get Balance Operation (GET )
try {
// Create request
Content content = Request.Get("https://www.rti-sms.com/api/balance")
// 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 de obtener el saldo es exitosa, la API responderá con
HTTP Status: HTTP/1.1 200 OK
y el body
de la respuesta tendrá el saldo que varía con la cantidad de crédito disponible en la cuenta como cantidad.
Una operación exitosa de obtener el saldo retorna una JSON con la siguiente estructura:
{"balance":"457.00"}
HTTP 401 - Unauthorized
y un body vacio! En esos casos y cuando
probablemente no uses un Cliente HTTP capaz de usar OAuth2 el cual maneje los procesos de autenticación por ti,
deberias usar el proceso de Autenticación Manual de nuevo y usar el nuevo access_token para la llamada
siguiente a la API.