---
title: API REST – Gestión de archivos
description: "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…"
url: "https://www.kafinea.com/es/documentacion/api/api-rest-gestion-de-archivos/"
updated: "2026-04-03"
category: API
---

# API REST – Gestión de archivos

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:**

```bash
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:**

```sql
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:**

```bash
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:**

```bash
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:**

```bash
curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=files_retrieve&sessionName=YOUR_SESSION_ID&id=28x5678"
```

---

## Referencias asociadas 🔗

- [Operaciones CRUD](https://www.kafinea.com/es/documentation/api/api-rest-operaciones-crud/)
- [Operaciones relacionadas](https://www.kafinea.com/es/documentation/api/api-rest-relaciones-entre-entidades/)
