SMS bidirectionnels

Vos clients répondent, vous recevez

Confirmations de rendez-vous, sondages, support client : vos destinataires répondent par SMS, les mots-clés déclenchent une réponse automatique, et chaque message arrive dans votre application en temps réel.

Numéro+212dédié

Réservé à votre compte, tous opérateurs.

TransmissionTempsréel

Webhook signé dès réception.

Destinations4au choix

Webhook, e-mail, Google Sheet, tableau de bord.

DésinscriptionsSTOPauto.

Appliqué sans action de votre part.

Fonctionnalités

La conversation, sans standard téléphonique

Un numéro, des règles simples, et chaque réponse arrive là où votre équipe travaille déjà.

Un numéro dédié

Un numéro marocain réservé à votre compte, qui reçoit les réponses des abonnés Maroc Telecom, Orange et inwi.

Transmis en temps réel

Chaque réponse part vers votre webhook signé, dans le même format que les accusés de réception.

Reliée au message d’origine

Le champ in_reply_to indique le message auquel le client répond : rendez-vous, commande ou sondage.

Mots-clés et réponses auto

C, OUI, نعم, STOP… Chaque mot-clé déclenche une action et une réponse, sans une ligne de code.

E-mail et Google Sheet

Pas de développeur ? Recevez les réponses par e-mail ou ajoutées ligne par ligne dans une Google Sheet.

Boîte de réception partagée

Lisez les conversations et répondez depuis le tableau de bord, à plusieurs, avec l’historique complet.

Comment ça marche

De la question à la réponse traitée

Mise en service sur devis, puis tout fonctionne seul.

  1. Activez un numéro

    Nous réservons un numéro marocain pour votre compte et le relions à vos destinations.

    +212 5 20 •• •• 11
  2. Invitez à répondre

    Vos messages partent de ce numéro, avec une consigne claire.

    « Répondez C »
  3. Les mots-clés agissent

    Réponse automatique, désinscription ou transfert, selon vos règles.

    keyword: C
  4. Vous recevez

    Événement sur votre webhook, e-mail ou ligne de Google Sheet.

    message.inbound

Mots-clés

Des règles simples, des réponses immédiates

Les réponses courtes et attendues se traitent toutes seules. Votre équipe ne voit que les vraies questions.

Règles

Un mot-clé, une action, une réponse

Définissez vos mots-clés depuis le tableau de bord. Ils ignorent les majuscules, les accents et les espaces, et fonctionnent en arabe comme en darija écrite en lettres latines.

  • Réponse automatique personnalisée avec les variables du message d’origine
  • Plusieurs synonymes par règle : C, OUI, wakha, نعم
  • Une règle « Autre » pour tout ce qui n’est pas reconnu
C · OUI · نعمConfirmerStatut « confirmé » + réponse automatique
A · NON · لاAnnulerStatut « annulé » + proposition d’un autre créneau
1 · 2 · 3SondageRéponse enregistrée dans votre Google Sheet
STOPDésinscrireExclu de vos campagnes, confirmation envoyée
AutreTransférerWebhook et e-mail à votre équipe

Destinations

Chaque réponse, là où vous travaillez

Choisissez une ou plusieurs destinations par numéro. Chaque réponse reste aussi consultable dans le tableau de bord.

Maroc Telecomabonnés
Orangeabonnés
inwiabonnés
Votre numéro
+212 5 20 •• •• 11
Webhook signédéveloppeurs
E-mailaccueil@…
Google Sheetune ligne par réponse
Tableau de bordboîte partagée

Pour les développeurs

Une réponse, un webhook

Le même format et la même signature que les accusés de réception. Quelques lignes suffisent pour agir sur chaque réponse.

