Enviar API de WhatsApp
La API de SMSMobile admite dos métodos de autenticación: utilizando una clave API simple o el protocolo OAuth2 con un ID de cliente y un secreto de cliente.
1. Autenticación de clave API para enviar SMS
Este método requiere una clave API que se puede incluir como parámetro en una solicitud GET o POST. Es una forma sencilla de autenticar sus solicitudes API.
https://api.smsmobileapi.com/sendsms?apikey=YOUR_API_KEY&waonly=yes&recipients=PHONE_NUMBER&message=MESSAGE_TO_SEND
Parámetros:
- apikey:Su clave API única.
- recipients: El número de teléfono del destinatario (el número debe estar disponible en WhatsApp). Ingrese el número de teléfono comenzando con el código del país (sin '+' y sin '00'), seguido directamente por el resto de su número. Ejemplo 191728660
- message:El mensaje a enviar (varias líneas posibles).
- waonly:debe tener el valor Sí -> Es necesario especificar que solo se debe enviar un mensaje de WhatsApp
Ejemplo:
OBTENER https://api.smsmobileapi.com/sendsms?apikey=YOUR_API_KEYY&waonly=yes&recipients=191728660&message=HelloWorld
2. Autenticación OAuth2 para enviar SMS
OAuth2 proporciona un método de autenticación más seguro y escalable.
Necesitará utilizar un ID de cliente y un secreto de cliente para obtener un token de acceso, que luego debe incluirse en sus solicitudes de API mediante el Autorización encabezamiento.
El client_id y el client_secret están disponibles en su panel de control, a los que puede acceder después de instalar la aplicación y crear una cuenta en su dispositivo móvil.
Descargue la aplicación móvil ahora o
Accede a tu panel de control.
Obtención de un token de acceso
Para obtener un token de acceso, envíe una solicitud POST al punto final del token con su ID de cliente y su secreto de cliente.
curl -X POST https://api.smsmobileapi.com/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=1ab0ex4b4c1ef2c800690d" \
-d "client_secret=3ed108a93d0414074b94364290b6a7348475e93a0567005"
Usando el token de acceso:
Una vez que tenga el token de acceso, inclúyalo en el Autorización encabezado de sus solicitudes de API:
curl -X POST https://api.smsmobileapi.com/sendsms?waonly=yes \
-H "Autorización: Portador abc123xyz456" \
-H "Tipo de contenido: aplicación/x-www-form-urlencoded" \
-d "destinatarios=+1234567890" \
-d "mensaje=Hola"
¿Qué método deberías utilizar?
- Usar Autenticación de clave API para integraciones rápidas y sencillas.
- Usar Autenticación OAuth2 para una mayor seguridad y escalabilidad en sus integraciones.
Para obtener más detalles, consulte la documentación completa.
Enviar mensaje de WhatsApp
URL WSDL
https://api.smsmobileapi.com/sendsms/wsdl/sendsms.wsdl
Parámetros:
- recipients: El número de móvil del destinatario.
- message: El mensaje a enviar.
- apikey: La clave API que tienes o recibirás.
- waonly: debe tener el valor Sí -> Es necesario especificar que solo se debe enviar un mensaje de WhatsApp.
Ejemplo
require_once "lib/nusoap.php";
$client = new nusoap_client("https://api.smsmobileapi.com/sendsms/wsdl/sendsms.wsdl", true);
$error = $client->getError();
$result = $client->call("sendSms", array("waonly" =>"yes","recipients" =>$_GET['recipients'],"message" =>$_GET['message'],"apikey" =>$_GET['apikey']));
print_r($result);
Enviar WhatsApp
Comando básico de cURL
Puede utilizar el siguiente comando cURL para enviar un mensaje de WhatsApp a través de SMSmobileAPI:
curl -X POST https://api.smsmobileapi.com/sendsms/?waonly=yes \
-d "recipients=PHONE_NUMBER" \
-d "message=YOUR_MESSAGE" \
-d "apikey=YOUR_API_KEY"
Ejemplo de cURL en PHP
Si usas PHP, aquí te mostramos cómo puedes enviar un mensaje de WhatsApp usando cURL:
<?php
$url = 'https://api.smsmobileapi.com/sendsms/?waonly=yes';
$data = array(
'recipients' => 'PHONE_NUMBER',
'message' => 'YOUR_MESSAGE',
'apikey' => 'YOUR_API_KEY'
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($data),
CURLOPT_RETURNTRANSFER => true,
);
$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Este ejemplo de PHP demuestra cómo enviar una solicitud POST usando cURL a SMSmobileAPI, pasando los parámetros necesarios como una matriz asociativa.
Enviar WhatsApp
Utilice nuestro módulo oficial de Python: https://smsmobileapi.com/python/
o usa el método manual...
Uso de la biblioteca `requests`
La biblioteca `requests` es una biblioteca HTTP sencilla y popular para Python. Aquí se explica cómo usarla para enviar un mensaje de WhatsApp a través de SMSmobileAPI:
import requests
url = "https://api.smsmobileapi.com/sendsms/waonly=yes"
payload = {
"recipients": "PHONE_NUMBER",
"message": "YOUR_MESSAGE",
"apikey": "YOUR_API_KEY"
}
response = requests.post(url, data=payload)
print(response.text)
Este ejemplo demuestra una solicitud POST simple a SMSmobileAPI, enviando un mensaje de WhatsApp a un número de teléfono específico.
Uso de la biblioteca `http.client`
La biblioteca `http.client` está incluida en la biblioteca estándar de Python y también se puede utilizar para interactuar con su API:
import http.client
import urllib.parse
conn = http.client.HTTPSConnection("api.smsmobileapi.com")
params = urllib.parse.urlencode({
"recipients": "PHONE_NUMBER",
"message": "YOUR_MESSAGE",
"apikey": "YOUR_API_KEY"
})
headers = { "Content-type": "application/x-www-form-urlencoded" }
conn.request("POST", "/sendsms/?waonly=yes", params, headers)
response = conn.getresponse()
data = response.read()
print(data.decode("utf-8"))
conn.close()
Este ejemplo muestra cómo utilizar la biblioteca `http.client` para enviar una solicitud POST a la API. Los parámetros están codificados en URL y se envían con los encabezados correspondientes.
Enviar WhatsApp
Usando la API `fetch`
La API "fetch" es una forma moderna y versátil de realizar solicitudes HTTP en JavaScript. A continuación, se muestra cómo puede usarla para enviar un mensaje de WhatsApp a través de SMSmobileAPI:
const url = "https://api.smsmobileapi.com/sendsms/?waonly=yes";
const data = {
recipients: "PHONE_NUMBER",
message: "YOUR_MESSAGE",
apikey: "YOUR_API_KEY"
};
fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
body: new URLSearchParams(data)
})
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.error("Error:", error));
Este ejemplo demuestra cómo enviar una solicitud POST utilizando la API `fetch`, que es compatible con la mayoría de los navegadores modernos.
Usando `XMLHttpRequest`
Si necesita compatibilidad con navegadores más antiguos, puede utilizar el objeto `XMLHttpRequest`:
const xhr = new XMLHttpRequest();
const url = "https://api.smsmobileapi.com/sendsms/?waonly=yes";
const data = "recipients=PHONE_NUMBER&message=YOUR_MESSAGE&apikey=YOUR_API_KEY";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send(data);
Este ejemplo muestra cómo utilizar `XMLHttpRequest` para enviar una solicitud POST, proporcionando compatibilidad con navegadores más antiguos que pueden no soportar `fetch`.
Enviar WhatsApp
Usando la biblioteca `axios`
La biblioteca `axios` es un cliente HTTP popular para Node.js. Aquí se explica cómo se puede usar para enviar un mensaje de WhatsApp a través de SMSmobileAPI:
const axios = require('axios');
const url = 'https://api.smsmobileapi.com/sendsms/?waonly=yes';
const data = {
recipients: 'PHONE_NUMBER',
message: 'YOUR_MESSAGE',
apikey: 'YOUR_API_KEY'
};
axios.post(url, data)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error);
});
Este ejemplo demuestra cómo enviar una solicitud POST usando `axios` en Node.js para interactuar con SMSmobileAPI.
Enviar WhatsApp
Uso de la biblioteca `Net::HTTP`
Puede utilizar la biblioteca `Net::HTTP` en Ruby para enviar un mensaje de WhatsApp a través de SMSmobileAPI:
require 'net/http'
require 'uri'
uri = URI.parse("https://api.smsmobileapi.com/sendsms/?waonly=yes")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
"recipients" => "PHONE_NUMBER",
"message" => "YOUR_MESSAGE",
"apikey" => "YOUR_API_KEY"
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
puts response.body
Este ejemplo demuestra cómo enviar una solicitud POST utilizando `Net::HTTP` en Ruby a SMSmobileAPI.