iSolutions iSolutions Api CORPORATE
iSolutions API
Documentación • SMS API

Guía rápida para integrar iSolutionsAPI

Aquí tienes la documentación completa para envío de SMS con sender_3, incluyendo parámetros, codificación correcta del texto (evitar el "hola+este+es..."), respuestas en HTML y ejemplos listos.

Endpoint (sender_3)

Envío de SMS mediante petición GET.

Método: GET Servicio: sender_3 Respuesta: Texto/HTML
https://isolutionsapi.com/api/?service=sender_3&token=TU_TOKEN&key=TU_KEY&phone=51912345678&text=Hola%20mundo
Si tu sistema arma el URL en backend, usa urlencode() para el parámetro text.

Parámetros

Parámetros requeridos para enviar un SMS.

ParámetroRequeridoDescripciónEjemplo
serviceServicio a utilizar.sender_3
tokenToken de autenticación del usuario.TU_TOKEN
keyClave asociada al token.TU_KEY
phoneNúmero destino en formato internacional (sin +). Ej: Perú 51...51912345678
textMensaje del SMS (recomendado URL-encoded).Hola%20mundo

Texto y codificación

Si envías el mensaje por URL, algunos clientes reemplazan espacios por +. Para evitar problemas, siempre codifica el texto.

✅ En tu URL usa: text=urlencode("hola este es un sms")
✅ En tu API al recibir: $sms = urldecode($_GET['text']);
Si te llegan +, puedes reforzar: str_replace('+',' ', $sms).
/* Recomendado en tu API (receiver) */ $textRaw = $_GET['text'] ?? ''; $sms = urldecode($textRaw); $sms = str_replace('+',' ', $sms); // extra protección

Respuestas (HTML)

La API responde en texto (HTML). Debes validar por contenido.

RespuestaSignificado
sms enviado con exitoEl mensaje fue entregado correctamente.
No cuentas con saldo suficienteEl usuario no tiene saldo disponible.
error al enviar el smsFallo interno o número inválido.
Servicio no disponibleServicio temporalmente fuera.
Tip PRO: en tu cliente, convierte la respuesta a minúsculas y busca palabras clave. Ej: strpos($r, 'saldo') !== false.

Ejemplos listos

cURL (terminal)

curl -G "https://isolutionsapi.com/api/" \ --data-urlencode "service=sender_3" \ --data-urlencode "token=TU_TOKEN" \ --data-urlencode "key=TU_KEY" \ --data-urlencode "phone=51912345678" \ --data-urlencode "text=Hola mundo"

PHP (cURL)

$base = "https://isolutionsapi.com/api/"; $params = [ "service" => "sender_3", "token" => "TU_TOKEN", "key" => "TU_KEY", "phone" => "51912345678", "text" => "Hola mundo" ]; $url = $base . "?" . http_build_query($params); $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, CURLOPT_FOLLOWLOCATION => true ]); $response = curl_exec($ch); curl_close($ch); echo $response;

JavaScript (fetch)

const base = "https://isolutionsapi.com/api/"; const params = new URLSearchParams({ service: "sender_3", token: "TU_TOKEN", key: "TU_KEY", phone: "51912345678", text: "Hola mundo" }); fetch(`${base}?${params.toString()}`) .then(r => r.text()) .then(txt => console.log(txt));

Checklist de integración

✅ Usa timeout 30–60s en el cliente.
✅ Loguea: token (parcial), phone, respuesta y tiempo.
✅ Valida formato de phone (solo dígitos).
✅ Codifica siempre text (urlencode / http_build_query).
✅ Si respuesta es HTML, normaliza: trim + strtolower antes de comparar.