Esempi

Esempi completi end-to-end che mostrano come utilizzare insieme gli strumenti DocFlow MCP.

Esempio 1: Creare una Card Personalizzata e Usarla in un Workflow

Questo esempio illustra il ciclo di vita completo: creare una card partner, validarla, testarla, approvarla e costruire un workflow che la utilizza.

Passo 1: Creare la Card

Chiama 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"
}

Prendi nota del card_id dalla risposta -- ti servira' nei passaggi successivi.

Passo 2: Validare la Card

Chiama sdk_validate_card con l'ID della card:

Esamina il report di validazione. Tutte e 5 le fasi dovrebbero essere superate.

Passo 3: Testare la Card

Chiama sdk_test_card con un contesto documento simulato:

Verifica che la risposta mostri CardStatus.SUCCESS.

Passo 4: Approvare la Card

Chiama sdk_approve_card (richiesto admin):

La card e' ora attiva e disponibile per l'utilizzo nei workflow.

Passo 5: Costruire un Workflow con la Card

Per prima cosa, ottieni le card disponibili usando list_cards o sdk_list_cards_picker per trovare gli ID delle card.

Poi chiama create_advanced_workflow:

Passo 6: Testare il Workflow

Chiama test_advanced_workflow:

Esamina i log di esecuzione per verificare che ogni nodo sia stato eseguito correttamente.


Esempio 2: Costruire un Workflow con Card Integrate

Questo esempio crea un workflow utilizzando solo card integrate (nessuna card personalizzata necessaria).

Passo 1: Scoprire le Card Disponibili

Chiama sdk_list_cards_picker per visualizzare tutte le card disponibili con i relativi flag di ruolo:

Filtra per ruolo:

  • is_when: true -- Usa nei nodi WHEN (trigger)

  • is_and: true -- Usa nei nodi AND (condizioni aggiuntive)

  • is_then: true -- Usa nei nodi THEN (azioni)

Passo 2: Creare il Workflow

Questo crea un workflow: WHEN il documento e' una fattura AND l'importo > 1000 THEN imposta lo stato su revisione.


Esempio 3: Importare Card da GitHub

Se le tue card partner si trovano in un repository GitHub, puoi importarle direttamente:

Per repository privati, includi un token GitHub:

Dopo l'importazione, le card vengono validate automaticamente. Controlla il loro stato con sdk_list_submissions e approvale con sdk_approve_card.

Last updated