Documentación API

Skills Market

Marketplace de habilidades donde los clientes pueden publicar y compartir habilidades de extracción.


GET /api/skills-market/

Lista todas las habilidades disponibles en el marketplace.

GET /api/skills-market/

Headers

Authorization: Bearer JWT_TOKEN

Ejemplos

curl -X GET https://api-docmind.devol.es/api/skills-market/ \
  -H "Authorization: Bearer JWT_TOKEN"

Respuesta

{
  "skills": [
    {"id": "market-uuid", "nombre": "Factura Genérica", "descripcion": "Extrae datos comunes de facturas", "autor": "Docmind", "descargas": 150}
  ]
}

Lista de skills publicadas en el marketplace.

Errores

401Unauthorized

Token inválido.

{"msg": "Token inválido"}

POST /api/skills-market/publish

Publica una habilidad del cliente en el marketplace para que otros clientes puedan usarla.

POST /api/skills-market/publish

Headers

Content-Type: application/json
Authorization: Bearer JWT_TOKEN

Body (JSON)

{"habilidad_id": "uuid-habilidad", "descripcion": "Descripción para el marketplace"}
  • habilidad_id: (obligatorio) ID de la habilidad a publicar.
  • descripcion: (opcional) Descripción pública.

Ejemplos

curl -X POST https://api-docmind.devol.es/api/skills-market/publish \
  -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN" \
  -d '{"habilidad_id": "uuid", "descripcion": "Extrae datos de facturas"}'

Respuesta

{"message": "Habilidad publicada en el marketplace", "market_id": "market-uuid"}

La habilidad queda visible para todos los clientes del marketplace.

Errores

404Not Found

Habilidad no encontrada.

{"error": "Habilidad no encontrada"}
409Conflict

Ya está publicada.

{"error": "Esta habilidad ya está publicada"}

POST /api/skills-market/add

Agrega una habilidad del marketplace a tu cliente (la copia a tu organización).

POST /api/skills-market/add

Headers

Content-Type: application/json
Authorization: Bearer JWT_TOKEN

Body (JSON)

{"market_id": "market-uuid"}
  • market_id: (obligatorio) ID de la skill en el marketplace.

Ejemplos

curl -X POST https://api-docmind.devol.es/api/skills-market/add \
  -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN" \
  -d '{"market_id": "market-uuid"}'

Respuesta

{"message": "Habilidad agregada a tu organización", "habilidad_id": "nueva-uuid"}

Se crea una copia de la habilidad en tu organización.

Errores

404Not Found

Skill no encontrada en el marketplace.

{"error": "Skill no encontrada en el marketplace"}

DELETE /api/skills-market/delete/{market_id}

Elimina una habilidad del marketplace (solo el publicador o global_admin).

DELETE /api/skills-market/delete/{market_id}

Headers

Authorization: Bearer JWT_TOKEN

Ejemplos

curl -X DELETE https://api-docmind.devol.es/api/skills-market/delete/MARKET_ID \
  -H "Authorization: Bearer JWT_TOKEN"

Respuesta

{"message": "Skill eliminada del marketplace"}

La skill se retira del marketplace. Las copias existentes en clientes no se eliminan.

Errores

403Forbidden

Sin permisos para eliminar.

{"error": "No tienes permisos para eliminar esta skill"}
404Not Found

Skill no encontrada.

{"error": "Skill no encontrada"}

POST /api/skills-market/create

Crea una skill directamente en el marketplace (solo global_admin).

POST /api/skills-market/create

Headers

Content-Type: application/json
Authorization: Bearer JWT_TOKEN

Body (JSON)

{
  "nombre": "Factura Universal",
  "descripcion": "Habilidad genérica para facturas",
  "campos": [{"nombre": "total", "tipo": "float", "descripcion": "Monto total"}]
}
  • nombre: (obligatorio) Nombre de la skill.
  • descripcion: (opcional) Descripción.
  • campos: (obligatorio) Campos de la habilidad.

Ejemplos

curl -X POST https://api-docmind.devol.es/api/skills-market/create \
  -H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN" \
  -d '{"nombre": "Factura Universal", "campos": [{"nombre": "total", "tipo": "float"}]}'

Respuesta

{"message": "Skill creada en el marketplace", "market_id": "new-market-uuid"}

La skill se crea directamente en el marketplace sin necesidad de publicar una existente.

Errores

400Bad Request

Datos inválidos.

{"error": "Datos inválidos"}
403Forbidden

Requiere global_admin.

{"error": "Se requiere rol de administrador global"}

© 2025 Devol. Todos los derechos reservados.