Vai al contenuto

Integrazione Python

Integrare l'API SMSBAT nella tua applicazione Python è semplice utilizzando "urllib" integrato o la popolare libreria "requests".

Utilizzo delle richieste (consigliato)

Per prima cosa installa la libreria requests:

pip install requests

Quindi, utilizza il seguente codice per inviare un messaggio:

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}")

Utilizzo di aiohttp (asincrono)

Se stai creando un'applicazione asincrona (ad esempio, utilizzando FastAPI o asyncio), puoi utilizzare aiohttp:

CODICE_BLOCCO_2

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())