Información General
La API de SMS te permite enviar mensajes desde tus aplicaciones usando tu saldo de créditos. Cada SMS enviado consume 1 crédito de tu cuenta.
POST
https://teachapi.shop/api_sms.php
Headers requeridos:
X-API-Key: tu_api_key_aqui
Content-Type: application/json
Formato de la petición:
{
"numero": "5351234567",
"mensaje": "Texto del mensaje"
}
Importante: El número debe estar en formato cubano: 535XXXXXXX (ej: 5351234567)
Ejemplos de Implementación
JavaScript (Fetch API)
const apiKey = 'TU_API_KEY_AQUI';
const url = 'https://teachapi.shop/api_sms.php';
const data = {
numero: '5351234567',
mensaje: 'Hola desde mi sitio web'
};
fetch(url, {
method: 'POST',
headers: {
'X-API-Key': apiKey,
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
if (data.success) {
console.log('SMS enviado. Créditos restantes:', data.creditos_restantes);
} else {
console.error('Error:', data.error);
}
})
.catch(error => console.error('Error:', error));
PHP (cURL)
$apiKey = 'TU_API_KEY_AQUI';
$url = 'https://teachapi.shop/api_sms.php';
$data = [
'numero' => '5351234567',
'mensaje' => 'Hola desde PHP'
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-Key: ' . $apiKey,
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$resultado = json_decode($response, true);
if ($httpCode == 200 && $resultado['success']) {
echo "SMS enviado. Créditos restantes: " . $resultado['creditos_restantes'];
} else {
echo "Error: " . ($resultado['error'] ?? 'Error desconocido');
}
Python (requests)
import requests
import json
api_key = 'TU_API_KEY_AQUI'
url = 'https://teachapi.shop/api_sms.php'
headers = {
'X-API-Key': api_key,
'Content-Type': 'application/json'
}
data = {
'numero': '5351234567',
'mensaje': 'Hola desde Python'
}
response = requests.post(url, headers=headers, json=data)
resultado = response.json()
if resultado.get('success'):
print(f"SMS enviado. Créditos restantes: {resultado['creditos_restantes']}")
else:
print(f"Error: {resultado.get('error', 'Error desconocido')}")
cURL (línea de comandos)
curl -X POST https://teachapi.shop/api_sms.php \
-H "X-API-Key: TU_API_KEY_AQUI" \
-H "Content-Type: application/json" \
-d '{"numero": "5351234567", "mensaje": "Hola desde cURL"}'
Respuesta de la API
Respuesta exitosa:
{
"success": true,
"message_id": "123456789",
"creditos_restantes": 95,
"costo": 1
}
Respuesta con error:
{
"success": false,
"error": "Créditos insuficientes"
}
Códigos de error comunes:
| Código HTTP |
Significado |
| 401 |
API Key inválida o no proporcionada |
| 402 |
Créditos insuficientes |
| 400 |
Datos inválidos (número o mensaje incorrecto) |
| 405 |
Método no permitido (solo POST) |
| 500 |
Error interno del servidor |