API REST – Gestion des fichiers #
Le téléchargement d’un fichier se fait en plusieurs étapes : créer un document, uploader le fichier, puis les lier.
Étape 1 : Obtenir l’ID Webservice du dossier #
Pour créer un document, vous avez besoin de l’identifiant Webservice du dossier cible. Utilisez une opération query :
Exemple curl :
curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=query&sessionName=YOUR_SESSION_ID&query=SELECT%20id%20FROM%20DocumentFolders%20WHERE%20foldername%20LIKE%20'Default'%20LIMIT%201%20;"
Requête :
SELECT id FROM DocumentFolders WHERE foldername LIKE 'Default' LIMIT 1 ;
Étape 2 : Créer une entité Document #
Créez une entité de type Documents via l’opération create.
POST
https://apps.kafinea.com/{instance}/webservice.php
| Paramètre | Type | Requis | Description |
|---|---|---|---|
operation |
string | oui | Doit être create |
sessionName |
string | oui | Identifiant de session |
element |
JSON | oui | Objet JSON du document (voir champs ci-dessous) |
elementType |
string | oui | Doit être Documents |
Champs de l’objet element :
| Champ | Type | Requis | Description |
|---|---|---|---|
notes_title |
string | oui | Nom de l’entité document |
folderid |
string | oui | ID Webservice du dossier (étape 1) |
filename |
string | oui | Nom du fichier |
filetype |
string | oui | Type MIME (ex : application/pdf) |
filesize |
int | oui | Taille du fichier en octets |
filestatus |
int | oui | 1 pour actif |
filelocationtype |
string | oui | I pour stockage interne |
assigned_user_id |
string | oui | ID Webservice de l’utilisateur assigné |
Exemple curl :
curl -X POST https://apps.kafinea.com/YourKafinea/webservice.php \
-d "operation=create" \
-d "sessionName=YOUR_SESSION_ID" \
-d 'element={"notes_title":"Mon document","folderid":"65x1","filename":"rapport.pdf","filetype":"application/pdf","filesize":12345,"filestatus":1,"filelocationtype":"I","assigned_user_id":"19x1"}' \
-d "elementType=Documents"
Étape 3 : Uploader le fichier (FileUpload) #
Cette opération uploade le fichier et le lie au document créé. Elle peut aussi être utilisée seule pour ajouter des images aux produits (remplacez attachmentType par Image et parentId par l’ID Webservice du produit).
POST
https://apps.kafinea.com/{instance}/webservice.php
| Paramètre | Type | Requis | Description |
|---|---|---|---|
operation |
string | oui | Doit être FileUpload |
sessionName |
string | oui | Identifiant de session |
parentId |
string | oui | ID Webservice du document (étape 2) |
attachmentType |
string | oui | Attachment pour un fichier, Image pour une image |
fileName |
string | oui | Nom du fichier |
fileContents |
string | oui | Contenu du fichier encodé en base64 |
Exemple curl :
curl -X POST https://apps.kafinea.com/YourKafinea/webservice.php \
-d "operation=FileUpload" \
-d "sessionName=YOUR_SESSION_ID" \
-d "parentId=15x7890" \
-d "attachmentType=Attachment" \
-d "fileName=rapport.pdf" \
-d "fileContents=$(base64 -w0 rapport.pdf)"
Récupérer un fichier (files_retrieve) #
Récupère un fichier précédemment ajouté à Kafinea. Vous avez besoin du WebserviceID du fichier (à ne pas confondre avec celui de l’entité Document).
GET
https://apps.kafinea.com/{instance}/webservice.php
| Paramètre | Type | Requis | Description |
|---|---|---|---|
operation |
string | oui | Doit être files_retrieve |
sessionName |
string | oui | Identifiant de session |
id |
string | oui | ID Webservice du fichier |
Exemple curl :
curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=files_retrieve&sessionName=YOUR_SESSION_ID&id=28x5678"