Configuration push pour freemobile

Bonjour,

En effet la procédure est assez simple en dehors de la gestion du HTTPS. Le soucis étant que nous ne pouvons pas actuellement intégrer le TLS. Si nous avions une carte qui intégrerait des librairies comme wget ou curl ce serait en effet très simple mais aussi probablement plus chère, moins stable et moins réactif.

Nous travaillons toujours sur la possibilité d’intégrer le TLS dans une future MAJ de V4 en espérant qu’elle en est la capacité (cette fonctionnalité étant très lourde) mais cela prendra dans tous les cas un certain temps.

Bonjour,
@Biocef
quoi qu’il en soit l’IPX aura besoin d’une API Free externe pour lancer des SMS.
Que cette API soit appelée chez Free par l’IPX directement ou via Notifix ne change rien au problème, le cloudless dans ce cas est impossible, la dépendance est incontournable
(sauf aujourd’hui avec le module X-GSM)

Pour ma part, j’ai créé des scripts PHP sur mon NAS ( Ils sont joignables en http :slight_smile: ).
Les scripts sont appelés par les Push de l’IPX v3, cela fonctionne depuis plus de 2 ans, sans faire appel à Notifix (je limite donc les dépendances).

Cela dit, Notifix reste une solution pour ceux qui n’ont pas de serveur à domicile.

Cdlt

Pour ceux que ça intéresse,
voici la fonction Php faisant appel à l’API free.
J’ajoute un horodatage systématiquement à la fin du message.

smsFreeMobile.php :

<?php
  function sms($titre, $message) {
    $donees = array(
      'action' => 'envoyer',
      'user' => '12345678',   //Remplacer par votre identifiant Mobile Free
      'pass' => 'XxxXxxXxxX', //Remplacer par votre mot de passe API
      'msg' => utf8_encode($message)
    );
 
    $envoi = stream_context_create(array(
      'http' => array(
        'method'  => 'POST',
        'header'  => "Content-type: application/x-www-form-urlencodedrn",
      ),
    ));
  
    $response = file_get_contents("https://smsapi.free-mobile.fr/sendmsg?user=" . $donees['user'] . "&pass=" . $donees['pass'] . "&msg=" . utf8_encode($titre) . "%0a%0d" . $donees['msg'] . "%0A%0DNotification%20generee%20le%20" . utf8_encode(date("d/m/y-H.i.s")) . "", false, $envoi);
}   

//récupération des parametres passés dans l'URL
parse_str($_SERVER['QUERY_STRING']);

$r = sms($titre, $message);
?>

Pour appeler la fonction, voici un exemple :

http://IP_SERVEUR/smsFreeMobile.php?titre=DANGER&message=Ceci%20est%20un%20test

Cdlt

edit : Merci @ZogStriP pour la mise en forme. :wink:

2 « J'aime »

Bonjour,
Merci à tous pour votre participation à ce sujet.
Mon intervention n’a qu’un faible rapport avec celui-ci, mais j’ai perdu beaucoup de temps pour trouver la raison pour laquelle certains push ne fonctionnaient pas, à savoir : dans le corps du message IL NE FAUT PAS METTRE DE CARACTERES ACCENTUES.
Je ne sais pas si cette limitation vient de Free ou de Notifix, mais ce n’est pas grave, on fait avec :slight_smile:
Bonne journée.

1 « J'aime »

Bonjour,
les URL sont toujours encodées avec les caractères imprimables du jeu US-ASCII
Les navigateurs le font systématiquement, même si l’utilisateur ne le voit pas.
C’est pour cela que dans votre exemple le caractère « espace » est remplacé par %20 (32 en hexa)

A priori j’en conclue que l’IPX ne fait pas l’encodage, il faut donc encoder au préalable.

Si vous avez besoin d’encoder une URL, il existe des outils en ligne.
Par contre, dans le cas des push, certains appareils peuvent avoir des problèmes à afficher les caractères accentués. Ils les remplaceront en général par des points d’interrogation.
cdt

2 « J'aime »

Merci fgtoul. Je me suis mal expliqué, je joins une copie d’écran:

non, j’avais bien compris :wink:
le caractère accentué doit être encodé
votre exemple donnerait :
&mess=Alarme+Chaudi%c3%a8re

vous pouvez faire des encodages sur ce site

nota : la notation + est identique à %20
cdt

3 « J'aime »

Ouah, super ! Merci fgtoul !
C’est moi qui n’avais pas compris !
Bonne journée :ok_hand:

mais comme dit plus haut, je ne garantis pas le bon affichage sur la machine destinataire.
Tout dépendra de son jeu de caractères.
Donc éviter les caractères accentués reste une bonne solution. :wink:

alternative aux encodeurs d’URL :
voici un petit tableau qui vous aidera à insérer des caractères interdits dans les url ou push:

Ainsi, pour obtenir Chaudière , il faut écrire chaudi%e8re

ce tableau constitue une alternative à l’encodage cité plus haut et semble fonctionner sur un nombre plus élevé de clients.
cdt

2 « J'aime »

et voici la table ISO 8859-1 complète pour ceux qui voudraient insérer des push avec caractères spéciaux un peu moins courants (tels que °C, ß, …)
Pensez à précéder les codes avec le symbole %


cdt

2 « J'aime »