Mais vous pouvez également écrire votre propre implémentation de broker pour l'envoi de SMS. Pour cela, vous devrez déclarer un nouveau point d'extension dans le fichier plugin.xml d'un plugin Ametys. Au besoin, vous serez donc amené à créer un nouveau plugin, suivez alors les instructions de la page Architecture d'un plugin Ametys.
Etape 1: Dans un fichier plugin.xml, commencez par déclarer votre point d'extension et les éventuels paramètres de configuration nécessaires à l'envoi de SMS, comme dans l'exemple ci-dessous:
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Etape 2: Puis écrire la classe com.mycompany.cms.sms.broker.MyBroker :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
public class MyBroker extends LoggerBroker
{
@Override
public void send(Set<String> phoneNumbersList, String message, String listId) throws Exception
{
super.send(phoneNumbersList, message, listId);
// Do it: send SMS to all the phones in the list
}
@Override
public String getPhoneNumberFromStopRequest() throws Exception
{
// Do it ...
}
}
public class MyBroker extends LoggerBroker
{
@Override
public void send(Set<String> phoneNumbersList, String message, String listId) throws Exception
{
super.send(phoneNumbersList, message, listId);
// Do it: send SMS to all the phones in the list
}
@Override
public String getPhoneNumberFromStopRequest() throws Exception
{
// Do it ...
}
}
public class MyBroker extends LoggerBroker
{
@Override
public void send(Set<String> phoneNumbersList, String message, String listId) throws Exception
{
super.send(phoneNumbersList, message, listId);
// Do it: send SMS to all the phones in the list
}
@Override
public String getPhoneNumberFromStopRequest() throws Exception
{
// Do it ...
}
}
La méthode send est responsable de l'envoi de mail. Faites ici par exemple appel au web service de votre fournisseur pour l'envoi de SMS.
La méthode getPhoneNumberFromStopRequest a pour charge d'extraire le numéro de téléphone souhaitant se désabonner du service depuis la requête HTTP envoyé par le fournisseur (broker). Par exemple, pour Etoile Diese, le numéro est contenu dans le paramètre de requête "num" : http://<monsite.com>/_plugins/sms/stop-sms?num=336xxxxxxxx&txt=STOP
Etape 3: Enfin, sélectionnez votre broker dans le fichier WEB-INF/param/runtime.xml
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.