Autenticazione
Sono disponibili tre metodi di autenticazione. API Key è consigliata per la maggior parte delle integrazioni.
API Key (Consigliato)
Includi la tua API key nell'header X-Api-Key con ogni richiesta.
Ottenere la tua API Key
- Accedi al tuo account Qlara
- Vai a Impostazioni → API Keys
- Genera una nuova key o copia la tua key esistente
- Conservala in modo sicuro (non commitarla nel controllo di versione)
Utilizzare API Key
- cURL
- Python
- Node.js
curl -X POST https://lora-api.agiletelecom.com/api/message-server/sms/send \
-H "X-Api-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "+393901234567",
"message": "Hello from Qlara!"
}'
import requests
headers = {
"X-Api-Key": "your_api_key_here",
"Content-Type": "application/json"
}
response = requests.post(
"https://lora-api.agiletelecom.com/api/message-server/sms/send",
json={"phoneNumber": "+393901234567", "message": "Hello from Qlara!"},
headers=headers
)
print(response.json())
const axios = require('axios');
const config = {
headers: {
'X-Api-Key': 'your_api_key_here',
'Content-Type': 'application/json'
}
};
const data = {
phoneNumber: '+393901234567',
message: 'Hello from Qlara!'
};
axios.post(
'https://lora-api.agiletelecom.com/api/message-server/sms/send',
data,
config
).then(response => console.log(response.data))
.catch(error => console.error(error));
Autenticazione di Base
Se le API key non sono adatte al tuo caso d'uso, usa credenziali codificate in Base64.
Generare Credenziali di Autenticazione di Base
Su macOS/Linux:
echo -n "username:password" | base64
Su Windows (PowerShell):
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("username:password"))
Utilizzare Autenticazione di Base
- cURL
- Python
- Node.js
curl -X POST https://lora-api.agiletelecom.com/api/message-server/sms/send \
-H "Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "+393901234567",
"message": "Hello from Qlara!"
}'
import requests
from requests.auth import HTTPBasicAuth
response = requests.post(
"https://lora-api.agiletelecom.com/api/message-server/sms/send",
json={"phoneNumber": "+393901234567", "message": "Hello from Qlara!"},
auth=HTTPBasicAuth('username', 'password')
)
print(response.json())
const axios = require('axios');
const auth = {
username: 'username',
password: 'password'
};
const data = {
phoneNumber: '+393901234567',
message: 'Hello from Qlara!'
};
axios.post(
'https://lora-api.agiletelecom.com/api/message-server/sms/send',
data,
{ auth }
).then(response => console.log(response.data))
.catch(error => console.error(error));
Whitelist IP
Aggiungi un ulteriore livello di sicurezza limitando l'accesso API a indirizzi IP specifici. Questo è opzionale ma consigliato per la produzione.
Configurare il Whitelist IP
- Vai a Impostazioni → Sicurezza
- Abilita Whitelist IP
- Aggiungi gli indirizzi IP del tuo server
- Salva
Qualsiasi richiesta da un IP non whitelistato restituisce 403 Forbidden.
Codici di Errore
| Codice | Significato | Azione |
|---|---|---|
401 | Credenziali non valide | Verifica la API key o le credenziali di Autenticazione di Base |
403 | IP non autorizzato | Verifica che il tuo IP sia whitelistato (se abilitato) |
Best Practice di Sicurezza
- Non esporre mai le API key nel codice lato client — Usale solo sul tuo server backend
- Archivia le key nelle variabili d'ambiente — Non hardcoderl
- Rigenerare se compromessa — Vai a Impostazioni → API Keys e genera una nuova
- Usa HTTPS solamente — Tutte le richieste devono essere su HTTPS
- Ruota le credenziali periodicamente — Rigenerare le key ogni 90 giorni in ambienti ad alta sicurezza
- Registra l'accesso — Monitora l'utilizzo della tua API key nella dashboard
Esempio: Variabili d'Ambiente
Python:
import os
api_key = os.getenv('QLARA_API_KEY')
Node.js:
const apiKey = process.env.QLARA_API_KEY;
Bash:
curl -X POST https://lora-api.agiletelecom.com/api/message-server/sms/send \
-H "X-Api-Key: $QLARA_API_KEY" \
-d '...'
Hai bisogno di aiuto con l'autenticazione? Contatta il supporto all'indirizzo support@agiletelecom.com.