...
Les tables utilisées sont :
sw_data_contractdocument : Table des documents des contrats
sw_data_customeraddressdocument : Table des documents des adresses
sw_data_customerdocument : Table des documents des tiers
sw_data_dealdocument : Table des documents des opportunités/affaires
sw_data_emaildocument : Tables des documents des emails
sw_data_emailtemplatedetaildocument : Table des documents des modèles des emails
sw_data_equipmentdocument : Table des documents des équipements
sw_data_eventdocument : Table des documents des événements
sw_data_interventiondocument : Table des documents des interventions
sw_data_interventionrequestdocument : Table des documents des demandes d'interventions
sw_data_marketinginbounddocument : Table des entrants marketing
sw_data_productdocument : Table des documents des articles
sw_data_productpicture : Table des images des articles
sw_data_textblockdetaildocument : Table des documents des bloc textes
Critères d'activation
WHK_File est est défini dans la gestion des webhooks du studio.
...
L'upload de fichier est limité en taille.
Cette dernière est définie via la variable variable MobileDbFromFileMaxSize.
Par défaut, sa valeur est fixée à 512(Ko ou KB).
Si sa valeur est vide, une sécurité supplémentaire appliquera une limite à 512KB
L'erreur suivante indiquera que le fichier uploadé dépasse la limite fixée
Standard rules error: The file exceeds the allowed size of 512 KB
Le bloc "parameters" avec les propriétés "entity" et "extension" est obligatoire.
Il permet de savoir qu'elle entité et extension on veut gérer.
...
Tableau des entités, extension qui sont gérées.
Entité | Extension | Description |
---|---|---|
contract | document | Contrats/Documents |
customeraddress | document | Adresses/Documents |
customer | document | Tiers/Documents |
deal | document |
Affaires/Documents | ||
document | Emails/Documents | |
emailtemplatedetail | document | Modèles emails/Documents |
equipment | document | Equipements/Documents |
equipmenttype | document | Types d'équipements/Documents |
event | document | Evénements/Documents |
intervention | document | Interventions/Documents |
interventionrequest | document | Demandes d'interventions/Documents |
marketinginbound | document | Entrants marketing/Documents |
opportunity | document | Opportunités/Documents |
product | document | Articles/Documents |
product | picture | Articles/Images |
textblockdetail | document | Blocs textes/Documents |
Fonctionnement
Les exemples ci-dessous sont donnés pour les paramètres suivant :
Bloc de code | ||
---|---|---|
| ||
"parameters": { "entity": "customer", "extension": "document" } |
verb: GET
resultType: simple
Bloc de code | ||
---|---|---|
| ||
"file":{ "codefile":"C0000001-FILE1", "parent_ID":"C0000001", "fileBase64":"iVBORw0KGgoAAAANSUhEUgAAAEsAAACQCAYAAABAt5Y ....", "fileName":"plan.png", "description":"vue aérienne" } |
verb: GET
resultType: extended
Bloc de code | ||
---|---|---|
| ||
"file":{ "codefile":"C0000001-FILE1", "parent_ID":"C0000001", "fileBase64":"iVBORw0KGgoAAAANSUhEUgAAAEsAAACQCAYAAABAt5Y ....", "fileName":"plan.png", "description":"vue aérienne", /* Champs spécifiques à chaque entité */ "generictype_ID_customerDocumentTag": "NONE" } |
verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura toujours le détail pour "parent_ID" (ici il s'agit de "customer") et selon l'entité des détails complémentaires ou pas (ici on aura "generictype_customerDocumentTag").
...
Bloc de code | ||
---|---|---|
| ||
{ "customerfile": { "codefile": "C0000001-FILE1", /* Code globalement unique pour entity/extension (Varchar (255))*/ "parent_ID": "C0000001", /* Code du parent (ForeignKey () - sw_data_[entity].code[entity])*/ "fileName": "plan.png", /* Nom du fichier (Varchar (255))*/ "description": "vue aérienne", /* Description (Text (65535))*/ "fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAEsAAACQCAYAAABAt5Y ....", /* Fichier encodé en base 64 (MediumBlob ())*/ /* Champs spécifiques à chaque entité */ "generictype_ID_customerDocumentTag": "CUSTOMER_DOCUMENT_TAG-NONE" /* Code tag document client (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CUSTOMER_DOCUMENT_TAG)*/ } } |
verb: LIST
resultType: simple, extended reprendre les définitions du GET
Ce mode ne retourne pas le champ "fileBase64" pour une question de performances.
A la suite du résultat recherché il suffira de lancer le webhook en mode GET sur le "codeFile" voulu pour récupérer le "fileBase64".
Bloc de code | ||
---|---|---|
| ||
"filters:" { "codeFile": "value", filter is equal "fileName": "value", filter is contains "codeParent": "value" filter is equal }, "orderBy": "value" |
Valeur Valeurs possibles pour le tri "orderBy" :
fileNameAsc : par nom de fichier ascendant
verb: DEFINITION
En plus de la réponse équivalente aux autres webhooks, on retourne également une propriété complémentaire concernant la taille des fichiers.
Bloc de code | ||
---|---|---|
| ||
"response": {
"data": [
{
"fileMaxSize": "value", /* Taille maximum en octets du fichier que l'on peut uploader (variable MobileDbFromFileMaxSize)*/
/* Selon entity/extension on aura du détail complémentaire pour certaines foreign*/
"generictype_ID_customerDocumentTag": [
{
"code": "CUSTOMER_DOCUMENT_TAG-FAVICON",
"label": "Favicon"
},
....
]
}
],
"fieldList": [
{
"entityName": "file",
"fields": [
{
...
},
...
]
}
]
} |