githubEdit

Ejemplos

Ejemplos completos de principio a fin que muestran cómo usar las herramientas de DocFlow MCP en conjunto.

Ejemplo 1: Crear una tarjeta personalizada y usarla en un flujo de trabajo

Este ejemplo recorre el ciclo de vida completo: crear una tarjeta de socio, validarla, probarla, aprobarla y construir un flujo de trabajo que la utilice.

Paso 1: Crear la tarjeta

Llama a sdk_create_card:

{
  "app_manifest": {
    "id": "com.example.invoice-tools",
    "name": "Invoice Tools",
    "version": "1.0.0",
    "partner": {
      "id": "example-partner",
      "name": "Example Corp"
    }
  },
  "card_manifest": {
    "id": "high-value-check",
    "title": {"en": "High Value Invoice Check"},
    "entry_point": "src/high_value.py",
    "class_name": "HighValueCheck",
    "args": [
      {
        "id": "threshold",
        "title": {"en": "Amount Threshold"},
        "type": "number",
        "required": true
      }
    ]
  },
  "card_type": "condition",
  "source_code": "from api.sdk.base import PartnerCard\nfrom api.sdk.result import CardResult, CardStatus\n\nclass HighValueCheck(PartnerCard):\n    def execute(self, context):\n        threshold = float(self.variables.get('threshold', 1000))\n        total = float(context.document_fields.get('total_amount', 0))\n        if total > threshold:\n            return CardResult(status=CardStatus.SUCCESS, message=f'High value: {total}')\n        return CardResult(status=CardStatus.FAILURE, message=f'Below threshold: {total}')",
  "test_code": "def test_high_value():\n    assert True  # Basic test"
}

Anota el card_id de la respuesta; lo necesitarás en los pasos siguientes.

Paso 2: Validar la tarjeta

Llama a sdk_validate_card con el ID de la tarjeta:

Revisa el informe de validación. Las 5 etapas deberían pasar.

Paso 3: Probar la tarjeta

Llama a sdk_test_card con un contexto de documento simulado:

Verifica que la respuesta muestre CardStatus.SUCCESS.

Paso 4: Aprobar la tarjeta

Llama a sdk_approve_card (requiere administrador):

La tarjeta ahora está activa y disponible para su uso en flujos de trabajo.

Paso 5: Construir un flujo de trabajo con la tarjeta

Primero, obtén las tarjetas disponibles usando list_cards o sdk_list_cards_picker para encontrar los IDs de las tarjetas.

Luego llama a create_advanced_workflow:

Paso 6: Probar el flujo de trabajo

Llama a test_advanced_workflow:

Revisa los registros de ejecución para verificar que cada nodo se ejecutó correctamente.


Ejemplo 2: Construir un flujo de trabajo con tarjetas integradas

Este ejemplo crea un flujo de trabajo usando solo tarjetas integradas (no se necesitan tarjetas personalizadas).

Paso 1: Descubrir las tarjetas disponibles

Llama a sdk_list_cards_picker para ver todas las tarjetas disponibles con sus indicadores de rol:

Filtra por rol:

  • is_when: true — Usar en nodos WHEN (disparadores)

  • is_and: true — Usar en nodos AND (condiciones adicionales)

  • is_then: true — Usar en nodos THEN (acciones)

Paso 2: Crear el flujo de trabajo

Esto crea un flujo de trabajo: WHEN el documento es una factura AND el monto > 1000 THEN establecer el estado a revisión.


Ejemplo 3: Importar tarjetas desde GitHub

Si tus tarjetas de socios están en un repositorio de GitHub, puedes importarlas directamente:

Para repositorios privados, incluye un token de GitHub:

Después de la importación, las tarjetas pasan por la validación automáticamente. Verifica su estado con sdk_list_submissions y apruébalas con sdk_approve_card.

Last updated

Was this helpful?