La subida de un archivo se realiza en varias etapas: crear un documento, subir el archivo y, a continuación, vincularlos.
Paso 1: Obtener el ID de Webservice de la carpeta #
Para crear un documento, necesita el identificador de Webservice de la carpeta de destino. Utilice una operación query:
Ejemplo de 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;"
Solicitud:
SELECT id FROM DocumentFolders WHERE foldername LIKE 'Default' LIMIT 1 ;
Paso 2: Crear una entidad Documento #
Cree una entidad de tipo Documents mediante la operación create.
POST
https://apps.kafinea.com/{instance}/webservice.php
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
operation |
string | sí | Debe ser create |
sessionName |
string | sí | Identificador de sesión |
element |
JSON | sí | Objeto JSON del documento (véanse los campos a continuación) |
elementType |
string | sí | Debe ser Documents |
Campos del objeto element:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
notes_title |
string | sí | Nombre de la entidad documento |
folderid |
string | sí | ID de Webservice de la carpeta (paso 1) |
filename |
string | sí | Nombre del archivo |
filetype |
string | sí | Tipo MIME (p. ej.: application/pdf) |
filesize |
int | sí | Tamaño del archivo en bytes |
filestatus |
int | sí | 1 para activo |
filelocationtype |
string | sí | I para almacenamiento interno |
assigned_user_id |
string | sí | ID de Webservice del usuario asignado |
Ejemplo de 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"
Paso 3: Subir el archivo (FileUpload) #
Esta operación sube el archivo y lo vincula al documento creado. También puede utilizarse por sí sola para añadir imágenes a los productos (sustituya attachmentType por Image y parentId por el ID de Webservice del producto).
POST
https://apps.kafinea.com/{instance}/webservice.php
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
operation |
string | sí | Debe ser FileUpload |
sessionName |
string | sí | Identificador de sesión |
parentId |
string | sí | ID de Webservice del documento (paso 2) |
attachmentType |
string | sí | Attachment para un archivo, Image para una imagen |
fileName |
string | sí | Nombre del archivo |
fileContents |
string | sí | Contenido del archivo codificado en base64 |
Ejemplo de 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)"
Recuperar un archivo (files_retrieve) #
Recupera un archivo añadido previamente a Kafinea. Necesita el WebserviceID del archivo (no confundir con el de la entidad Documento).
GET
https://apps.kafinea.com/{instance}/webservice.php
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
operation |
string | sí | Debe ser files_retrieve |
sessionName |
string | sí | Identificador de sesión |
id |
string | sí | ID de Webservice del archivo |
Ejemplo de curl:
curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=files_retrieve&sessionName=YOUR_SESSION_ID&id=28x5678"