1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Envoi de SMS avec l'api FreeMobile

Discussion dans 'Windev' créé par ungaro, Mar 11, 2018.

  1. ungaro

    ungaro New Member

    Inscrit:
    Mar 8, 2018
    Messages:
    5
    J'aime reçus:
    5
    Je cherche a faire un petit logiciel me permettant d'envoyer un SMS sur ma ligne free via l'api.
    J'ai un début de réponse pour encoder les messages SMS ci-dessous :

    ls_arg est une chaîne="Je suis très content"
    EDT_output est une chaine

    m_urlencode is object OLE dynamic
    m_urlencode = new object OLE "MSScriptControl.ScriptControl"
    m_urlencode>>language = "javascript"
    ls_arg = Replace(ls_arg,"'", "\'")
    ls_arg = "encodeURIComponent ('" + ls_arg + "')"
    EDT_output = m_urlencode>>Eval (ls_arg)
    delete m_urlencode

    CASE ERROR:
    Info("Some unexpected error")
    CASE EXCEPTION:
    Info("Exception")

    Aprés je dois envoyer cette commande via windev, et récupérer le status de l'envoi, mais comment faire?

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
    Tags:
  2. gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    708
    Regarde de plus près les fonctions HTTPREQUETE (pour envoyer ta requete HTTP) et HTTPDonneResultat pour récupérer le status

    Cf mon exemple d'envoi SMS :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  3. ungaro

    ungaro New Member

    Inscrit:
    Mar 8, 2018
    Messages:
    5
    J'aime reçus:
    5
    OK merci, je vais étudier ça et tester, je posterai mon code après.
     
  4. warjoen

    warjoen Active Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    157
    J'aime reçus:
    122
    I will try too....
     
  5. ungaro

    ungaro New Member

    Inscrit:
    Mar 8, 2018
    Messages:
    5
    J'aime reçus:
    5
    Voila, j'ai réalisé un bout de code qui permet d'envoyer un SMS sur la ligne FreeMobile depuis un PC.
    ça marche nickel. Merci Free !

    Code (Text):
    sMessage_a_encoder est une chaîne = LigneCommande(1) //Message à transmettre à mettre en parametre de l'application
    //sMessage_a_encoder est une chaîne="Ceci est un test & Très facile d'envoyer un sms avec un Ordinateur :)" //Message à transmettre
    sMON_NUMERO_CLIENT est une chaîne="99999999"  //Votre numéro de client
    sMA_CLEF_DIDENTIFICATION est une chaîne="XXXXXXXXXXXXXX"  //Votre Clé d'authentification
    sMessage_a_envoyer est une chaîne
    sSTatus_envoi est une chaîne

    //Permet d'encoder tous les caractères spéciaux du message même les "&" car UrlEncode ne le fait pas.
    m_urlencode est un objet OLE dynamic
    m_urlencode = new object OLE "MSScriptControl.ScriptControl"
    m_urlencode>>language = "javascript"
    sMessage_a_encoder = Replace(sMessage_a_encoder,"'", "\'")
    sMessage_a_encoder = "encodeURIComponent ('" + sMessage_a_encoder + "')"
    sMessage_a_envoyer = m_urlencode>>Eval (sMessage_a_encoder)
    delete m_urlencode

    ResStart est un booleen=HTTPRequête("https://smsapi.free-mobile.fr/sendmsg?user="+sMON_NUMERO_CLIENT+"&pass="+sMA_CLEF_DIDENTIFICATION+"&msg="+sMessage_a_envoyer)
    SI ResStart=Vrai ALORS
        SELON Left(HTTPGetResult(),12)
            CAS "HTTP/1.1 200"
                Info("Le SMS a été envoyé sur votre mobile.")
            CAS "HTTP/1.1 400"
                Info("Un des paramètres obligatoires est manquant ou erroné")
            CAS "HTTP/1.1 402"
                Info("Trop de SMS ont été envoyés en trop peu de temps.")
            CAS "HTTP/1.1 403"
                Info("Le service n’est pas activé sur l’espace abonné, ou login / clé incorrect.")
            CAS "HTTP/1.1 500"
                Info("Erreur côté serveur. Veuillez réessayez ultérieurement.")
            AUTRE CAS
                sSTatus_envoi="Status inconnu : HTML code: "+HTTPGetResult() + RC
                sSTatus_envoi+="Header: "+HTTPGetResult(httpHeader)
                Info(sSTatus_envoi)
        FIN
     SINON
         Erreur(ErreurInfo())
    FIN
    Ferme
    On peut surement l'améliorer. J'aurai aimé pouvoir envoyer le message de statut en texte car si on lance le programme depuis une fenêtre DOS, la fonction "info" va bloquer la suite des evenements.
    Je ne sais pas comment envoyer des messages sur la sortie standard texte. Est-ce possible d'ailleurs?
     
    #5 ungaro, Mar 12, 2018
    Dernière édition: Mar 12, 2018
  6. Pascal

    Pascal Active Member
    MEMBRE WX

    Inscrit:
    Fev 11, 2018
    Messages:
    82
    J'aime reçus:
    126
    Bonjour et merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    pour ton code.

    Cordialement,
    Pascal
     
  7. ProDev

    ProDev Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 11, 2018
    Messages:
    373
    J'aime reçus:
    373
    merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  8. gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    708
    Merci beaucoup
    Connais tu la limitation du nombre de SMS/jour/mois car chez SFR c'est limité à 200 SMS (sur des numéros différents) par mois. Pas assez pour faire un envoi groupé à tous mes prospects...
     
  9. ungaro

    ungaro New Member

    Inscrit:
    Mar 8, 2018
    Messages:
    5
    J'aime reçus:
    5

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Merci beaucoup
    Connais tu la limitation du nombre de SMS/jour/mois car chez SFR c'est limité à 200 SMS (sur des numéros différents) par mois. Pas assez pour faire un envoi groupé à tous mes prospects...
    Cliquez pour agrandir...
    Bonjour, a priori, il n'y a pas de limitation car c'est un forfait "illimité" pour les SMS. Pas d'info dans le contrat indiquant qu'il y a une limitation quelconque par jour ou pas mois.
     
  • gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    708
    Et bien cette limite existe bel et bien pour tous les contrats SFR/ORANGE/FREE...

    Grâce aux forfaits nouvelle génération proposés par les opérateurs français, les consommateurs peuvent désormais profiter des offres "SMS illimités".Vous pouvez, en effet, envoyer des milliers de SMS par mois mais seulement à un nombre restreint de destinataires.

    SFR limite à 200 destinataires par jour le nombre d’envois, 99 par mois pour Virgin Mobile, la Poste Mobile, Numéricable et Coriolis, 250 par mois pour Sosh…

    Une fois ce quota de destinataires dépassé, vous serez chargé d’un coût supplémentaire pour chaque envoi.

    Voir votre envoi SMS sera bloqué pour 48H - Ce qui m'est arrivé avec SFR


     
    Fakirato apprécie ceci.
  • Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  • ungaro

    ungaro New Member

    Inscrit:
    Mar 8, 2018
    Messages:
    5
    J'aime reçus:
    5
    Pour info, n'étant pas totalement satisfait de ma version windev, j'ai réalisé un petit EXE en Harbour et en ligne de commande qui permet d'envoyer un SMS à votre compte freeMobile.

    Vous pouvez le trouver ici en open source sur github :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
    joker apprécie ceci.
  • Fox59

    Fox59 New Member

    Inscrit:
    Jan 1, 2018
    Messages:
    10
    J'aime reçus:
    12
    Un de mes post supprimé :

    Code (Text):
    MonUser est une chaine = "1" //User est le login du compte freemobile
    MaCle est une chaine = "XXXXXXX" // Clé récupérée précédemment lors de l'activation du service en ligne

    MonText est une chaîne = LigneCommande("o1")
    sUrlRequete est une chaîne UNICODE

    SI MonText <> "" ALORS
        sUrlRequete = URLEncode("https://smsapi.free-mobile.fr/sendmsg?user=" + MonUser + "&pass=" + MaCle + "&msg=" + MonText)
        HTTPRequête(sUrlRequete)
    FIN
     
  • joker

    joker New Member
    MEMBRE WX

    Inscrit:
    Jan 30, 2018
    Messages:
    0
    J'aime reçus:
    14
    Thanks

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Avec Luky Luke, on va prendre un abonnement Free ;)
     
  • gelop4

    gelop4 Member
    MEMBRE WX

    Inscrit:
    Fev 7, 2018
    Messages:
    48
    J'aime reçus:
    90

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Avec Luky Luke, on va prendre un abonnement Free ;)
    Cliquez pour agrandir...
    A 0,99€/mois ça serait dommage de s'en passer !

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    [​IMG]
     
    joker apprécie ceci.
  • Partager cette page

    Chargement...