Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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

Opportunités/

Affaires/Documents

email

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
languagejson
"parameters":
{
  "entity": "customer",
  "extension": "document"    
}

verb: GET
resultType: simple

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

verb: GET
resultType: extended

Bloc de code
languagejson
  "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
languagejson
{
  "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".

...

  • 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
languagejson
"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": [
    {
      ...
    },
    ...
    ]
  }
  ]
}