Herramientas del SDK de Tarjetas
Las herramientas del Card SDK te permiten crear, validar, probar y gestionar tarjetas de socios personalizadas a través de MCP. Las tarjetas de socios extienden DocFlow con lógica de negocio personalizada escrita en Python.
Ciclo de vida de una tarjeta
Crear → Validar → Probar → Aprobar → Usar en flujos de trabajoCrear una tarjeta con
sdk_create_cardosdk_import_githubValidar con
sdk_validate_card(validación de 5 etapas)Probar con
sdk_test_card(ejecución en entorno aislado)Aprobar con
sdk_approve_card(requiere administrador)La tarjeta ahora está disponible en
list_cardsy puede usarse en flujos de trabajo
Herramientas de desarrollo
sdk_create_card
Crear una nueva tarjeta de socio a partir de código fuente y manifiestos. Ejecuta la validación completa de 5 etapas y almacena la tarjeta en la base de datos. La tarjeta comienza en estado pendiente y requiere aprobación del administrador para activarse.
Parámetros:
app_manifest
object
Sí
Manifiesto de la aplicación con id, name, version, info del socio
card_manifest
object
Sí
Manifiesto de la tarjeta con id, title, entry_point, class_name, args
card_type
string
Sí
action o condition
source_code
string
Sí
Código fuente en Python (debe extender PartnerCard)
test_code
string
Sí
Código de pruebas Pytest para la tarjeta
locales
object
No
Traducciones de idiomas, ej. {"en": {...}, "de": {...}}
Ejemplo de manifiesto de aplicación:
Ejemplo de manifiesto de tarjeta:
Ejemplo de código fuente:
Ejemplo de respuesta:
sdk_validate_card
Ejecutar la validación de 5 etapas en una tarjeta de socio sin guardar. Dos modos:
Modo A — Validar una tarjeta existente por ID
Modo B — Validar código fuente nuevo en línea
Parámetros:
card_id
string
No
UUID de la tarjeta existente (Modo A)
app_manifest
object
No
Manifiesto de la aplicación (Modo B)
card_manifest
object
No
Manifiesto de la tarjeta (Modo B)
card_type
string
No
action o condition (Modo B)
source_code
string
No
Código fuente en Python (Modo B)
test_code
string
No
Código de pruebas (Modo B)
Proporciona card_id solo (Modo A) o app_manifest + card_manifest + source_code juntos (Modo B).
Etapas de validación:
Estructura — Verifica la disposición de archivos, esquema del manifiesto, archivos requeridos
Análisis AST — Comprueba la sintaxis de Python, jerarquía de clases, firmas de métodos
Dependencias — Valida las importaciones contra los módulos permitidos
Pruebas — Ejecuta el conjunto de pruebas de la tarjeta
Comportamental — Ejecuta la tarjeta en un entorno aislado para verificar el comportamiento en tiempo de ejecución
sdk_test_card
Ejecutar una tarjeta de socio en un entorno aislado (sandbox) con un contexto simulado. Usa el mismo modelo de seguridad que producción (builtins restringidos, lista blanca de importaciones, tiempo límite de 10 segundos).
Parámetros:
card_id
string
No
UUID de la tarjeta existente (Modo A)
source_code
string
No
Código fuente para pruebas en línea (Modo B)
class_name
string
No
Nombre de la clase para pruebas en línea (Modo B)
variables
object
No
Variables para pasar al constructor de la tarjeta
mock_context
object
No
Contexto de ejecución simulado
Campos del contexto simulado:
Ejemplo de respuesta:
sdk_import_github
Importar una aplicación de socio desde un repositorio de GitHub. Clona el repositorio, lee app.json e importa todas las tarjetas encontradas en el directorio .docflowcompose.
Parámetros:
github_url
string
Sí
URL HTTPS de GitHub (ej. https://github.com/org/repo)
branch
string
No
Rama a clonar (por defecto: main)
token
string
No
Token de GitHub para repositorios privados
Estructura esperada del repositorio:
Ejemplo de respuesta:
Herramientas de gestión
sdk_list_submissions
Listar todos los envíos de tarjetas de socios de la organización actual.
Parámetros: Ninguno
Ejemplo de respuesta:
sdk_get_submission_status
Obtener el estado de validación y el informe de un envío específico de tarjeta de socio.
Parámetros:
card_id
string
Sí
UUID de la tarjeta de socio
Ejemplo de respuesta:
sdk_approve_card
Aprobar una tarjeta de socio validada y activarla para su uso en flujos de trabajo. La tarjeta se registra en el registro de tiempo de ejecución y queda disponible en list_cards.
Parámetros:
card_id
string
Sí
UUID de la tarjeta de socio
Requiere permisos de administrador de la organización. La tarjeta debe estar en estado validated o rejected.
sdk_reject_card
Rechazar un envío de tarjeta de socio y desactivarla.
Parámetros:
card_id
string
Sí
UUID de la tarjeta de socio
reason
string
No
Motivo del rechazo
Requiere permisos de administrador de la organización.
sdk_delete_submission
Desactivar o eliminar un envío de tarjeta de socio. Las tarjetas rechazadas o deshabilitadas se eliminan físicamente de la base de datos. Las tarjetas activas se desactivan primero.
Parámetros:
card_id
string
Sí
UUID de la tarjeta de socio
Requiere permisos de administrador de la organización.
sdk_list_cards_picker
Listar todas las tarjetas habilitadas y no obsoletas con indicadores de rol. Útil para determinar qué tarjetas se pueden usar en qué tipos de nodo al construir flujos de trabajo.
Parámetros: Ninguno
Ejemplo de respuesta:
Last updated
Was this helpful?