WebHook File

Résumé

Webhook générique d'upload/download de fichiers liés à une entité.
Manipulation en lecture/écriture/suppression via un objet métier depuis une application externe.

Tables

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_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_productdocument : Table des documents des articles

  • sw_data_productpicture : Table des images des articles

Critères d'activation

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

Particularités

  • L'upload de fichier est limité en taille.

    • Cette dernière est définie via la 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.

"parameters": { "entity": "value", // entity value (ie : customer, product, contract, ...) "extension": "value" // extension value (document or picture) }

Tableau des entités, extension qui sont gérées.

Entité

Extension

Description

Entité

Extension

Description

contract

document

Contrats/Documents

customeraddress

document

Adresses/Documents

customer

document

Tiers/Documents

deal

document

Opportunités/Affaires/Documents

email

document

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

product

document

Articles/Documents

product

picture

Articles/Images

Fonctionnement

Les exemples ci-dessous sont donnés pour les paramètres suivant :

"parameters": { "entity": "customer", "extension": "document" }

verb: GET

resultType: simple

"file":{ "codefile":"C0000001-FILE1", "parent_ID":"C0000001", "fileBase64":"iVBORw0KGgoAAAANSUhEUgAAAEsAAACQCAYAAABAt5Y ....", "fileName":"plan.png", "description":"vue aérienne" }

verb: GET

resultType: extended

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").

verb: PUT

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".

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.

Â