Framework JavaGuide · SDK officiel bientôt

Envoyez des SMS en Tunisie depuis Spring Boot avec RestClient.

Déclarez un RestClient préconfiguré avec votre clé, puis injectez-le dans vos services. Les records Java servent directement de corps de requête et de réponse. Le starter Spring Boot officiel arrive.

Ce que ça fait

  • Clé API dans application.properties, lue depuis l’environnement.
  • Un bean RestClient avec l’URL de base et l’authentification déjà réglées.
  • Records Java pour la requête et la réponse, convertis par Jackson.
  • Idempotency-Key basé sur votre commande pour des réessais sûrs.

Mise en place

  1. 1Utilisez Spring Boot 3.2 ou plus récent (RestClient).
  2. 2Ajoutez sendimo.api-key dans application.properties.
  3. 3Déclarez le bean RestClient et injectez-le dans votre service.
  4. 4Exposez un endpoint webhook pour recevoir les statuts de livraison.
ConfigurationProperties
# application.properties
sendimo.api-key=${SENDIMO_API_KEY}
Envoyer un SMSJava
// Spring Boot 3.2+ (RestClient)
@Configuration
class SendimoConfig {
    @Bean
    RestClient sendimo(@Value("${sendimo.api-key}") String apiKey) {
        return RestClient.builder()
            .baseUrl("https://api.sendimo.tn/v1")
            .defaultHeader("Authorization", "Bearer " + apiKey)
            .build();
    }
}

record SendSms(String to, String from, String text, String reference) {}
record Message(String id, String status) {}

@Service
class OrderNotifier {
    private final RestClient sendimo;

    OrderNotifier(RestClient sendimo) {
        this.sendimo = sendimo;
    }

    Message confirm(Order order) {
        return sendimo.post()
            .uri("/messages")
            .header("Idempotency-Key", "order-" + order.id() + "-confirm")
            .body(new SendSms(order.phone(), "SENDIMO", "Votre commande est confirmée.", "order-" + order.id()))
            .retrieve()
            .body(Message.class); // status "queued"
    }
}
Réponse 202 AcceptedJSON
{
  "id": "msg_01HF8Z3K9QX2",
  "status": "queued",
  "to": "+21620123456",
  "from": "SENDIMO",
  "text": "Votre code est 482913. Il expire dans 5 minutes.",
  "encoding": "GSM-7",
  "segments": 1,
  "network": "ooredoo",
  "cost": { "amount": "0.140", "currency": "TND" },
  "reference": "order-4821",
  "scheduled_at": null,
  "created_at": "2026-10-30T09:15:00Z"
}

Et ensuite

Les autres intégrations

Prêt à envoyer vos SMS ?

Lancement bientôt en Tunisie. Rejoignez l’accès anticipé.