githubEdit

Exemplos

Exemplos completos de ponta a ponta mostrando como usar as ferramentas do DocFlow MCP em conjunto.

Exemplo 1: Criar um Card Personalizado e Usá-lo em um Workflow

Este exemplo percorre o ciclo de vida completo: criar um card de parceiro, validá-lo, testá-lo, aprová-lo e construir um workflow que o utiliza.

Passo 1: Criar o Card

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

Anote o card_id da resposta - você precisará dele nos passos seguintes.

Passo 2: Validar o Card

Chame sdk_validate_card com o ID do card:

Revise o relatório de validação. Todas as 5 etapas devem passar.

Passo 3: Testar o Card

Chame sdk_test_card com um contexto de documento simulado:

Verifique se a resposta mostra CardStatus.SUCCESS.

Passo 4: Aprovar o Card

Chame sdk_approve_card (requer admin):

O card agora está ativo e disponível para uso em workflows.

Passo 5: Construir um Workflow com o Card

Primeiro, obtenha os cards disponíveis usando list_cards ou sdk_list_cards_picker para encontrar os IDs dos cards.

Em seguida, chame create_advanced_workflow:

Passo 6: Testar o Workflow

Chame test_advanced_workflow:

Revise os logs de execução para verificar se cada nó foi executado corretamente.


Exemplo 2: Construir um Workflow com Cards Integrados

Este exemplo cria um workflow usando apenas cards integrados (sem necessidade de cards personalizados).

Passo 1: Descobrir os Cards Disponíveis

Chame sdk_list_cards_picker para ver todos os cards disponíveis com suas flags de função:

Filtre por função:

  • is_when: true — Use em nós WHEN (gatilhos)

  • is_and: true — Use em nós AND (condições adicionais)

  • is_then: true — Use em nós THEN (ações)

Passo 2: Criar o Workflow

Isso cria um workflow: WHEN o documento é uma fatura AND o valor > 1000 THEN definir status como revisão.


Exemplo 3: Importar Cards do GitHub

Se seus cards de parceiros estão em um repositório GitHub, você pode importá-los diretamente:

Para repositórios privados, inclua um token do GitHub:

Após a importação, os cards passam pela validação automaticamente. Verifique o status com sdk_list_submissions e aprove-os com sdk_approve_card.

Last updated

Was this helpful?