Card SDK Tools
De Card SDK-tools stellen u in staat om aangepaste partnerkaarten aan te maken, te valideren, te testen en te beheren via MCP. Partnerkaarten breiden DocFlow uit met aangepaste bedrijfslogica geschreven in Python.
Levenscyclus van kaarten
Create → Validate → Test → Approve → Use in WorkflowsAanmaken van een kaart met
sdk_create_cardofsdk_import_githubValideren met
sdk_validate_card(5-fasen validatie)Testen met
sdk_test_card(uitvoering in sandbox)Goedkeuren met
sdk_approve_card(admin vereist)De kaart is nu beschikbaar in
list_cardsen kan worden gebruikt in workflows
Ontwikkeltools
sdk_create_card
Een nieuwe partnerkaart aanmaken vanuit broncode en manifesten. Voert volledige 5-fasen validatie uit en slaat de kaart op in de database. De kaart begint in een wachtende status en vereist goedkeuring van een admin om te activeren.
Parameters:
app_manifest
object
Ja
App-manifest met id, naam, versie, partnerinfo
card_manifest
object
Ja
Kaartmanifest met id, titel, entry_point, class_name, args
card_type
string
Ja
action of condition
source_code
string
Ja
Python-broncode (moet PartnerCard uitbreiden)
test_code
string
Ja
Pytest-testcode voor de kaart
locales
object
Nee
Taalvertalingen, bijv. {"en": {...}, "de": {...}}
Voorbeeld App-manifest:
Voorbeeld Kaartmanifest:
Voorbeeld broncode:
Voorbeeldrespons:
sdk_validate_card
5-fasen validatie uitvoeren op een partnerkaart zonder op te slaan. Twee modi:
Modus A — Een bestaande kaart valideren op basis van ID
Modus B — Nieuwe broncode inline valideren
Parameters:
card_id
string
Nee
UUID van bestaande kaart (Modus A)
app_manifest
object
Nee
App-manifest (Modus B)
card_manifest
object
Nee
Kaartmanifest (Modus B)
card_type
string
Nee
action of condition (Modus B)
source_code
string
Nee
Python-broncode (Modus B)
test_code
string
Nee
Testcode (Modus B)
Geef ofwel alleen card_id op (Modus A) of app_manifest + card_manifest + source_code samen (Modus B).
Validatiefasen:
Structuur — Controleert bestandsindeling, manifestschema, vereiste bestanden
AST-analyse — Controleert Python-syntaxis, klassehiërarchie, methodesignaturen
Afhankelijkheden — Valideert imports tegen toegestane modules
Tests — Voert de testsuite van de kaart uit
Gedrag — Voert de kaart uit in een sandbox om runtime-gedrag te controleren
sdk_test_card
Een partnerkaart uitvoeren in een sandboxomgeving met een gesimuleerde context. Gebruikt hetzelfde beveiligingsmodel als productie (beperkte builtins, importwhitelist, 10 seconden timeout).
Parameters:
card_id
string
Nee
UUID van bestaande kaart (Modus A)
source_code
string
Nee
Broncode voor inline testen (Modus B)
class_name
string
Nee
Klassenaam voor inline testen (Modus B)
variables
object
Nee
Variabelen om aan de kaartconstructor door te geven
mock_context
object
Nee
Gesimuleerde uitvoeringscontext
Velden gesimuleerde context:
Voorbeeldrespons:
sdk_import_github
Een partnerapp importeren vanuit een GitHub-repository. Kloont de repository, leest app.json en importeert alle kaarten die gevonden worden in de .docflowcompose-map.
Parameters:
github_url
string
Ja
GitHub HTTPS-URL (bijv. https://github.com/org/repo)
branch
string
Nee
Branch om te klonen (standaard: main)
token
string
Nee
GitHub-token voor privérepositories
Verwachte repositorystructuur:
Voorbeeldrespons:
Beheertools
sdk_list_submissions
Alle partnerkaartinzendingen voor de huidige organisatie weergeven.
Parameters: Geen
Voorbeeldrespons:
sdk_get_submission_status
De validatiestatus en het rapport ophalen voor een specifieke partnerkaartinzending.
Parameters:
card_id
string
Ja
UUID van de partnerkaart
Voorbeeldrespons:
sdk_approve_card
Een gevalideerde partnerkaart goedkeuren en activeren voor gebruik in workflows. De kaart wordt geregistreerd in het runtime-register en wordt beschikbaar in list_cards.
Parameters:
card_id
string
Ja
UUID van de partnerkaart
Vereist organisatiebeheerderrechten. De kaart moet de status validated of rejected hebben.
sdk_reject_card
Een partnerkaartinzending afwijzen en deactiveren.
Parameters:
card_id
string
Ja
UUID van de partnerkaart
reason
string
Nee
Reden voor afwijzing
Vereist organisatiebeheerderrechten.
sdk_delete_submission
Een partnerkaartinzending deactiveren of verwijderen. Afgewezen of uitgeschakelde kaarten worden fysiek uit de database verwijderd. Actieve kaarten worden eerst gedeactiveerd.
Parameters:
card_id
string
Ja
UUID van de partnerkaart
Vereist organisatiebeheerderrechten.
sdk_list_cards_picker
Alle ingeschakelde, niet-verouderde kaarten met rolvlaggen weergeven. Handig om te bepalen welke kaarten in welke nodetypes kunnen worden gebruikt bij het bouwen van workflows.
Parameters: Geen
Voorbeeldrespons:
Last updated
Was this helpful?