3 mars 2015

SharePoint 2013 : Envoi d'un mail via l'API REST

L'ouverture de SharePoint 2013 vers le modèle client (notamment grâce aux API Rest ou au JSOM : JavaScript Model Object) ouvre désormais de nouvelles possibilités dans les développements sur cette plateforme.
Pour illustrer ce propos, prenons un "use case" simple : Développer une fonctionnalité "Need Help" permettant de saisir quelques informations puis d'envoyer un  mail à un destinataire (spécifique ou non) lors du clic sur un bouton.

La méthode généralement employée dans ce genre de cas était la conception d'une WebPart (en code managée ou CSOM) ou la conception d'un flux de travail d'envoi de mail déclenché lors de l'enregistrement des informations dans une listes.
A présent, il n''est plus nécessaire de disposer de Visual Studio pour réaliser ce genre de besoins simple. Il peut être réalisé en réalisant un vulgaire formulaire HTML utilisant du JavaScript.
 
Voici l'exemple d'une fonction JavaScript permettant l'envoi du mail via la fonctionnalité offerte par SharePoint (en pouvant définir l'adresse de provenance, les destinataires, sujets, corps des mails) :
function sendEmail(from, to, body, subject) {
 var urlSendMailRest = _spPageContextInfo.webServerRelativeUrl + "/_api/SP.Utilities.Utility.SendEmail";
 $.ajax({
     contentType: 'application/json',
     url: urlSendMailRest,
     type: "POST",
     data: JSON.stringify({
         'properties': {
             '__metadata': { 'type': 'SP.Utilities.EmailProperties' },
             'From': from,
             'To': { 'results': ['to'] },
             'Body': body,
             'Subject': subject
         }
     }),
     headers: {
         "Accept": "application/json;odata=verbose",
         "content-type": "application/json;odata=verbose",
         "X-RequestDigest": $("#__REQUESTDIGEST").val()
     },
     success: function (data) {
        alert("Mail envoyé");
     },
     error: function (err) {
         alert(JSON.stringify(err));
     }
 });
}
Et voila, le tour est joué! Vous avez conçu votre premier formulaire permettant d'envoyer des mails à vos utilisateurs SP sans ouvrir un IDE.

Aucun commentaire:

Enregistrer un commentaire