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

Vous regardez une version antérieure (v. /wiki/spaces/UDW56/pages/10543366216/Webhook+Text+Block) de cette page.

afficher les différences afficher l'historique de la page

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

Résumé

Manipulation de l'entité TextBlock (Blocs de textes) en lecture/écriture/suppression via un objet métier depuis une application externe.

Tables

Les tables utilisées sont :

  • sw_data_textblock : Table des blocs de textes

Les tables liées sont :

  • sw_data_textblockdocument : Table des pièces jointes d'un bloc de texte

Critères d'activation

WHK_TextBlock 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

  • Le type de bloc texte est mis par défaut à 'Email' (generictype_ID_textblockType = TEXTBLOCK_TYPE-EMAIL) si non fourni lors d'une création

Fonctionnement

verb: GET
resultType: simple

"textblock": {
    "codetextblock": "ADR_BUREAU",
    "name": "Adresse bureau",
    "validityStartDate": "2022-02-01 00:00:00",
    "validityEndDate": "",
    "generictype_ID_textblockType": "EMAIL"    
  }

verb: GET
resultType: extended

"textblock": {
    "codetextblock": "ADR_BUREAU",
    "name": "Adresse bureau"
    "validityStartDate": "2022-02-01 00:00:00",
    "validityEndDate": "",
    "generictype_ID_textblockType": "EMAIL"
    "description": "",
    "body": "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /></head><body><p><strong><u>Coordonnées :</u></strong></p><p>Divalto<br />11 rue Icare<br />67960 ENTZHEIM</p><p>T&eacute;l : +33 (0)3 88 64 50 60<br />Fax : +33 (0)3 88 64 50 70<br />Email : info@divalto.com</p></body></html>"
}

verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura le détail pour la table genrictype_textblockType

verb: PUT

"textblock": {
    "codetextblock": "ADR_BUREAU", /* Code globalement unique du bloc texte. Si non fourni code=ID (Varchar (255))*/
    "name": "Adresse bureau" /* Nom (Varchar (255))*/
    "validityStartDate": "2022-02-01 00:00:00", /* Date de début de validité (DatetIme())*/
    "validityEndDate": "", /* Date de fin de validité (DatetIme())*/
    "generictype_ID_textblockType": "TEXTBLOCK_TYPE-EMAIL", /* Type de bloc texte (ForeignKey () - sw_data_generictype.codegenerictype avec dataType = TEXTBLOCK_TYPE)*/   
    "description": "", /* Description (Text (65535))*/  
    "body": "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />..." /* Contenu du bloc texte 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 → Blocs texte puis bouton “Tags”).

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

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

"action":
  {
    "verb": "PUT",
    "parameters":
      {
        "entity": "textblock",
        "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 bloc texte qui est retourné après la création du bloc texte (soit celui qui a été fourni manuellement dans le json du bloc texte ou celui qui été attribué automatiquement). (ForeignKey () - sw_data_textblock.codetextblock)*/
      "fileName": "adrbureau_gpx.gpx", /* Nom du fichier (Varchar (255))*/
      "description": "", /* Description (Text (65535))*/
      "fileBase64": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv ....", /* 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 "codeTextBlock" voulu pour récupérer le "body".

"filters:" {
  "codeTextBlock: "value", filter is equal
  "name: "value", filter is contains  
  "description": "value", filter is contains
  "validityActive": "value", filter is equal (if value = "1" return only text block active today)
  "validityStartDate": "value", filter is greater or equal to
  "validityEndDateDate": "value", filter is less or equal to
  "codeTextBlockType": "value", filter is equal
},
"orderBy": "value"

Valeurs possibles pour le tri "orderBy" :

  • nameAsc : par nom ascendant

verb: DELETE
Une suppression d'un bloc texte (sw_data_textblock) va supprimer en cascade les éléments dans la table liée sw_data_textblockdocument.

  • Aucune étiquette