ListTypes — Mostrar los módulos disponibles #
Esta operación devuelve todos los módulos a los que se puede acceder a través de la API.
GET
https://apps.kafinea.com/{instance}/webservice.php
| Parámetro | Tipo | Requisitos | Descripción |
|---|---|---|---|
operation |
cadena | sí | Debe ser listtypes |
sessionName |
cadena | sí | Identificador de sesión |
Ejemplo de curl:
curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=listtypes&sessionName=YOUR_SESSION_ID"
Describe — Describir un módulo #
Esta operación permite conocer los campos de un módulo (tipo, carácter obligatorio) y las acciones disponibles.
GET
https://apps.kafinea.com/{instance}/webservice.php
| Parámetro | Tipo | Requisitos | Descripción |
|---|---|---|---|
operation |
cadena | sí | Debe ser describe |
sessionName |
cadena | sí | Identificador de sesión |
elementType |
cadena | sí | Nombre del módulo (p. ej.: Contacts) |
Ejemplo de curl:
curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=describe&sessionName=YOUR_SESSION_ID&elementType=Contacts"
Recuperar — Recuperar una entidad #
Recupera una entidad específica mediante su ID de servicio web (por ejemplo: 21x3456).
GET
https://apps.kafinea.com/{instance}/webservice.php
| Parámetro | Tipo | Requisitos | Descripción |
|---|---|---|---|
operation |
cadena | sí | Debe ser retrieve |
sessionName |
cadena | sí | Identificador de sesión |
id |
cadena | sí | ID del servicio web de la entidad (p. ej.: 21x3456) |
Ejemplo de curl:
curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=retrieve&sessionName=YOUR_SESSION_ID&id=21x3456"
Crear — Crear una entidad #
Crea una nueva entidad en un módulo. Deben incluirse todos los campos obligatorios. Los valores de los campos vinculados a otros módulos deben utilizar el formato de identificadores de servicio web (p. ej.: 21x3456).
PUBLICAR
https://apps.kafinea.com/{instance}/webservice.php
| Parámetro | Tipo | Requisitos | Descripción |
|---|---|---|---|
operation |
cadena | sí | Debe ser create |
sessionName |
cadena | sí | Identificador de sesión |
element |
JSON | sí | Objeto JSON de la entidad (fieldname: fieldvalue) |
elementType |
cadena | sí | Nombre del módulo (p. ej.: Contacts) |
Ejemplo de curl:
curl -X POST https://apps.kafinea.com/YourKafinea/webservice.php \
-d "operation=create" \
-d "sessionName=YOUR_SESSION_ID" \
-d 'element={"lastname":"Dupont","email":"dupont@example.com","assigned_user_id":"19x1"}' \
-d "elementType=Contacts"
¡Atención! En el caso de los módulos de gestión de inventario (facturas, presupuestos, pedidos, etc.), es obligatorio incluir los siguientes campos en el asunto
element:
productid— ID del servicio web del productohdnTaxType—IndividualoGroupLineItems— Lista de productos o servicios
Actualización — Actualizar una entidad #
Actualiza una entidad existente. Todos los campos deben incluirse (no solo los modificados). El objeto element debe contener el ID del servicio web de la entidad (p. ej.: "id": "21x3456").
PUBLICAR
https://apps.kafinea.com/{instance}/webservice.php
| Parámetro | Tipo | Requisitos | Descripción |
|---|---|---|---|
operation |
cadena | sí | Debe ser update |
sessionName |
cadena | sí | Identificador de sesión |
element |
JSON | sí | Objeto JSON completo de la entidad (con id) |
elementType |
cadena | sí | Nombre del módulo |
Ejemplo de curl:
curl -X POST https://apps.kafinea.com/YourKafinea/webservice.php \
-d "operation=update" \
-d "sessionName=YOUR_SESSION_ID" \
-d 'element={"id":"21x3456","lastname":"Dupont","email":"nouveau@example.com","assigned_user_id":"19x1"}' \
-d "elementType=Contacts"
Actualización parcial (Partial Edit) en entidades bloqueadas #
Si necesita modificar algunos campos de entidades bloqueadas (bloqueo permanente, como una factura validada), puede utilizar la edición parcial sin desbloquear el registro.
PUBLICAR
https://apps.kafinea.com/{instance}/webservice.php
| Parámetro | Tipo | Requisitos | Descripción |
|---|---|---|---|
operation |
cadena | sí | Debe ser update |
sessionName |
cadena | sí | Identificador de sesión |
partial_edit |
int | sí | Debe ser 1 — al mismo nivel que operation, no en element |
element |
JSON | sí | Objeto JSON con id y todos los campos obligatorios |
elementType |
cadena | sí | Nombre del módulo |
Funcionamiento y restricciones:
- Campos permitidos: estado, usuario asignado, referencias de pedido y todos los campos personalizados.
- Líneas de productos bloqueadas: cualquier modificación de los artículos, precios o cantidades (líneas de pedido) se ignora en el modo de edición parcial.
- Gestión de errores: sin el indicador
partial_edit=1, la API devuelveACCESSDENIED. Si el módulo no admite este modo:ACCESSDENIED – Partial edit is not supported for module X.
¡Atención! Incluso en modo
partial_edit, el objetoelementdebe contener todos los campos obligatorios del módulo, exactamente igual que en una actualización convencional.
Ejemplo de curl:
curl -X POST https://apps.kafinea.com/YourKafinea/webservice.php \
-d "operation=update" \
-d "sessionName=YOUR_SESSION_ID" \
-d "partial_edit=1" \
-d 'element={"id":"7x1234","invoicestatus":"Paid","assigned_user_id":"19x1"}' \
-d "elementType=Invoice"
Eliminar — Eliminar una entidad #
Elimina una entidad específica mediante su ID de servicio web (por ejemplo: 21x3456).
PUBLICAR
https://apps.kafinea.com/{instance}/webservice.php
| Parámetro | Tipo | Requisitos | Descripción |
|---|---|---|---|
operation |
cadena | sí | Debe ser delete |
sessionName |
cadena | sí | Identificador de sesión |
id |
cadena | sí | ID del servicio web de la entidad (p. ej.: 21x3456) |
Ejemplo de curl:
curl -X POST https://apps.kafinea.com/YourKafinea/webservice.php \
-d "operation=delete" \
-d "sessionName=YOUR_SESSION_ID" \
-d "id=21x3456"