API - EchoSMS+
Vue d'ensemble
L'API EchoSMS+ permet d'intégrer les fonctionnalités d'envoi SMS dans vos applications. Elle utilise Firebase Cloud Functions pour la gestion des requêtes.
Authentification
Toutes les requêtes API nécessitent une authentification Firebase. Les headers requis sont :
Authorization: BearerContent-Type: application/json
Endpoints
1. Envoi de SMS
POST /api/v1/sms/send
Requête
{
"recipients": ["+33612345678", "+33698765432"],
"message": "Votre message ici",
"campaignId": "campaign_123",
"scheduledTime": "2025-07-16T14:30:00Z"
}
Réponse
{
"status": "success",
"messageId": "sms_123",
"recipientsCount": 2,
"scheduledTime": "2025-07-16T14:30:00Z"
}
2. Statistiques
GET /api/v1/sms/stats
Paramètres
?startDate=2025-07-01&endDate=2025-07-31
Réponse
{
"totalSent": 1250,
"successRate": 98.5,
"failureCount": 18,
"averageDeliveryTime": "2.5s",
"campaignStats": [
{
"campaignId": "campaign_123",
"messagesSent": 500,
"successRate": 99.2
}
]
}
3. Statut SMS
GET /api/v1/sms/status/{messageId}
Réponse
{
"status": "delivered",
"deliveryTime": "2025-07-16T14:30:02Z",
"recipient": "+33612345678"
}
Exemple d'intégration
JavaScript
// Initialisation Firebase
import { initializeApp } from 'firebase/app';
import { getAuth } from 'firebase/auth';
const app = initializeApp({
apiKey: "YOUR_API_KEY",
authDomain: "echosms.firebaseapp.com",
projectId: "echosms"
});
const auth = getAuth(app);
// Fonction d'envoi SMS
async function sendSMS(recipients, message) {
const token = await auth.currentUser.getIdToken();
const response = await fetch('https://echosms.com/api/v1/sms/send', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
recipients,
message,
campaignId: 'campaign_' + Date.now()
})
});
return response.json();
}
Limites et quotas
- 1000 SMS gratuits par mois
- 5000 SMS maximum par heure
- 10000 SMS maximum par jour
- 1600 caractères maximum par SMS