message.inbound.json
// POST https://votre-app.ma/hooks/sms// MySms-Signature: t=1792569600,v1=5f2c…{  "type": "message.inbound",  "data": {    "id": "msg_in_7Hq2",    "from": "+212612345678",    "to": "+212520000111",    "body": "C",    "keyword": "C",    "in_reply_to": "msg_9fK2",    "received_at": "2026-10-21T09:41:07+01:00"  }}
public function __invoke(Request $request): Response{    // Vérifiez d’abord la signature MySms-Signature (voir la référence API)    $sms = $request->input('data');    if ($sms['keyword'] === 'C') {        Appointment::where('reminder_sms_id', $sms['in_reply_to'])            ->update(['status' => 'confirmed']);    }    return response()->noContent();}
app.post('/hooks/sms', express.json(), async (req, res) => {  // Vérifiez d’abord la signature MySms-Signature (voir la référence API)  const { type, data } = req.body;  if (type === 'message.inbound' && data.keyword === 'C') {    await appointments.confirm({ reminderSmsId: data.in_reply_to });  }  res.sendStatus(204);});
@app.post("/hooks/sms")def inbound_sms():    # Vérifiez d’abord la signature MySms-Signature (voir la référence API)    event = request.get_json()    sms = event["data"]    if event["type"] == "message.inbound" and sms["keyword"] == "C":        appointments.confirm(reminder_sms_id=sms["in_reply_to"])    return "", 204
  • in_reply_toL’identifiant du message auquel le client répond.
  • keywordLe mot-clé reconnu, normalisé, ou null.
  • Signature HMACVérifiez MySms-Signature avant de traiter l’événement.

Cas d’usage

Quand une réponse vaut mieux qu’un appel

Une réponse d’une lettre remplace un appel téléphonique, et votre système la traite tout seul.

E-commerce

Des commandes confirmées avant l’expédition

En paiement à la livraison, demandez une confirmation par SMS avant d’expédier : les commandes non confirmées ne partent pas.

  • Confirmation de commande par 1 ou 2
  • Changement d’adresse par réponse libre
  • Avis client après la livraison
+212 5 20 •• •• 1110:02
MyShop : commande #20481 de 349 MAD. Répondez 1 pour confirmer, 2 pour annuler.
Client10:04
1
Commande confirmée · webhook

Banque & fintech

Confirmer une opération inhabituelle

Une transaction suspecte ? Demandez au client de confirmer par OUI ou NON, et bloquez la carte automatiquement en cas de NON.

  • Validation d’une opération inhabituelle
  • Blocage immédiat sur réponse NON
  • Rappel par un conseiller sur demande
+212 5 20 •• •• 1221:15
WalletMA : paiement de 4 900 MAD en ligne. Est-ce vous ? Répondez OUI ou NON.
Client21:16
NON
Carte bloquée · conseiller alerté

Santé

Des créneaux libérés à temps

Le patient confirme ou annule d’une lettre : un créneau annulé la veille peut être proposé à un autre patient.

  • Confirmation ou annulation du RDV
  • Liste d’attente sur les créneaux libérés
  • Questions transférées à l’accueil
+212 5 20 •• •• 11lun. 18:00
Clinique Atlas : RDV demain mardi à 10h00. Répondez C pour confirmer ou A pour annuler.
Patientlun. 18:07
A
Créneau libéré

Logistique

Le client choisit son créneau

Proposez deux créneaux de livraison par SMS : le choix du client arrive directement dans votre planning de tournées.

  • Choix du créneau de livraison
  • Nouveau passage après un échec
  • Instructions au livreur
+212 5 20 •• •• 1308:30
ExpressMA : colis MA2049381. Répondez 1 pour une livraison aujourd’hui 14h–16h, 2 pour demain 10h–12h.
Client08:41
2
Tournée mise à jour

Éducation

Sondages et confirmations des parents

Présence à une réunion, autorisation de sortie, sondage : les réponses sont comptées automatiquement dans votre Google Sheet.

  • Présence à la réunion parents-professeurs
  • Autorisation de sortie scolaire
  • Sondage de satisfaction
+212 5 20 •• •• 14mer. 17:00
هل ستحضرون اجتماع أولياء الأمور يوم السبت؟ أجيبوا بـ نعم أو لا
Parentmer. 17:12
نعم
Ajouté à la Google Sheet

Boîte de réception

Répondez depuis le tableau de bord

Toutes les conversations au même endroit : vos collègues lisent, répondent et voient ce que les règles automatiques ont déjà traité.

app.mysms.ma / conversations Données d’exemple
+212 6•• ••• 67809:42

Je peux venir à 11h plutôt ?

+212 7•• ••• 10409:31

C · confirmé automatiquement

+212 6•• ••• 55209:12

A · annulé automatiquement

+212 6•• ••• 019hier

STOP · désinscrit

+212 6•• ••• 300hier

Merci beaucoup !

Comparatif

Webhook, e-mail, Sheet ou tableau de bord ?

Combinez-les : chaque réponse peut partir vers plusieurs destinations à la fois.

WebhookE-mailGoogle SheetTableau de bord
Temps réel Oui Oui Oui Oui
Sans développeur Non Oui Oui Oui
Déclenche vos automatisations Oui Non Avec vos formules Non
Répondre au client Via l’API Non Non Oui
Idéal pour Votre application Une petite équipe Sondages, comptages Le support

FAQ

Questions fréquentes

Pourquoi un numéro et pas mon Sender ID ?

Un expéditeur alphanumérique comme « MyShop » ne peut pas recevoir de réponse : le téléphone n’a nulle part où l’envoyer. Pour converser, vos messages partent d’un numéro marocain dédié à votre compte. Vous pouvez garder votre Sender ID pour les messages sans réponse attendue.

Combien coûte un numéro dédié ?

Le numéro dédié et les SMS reçus font l’objet d’un devis selon votre volume. Les SMS sortants sont facturés aux tarifs publics, dès 0,40 MAD HT. Contactez les ventes pour un devis.

Comment relier une réponse au message d’origine ?

Chaque réponse porte le champ in_reply_to avec l’identifiant du dernier message envoyé à ce numéro. Vous retrouvez ainsi le rendez-vous, la commande ou le sondage concerné sans rien deviner.

Les mots-clés reconnaissent-ils l’arabe ?

Oui. Les mots-clés ignorent les majuscules, les accents et les espaces superflus, et peuvent être écrits en arabe (« نعم ») comme en caractères latins (« OUI », « wakha »).

Que se passe-t-il quand un client répond STOP ?

Il est désinscrit automatiquement de vos envois marketing, et l’événement apparaît dans votre webhook et dans le tableau de bord. Les messages transactionnels attendus (codes, reçus) ne sont pas concernés.

Mon webhook est indisponible : les réponses sont-elles perdues ?

Non. Nous réessayons l’envoi pendant plusieurs heures, et chaque réponse reste consultable et exportable depuis le tableau de bord.

Plateforme

Les autres produits mysms

Un seul compte, un seul solde et une seule facture pour tous vos SMS.

Tarifs

Numéro dédié sur devis

Les SMS sortants sont facturés aux tarifs publics, dès 0,40 MAD HT. Le numéro dédié et les SMS reçus font l’objet d’un devis selon votre volume.

Commencez à envoyer en 5 minutes

Créez un compte gratuit, recevez 100 messages de test et constatez la rapidité de la livraison locale. Sans carte bancaire.