...
Les tables utilisées sont :
sw_data_textblockheader : Table des entêtes de blocs de textes
sw_data_textblockdetail : Table des détails de blocs de textes
Les tables liées sont :
sw_data_textblockdetaildocument : Table des pièces jointes d'un bloc de texte
...
La date de début de validité est mise par défaut à la date du jour (validityStartDate) si non fournie lors d'une créationLe type
Si le code entête de bloc texte est mis par défaut à 'Email' (generictype_ID_textblockType = TEXTBLOCK_TYPE-EMAIL) si non fourni lors d'une créationde texte fourni n’existe pas (textblockheader_ID), on créé automatiquement une nouvelle entête de bloc texte (sw_data_textblockheader)
Fonctionnement
verb: GET
resultType: simple
...
Bloc de code | ||
---|---|---|
| ||
"textblockdetail": { "codetextblockdetail": "ADR_BUREAU-FR", /* Code globalement unique du détail du bloc texte. Si non fourni code=ID (Varchar (255))*/ "textblockheader_ID": "ADR_BUREAU", /* Code entête de bloc texte (ForeignKey () - sw_data_textblockheader.codetextblockheader)*/ "name": "Adresse bureau" /* Nom (Varchar (255))*/ "validityStartDate": "2022-02-01 00:00:00", /* Date de début de validité (DatetImeDatetime())*/ "validityEndDate": "", /* Date de fin de validité (DatetImeDatetime())*/ "generictypebaseculture_ID_textblockType": "TEXTBLOCK_TYPEFR-EMAILFR", /* Type de bloc texteCulture (ForeignKey () - sw_data_generictype.codegenerictype avec dataType = TEXTBLOCK_TYPEbaseculture.codebaseculture)*/ "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))*/ } |
Info |
---|
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’emailbloc texte. 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], … |
...
Bloc de code | ||
---|---|---|
| ||
"action": { "verb": "PUT", "parameters": { "entity": "textblocktextblockdetail", "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_textblocktextblockdetail.codetextblockcodetextblockdetail)*/ "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 "codeTextBlockcodeTextBlockDetail" voulu pour récupérer le "body".
Bloc de code | ||
---|---|---|
| ||
"filters:" { "codeTextBlockcodeTextBlockDetail": "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 "codeCulture": "value", filter is equal "codeTextBlockHeader": "value", filter is equal "codeTextBlockType": "value", filter is equal }, "orderBy": "value" |
...
verb: DELETE
Une suppression d'un bloc texte (sw_data_textblocktextblockdetail) va supprimer en cascade les éléments dans la table liée sw_data_textblockdocumenttextblockdetaildocument.