Python-Integration
Die Integration der SMSBAT-API in Ihre Python-Anwendung ist mithilfe der integrierten „urllib“ oder der beliebten „requests“-Bibliothek unkompliziert.
Anfragen verwenden (empfohlen)
Installieren Sie zunächst die „requests“-Bibliothek:
Verwenden Sie dann den folgenden Code, um eine Nachricht zu senden:
import requests
import json
url = 'https://api.smsbat.com/bat/messagelist'
api_key = 'YOUR_API_KEY_HERE'
headers = {
'Content-Type': 'application/json',
'X-Authorization-Key': api_key
}
payload = {
"messages": [
{
"from": "ALPHANAME",
"to": "380501234567",
"text": "Hello from Python and SMSBAT!",
"type": "sms"
}
]
}
try:
response = requests.post(url, headers=headers, json=payload, timeout=10)
response.raise_for_status() # Raise an exception for HTTP errors
print(f"Status Code: {response.status_code}")
print(f"Response: {response.json()}")
except requests.exceptions.RequestException as e:
print(f"An error occurred: {e}")
if hasattr(e, 'response') and e.response is not None:
print(f"Error Details: {e.response.text}")
Verwendung von aiohttp (asynchron)
Wenn Sie eine asynchrone Anwendung erstellen (z. B. mit FastAPI oder asyncio), können Sie „aiohttp“ verwenden:
import aiohttp
import asyncio
async def send_message():
url = 'https://api.smsbat.com/bat/messagelist'
api_key = 'YOUR_API_KEY_HERE'
headers = {
'Content-Type': 'application/json',
'X-Authorization-Key': api_key
}
payload = {
"messages": [
{
"from": "ALPHANAME",
"to": "380501234567",
"text": "Hello from Async Python!",
"type": "sms"
}
]
}
async with aiohttp.ClientSession() as session:
try:
async with session.post(url, headers=headers, json=payload) as response:
print(f"Status Code: {response.status}")
result = await response.json()
print(f"Response: {result}")
except Exception as e:
print(f"An error occurred: {e}")
# Run the async function
if __name__ == '__main__':
asyncio.run(send_message())