Prérequis
- Symfony 6 ou 7
- Un compte MSG-PRO avec une clé API (créez-en un gratuitement)
- La bibliothèque symfony/http-client
Étape 1 : Installer le client HTTP
composer require symfony/http-clientÉtape 2 : Configurer la clé API
Ajoutez dans .env :
MSGPRO_API_KEY=msgpro_votre_cle_iciÉtape 3 : Créer le SmsService
namespace AppService;
use SymfonyContractsHttpClientHttpClientInterface;
class SmsService
{
public function __construct(
private HttpClientInterface $httpClient,
private string $apiKey,
) {}
public function send(string $to, string $message, string $sender = Msg-Pro): bool
{
$response = $this->httpClient->request(POST, https://msg-pro.com/api/v1/sms/send, [
headers => [X-Api-Key => $this->apiKey],
json => [to => $to, message => $message, sender => $sender],
]);
return $response->toArray()[status] === sent;
}
}Étape 4 : Déclarer le service
Dans config/services.yaml :
AppServiceSmsService:
arguments:
$apiKey: %env(MSGPRO_API_KEY)%Étape 5 : Utiliser dans un controller
public function inscrire(SmsService $smsService): Response
{
$smsService->send(0851234567, Bienvenue sur MonApp ! Compte activé., MonApp);
return $this->redirectToRoute(app_home);
}Envoi en masse
$response = $this->httpClient->request(POST, https://msg-pro.com/api/v1/sms/bulk, [
headers => [X-Api-Key => $this->apiKey],
json => [
numbers => [0851234567, 0899876543],
message => Votre message ici,
sender => MonApp,
],
]);Conclusion
En moins de 10 minutes, votre application Symfony envoie des SMS sur tous les réseaux RDC. API REST, JSON, tarif transparent à 0,06 USD/SMS. Voir la documentation complète.