Aller directement à la fin des métadonnées
Aller au début des métadonnées

You are viewing an old version of this content. View the current version.

afficher les différences View Version History

Vous regardez la version actuelle de cette page. (v. 1) afficher la version suivante »

Résumé

Manipulation de l'entité EmailTemplate (Modèles d’emails) en lecture/écriture/suppression via un objet métier depuis une application externe.

Tables

Les tables utilisées sont :

  • sw_data_emailtemplate : Table des modèles d’emails

Les tables liées sont :

  • sw_data_emailtemplatedocument : Table des pièces jointes d'un modèle d'email

Critères d'activation

WHK_EmailTemplate est défini dans la gestion des webhooks du studio.

Règles métier

verb: PUT

  • La date de début de validité est mise par défaut à la date du jour (validityStartDate) si non fournie lors d'une création

Fonctionnement

verb: GET
resultType: simple

"emailtemplate": {
    "codeemailtemplate": "INVIT_CONF1",
    "name": "Invitation conférence tuning mysql"
    "validityStartDate": "2022-02-28 00:00:00",
    "validityEndDate": ""
}

verb: GET
resultType: extended

"emailtemplate": {
    "codeemailtemplate": "INVIT_CONF1",
    "name": "Invitation conférence tuning mysql"
    "validityStartDate": "2022-02-28 00:00:00",
    "validityEndDate": "",
    "description": "Email d'invitation à la conférence Tuning MySql",
    "subject": "Invitation Tuning MySql",
    "body": "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /></head><body><p>Bonjour [customercontact.firstName] [customercontact.lastName],</p><p>Vous êtes cordialement invité(e) à notre conférence sur le Tuning Mysql qui se tiendra en nos locaux.<br>11 rue Icare à Entzheim<br>Salle Erasme</p><p><strong>Le vendredi 11/03/2022 à partir de 10H.</strong></p><p>Cordialement,<br>Votre dévoué [baseuser.firstName] [baseuser.lastName]<br></p></body></html>"
  }

verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura pas de détails pour l'instant

verb: PUT

"emailtemplate": {
    "codeemailtemplate": "INVIT_CONF1", /* Code globalement unique du modèle d'email. Si non fourni code=ID (Varchar (255))*/
    "name": "Invitation conférence tuning mysql" /* Nom (Varchar (255))*/
    "validityStartDate": "2022-02-28 00:00:00", /* Date de début de validité (DatetIme())*/
    "validityEndDate": "", /* Date de fin de validité (DatetIme())*/
    "description": "Email d'invitation à la conférence Tuning MySql", /* Description (Text (65535))*/
    "subject": "Invitation Tuning MySql", /* Objet (Varchar (255))*/ 
    "body": "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />..." /* Corps du modèle en HTML (Text (65535))*/
  }

Possibilité d’utiliser des tags dans le body pour faire référence à des champs de la base qui seront interprétés lors de l’utilisation du modèle d’email.

La liste complète est disponible dans le web (Paramétrage → Général → Modèles d’email puis bouton “Tags”).

Exemples : [customer.address1], [baseuser.firstName], [customer.address1], …

Pour ajouter une ou plusieurs pièces jointes à un modèle d'email il suffira d'appeler le webhook file autant de fois que voulu.
Exemple :

"action":
  {
    "verb": "PUT",
    "parameters":
      {
        "entity": "emailtemplate",
        "extension": "document"
      }
  },
"data":
  {
    "file": {
      "codefile": "", /* Code globalement unique pour entity/extension. Si non fourni code=ID (Varchar (255))*/
      "parent_ID": "xxxxx", /* Code du parent. Ici il faut utiliser le code email template qui est retourné après la création du modèle d'email (soit celui qui a été fourni manuellement dans le json du modèle d'email ou celui qui été attribué automatiquement). (ForeignKey () - sw_data_emailtemplate.codeemailtemplate)*/
      "fileName": "Introduction-to-MySQL-Query-Tuning.png", /* Nom du fichier (Varchar (255))*/
      "description": "Invitation", /* Description (Text (65535))*/
      "fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAEsAAACQCAYAAABAt5Y ....", /* Fichier encodé en base 64 (MediumBlob ())*/
    }
  }

verb: LIST
resultType: simple, extended reprendre les définitions du GET
Ce mode ne retourne pas le champ "body" pour une question de performances.
A la suite du résultat recherché il suffira de lancer le webhook en mode GET sur le "codeEmailTemplate" voulu pour récupérer le "body".

"filters:" {
  "codeEmailTemplate: "value", filter is equal
  "name: "value", filter is contains
  "subject: "value", filter is contains
  "description": "value", filter is contains
  "validityActive": "value", filter is equal (if value = "1" return only template email active today)
  "validityStartDate": "value", filter is greater or equal to
  "validityEndDateDate": "value" filter is less or equal to  
},
"orderBy": "value"

Valeurs possibles pour le tri "orderBy" :

  • nameAsc : par nom ascendant

verb: DELETE
Une suppression d'un modèle d'email (sw_data_emailtemplate) va supprimer en cascade les éléments dans la table liée sw_data_emailtemplatedocument.


  • Aucune étiquette