githubEdit

Przykłady

Kompletne przykłady end-to-end pokazujace, jak uzywac narzedzi DocFlow MCP razem.

Przykład 1: Utworzenie niestandardowej karty i uzycie jej w przepływie pracy

Ten przykład przeprowadza przez pełny cykl zycia: utworzenie karty partnerskiej, walidacja, testowanie, zatwierdzenie i zbudowanie przepływu pracy, ktory jej uzywa.

Krok 1: Utworzenie karty

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

Zapisz card_id z odpowiedzi — bedziesz go potrzebowac w kolejnych krokach.

Krok 2: Walidacja karty

Wywolaj sdk_validate_card z ID karty:

Przejrzyj raport walidacji. Wszystkie 5 etapow powinno przejsc pomyslnie.

Krok 3: Testowanie karty

Wywolaj sdk_test_card z symulowanym kontekstem dokumentu:

Sprawdz, czy odpowiedz pokazuje CardStatus.SUCCESS.

Krok 4: Zatwierdzenie karty

Wywolaj sdk_approve_card (wymaga uprawnien administratora):

Karta jest teraz aktywna i dostepna do uzycia w przepływach pracy.

Krok 5: Zbudowanie przepływu pracy z karta

Najpierw pobierz dostepne karty za pomoca list_cards lub sdk_list_cards_picker, aby znalezc identyfikatory kart.

Nastepnie wywolaj create_advanced_workflow:

Krok 6: Testowanie przepływu pracy

Wywolaj test_advanced_workflow:

Przejrzyj logi wykonania, aby sprawdzic, czy kazdy wezel wykonal sie poprawnie.


Przykład 2: Budowanie przepływu pracy z wbudowanymi kartami

Ten przykład tworzy przepływ pracy uzywajac wylacznie wbudowanych kart (bez potrzeby tworzenia niestandardowych kart).

Krok 1: Odkrywanie dostepnych kart

Wywolaj sdk_list_cards_picker, aby zobaczyc wszystkie dostepne karty z ich flagami rol:

Filtruj wedlug roli:

  • is_when: true — Uzyj w wezlach WHEN (wyzwalacze)

  • is_and: true — Uzyj w wezlach AND (dodatkowe warunki)

  • is_then: true — Uzyj w wezlach THEN (akcje)

Krok 2: Utworzenie przepływu pracy

Tworzy to przepływ pracy: WHEN dokument jest faktura AND kwota > 1000 THEN ustaw status na przegladanie.


Przykład 3: Import kart z GitHub

Jesli Twoje karty partnerskie znajduja sie w repozytorium GitHub, mozesz je zaimportowac bezposrednio:

Dla prywatnych repozytoriow dolacz token GitHub:

Po imporcie karty przechodza automatyczna walidacje. Sprawdz ich status za pomoca sdk_list_submissions i zatwierdz je za pomoca sdk_approve_card.

Last updated

Was this helpful?