docs
fren clé sandbox

concepts

mandats et moteur de règles

Chaque dépense est évaluée par un moteur de règles déterministe avant de toucher la banque. Les règles s'exécutent dans un ordre fixe ; la première qui échoue décide.

trois issues

decisionl'agent reçoitce qui se passe
allowstatus: "paid" / "initiated"Exécuté immédiatement. L'émetteur peut encore refuser (declined_by_bank).
reviewstatus: "pending_approval" + requestIdRien n'est débité. Un humain approuve ou refuse.
blockstatus: "denied" + reasonRien n'est débité, inscrit au journal d'audit. Pas d'escalade.
Les limites dures passent avant la revue. Un paiement au-dessus du plafond par paiement, de la limite journalière ou du budget mensuel est bloqué, pas envoyé en approbation. L'approbation ne concerne que les paiements qui respectent déjà le mandat.

paiements carte : ordre de décision

Le montant doit être > 0.

block

Le nom du marchand contient une entrée de blockedMerchants (insensible à la casse).

block

allowedMccs n'est pas vide et le mcc est absent ou hors liste.

block

Montant > perTxMax.

block

Dépenses exécutées du jour + montant > dailyMax.

block

Dépenses exécutées du mois + montant > monthlyMax.

block

Montant > approvalAbove.

review

Sinon.

allow

Les fenêtres de dépense sont le jour et le mois calendaires en UTC. Seuls les paiements carte et virements exécutés comptent ; les tentatives refusées et demandes en attente non. Les comparaisons sont strictes : avec approvalAbove: 250, un paiement de 250,00 EUR est exécuté et 250,01 EUR est revu.

virements : ordre de décision

transfersEnabled vaut false.

block

Le montant doit être > 0.

block

Dépenses exécutées du mois + montant > monthlyMax.

block

Montant > transferApprovalAbove (0 par défaut : tout virement).

review

Sinon.

allow

Le format de l'IBAN est vérifié avant le mandat (IBAN invalide : 400). Les virements exécutés comptent dans les dépenses du jour et du mois comme les paiements carte.

exemples commentés

Avec le mandat du demo-agent de la sandbox : perTxMax 500, dailyMax 2000, approvalAbove 250, sans restriction MCC.

appelcontexteissuerègle
pay 49 Vercelrien dépenséallowtout est respecté
pay 250 Notionallowpas strictement au-dessus de 250
pay 320 AWSreviewapprovalAbove
pay 900 AppleblockperTxMax
pay 200 Figma1 900 exécutés aujourd'huiblockdailyMax
pay 40 Lucky CasinoblockedMerchants: ["casino"]blockblockedMerchants
pay 30 Uber mcc 4121allowedMccs: ["5734","7372"]blockallowedMccs
send_transfer 100mandat par défautblocktransfersEnabled

fractionner ne contourne rien

Le serveur MCP demande aux agents de respecter chaque décision et de ne jamais fractionner un montant pour passer sous un seuil. Si un agent essaie quand même, les limites journalière et mensuelle plafonnent le total, et chaque tentative figure au journal d'audit.

modifier un mandat

update_agent_policy (ou POST /api/agents/:id/policy) fusionne votre correctif avec le mandat actuel et valide le résultat. Modifier monthlyMax met aussi à jour le plafond de la carte. Les changements s'appliquent au paiement suivant ; ils ne touchent pas les demandes déjà en attente.

update_agent_policy · arguments
{
  "agentId": "agt_3f2b8d10",
  "allowedMccs": [
    "5734",
    "7372"
  ],
  "blockedMerchants": [
    "casino",
    "crypto"
  ],
  "approvalAbove": 100
}

recettes

agentmandat
Acheteur SaaSperTxMax 200 · dailyMax 600 · monthlyMax 3000 · approvalAbove 100 · allowedMccs [5734, 7372]
Réservation de voyagesperTxMax 1500 · dailyMax 3000 · approvalAbove 400 · allowedMccs [4511, 7011, 4112, 4722]
Achat publicitaireperTxMax 1000 · dailyMax 1000 · monthlyMax 20000 · approvalAbove 1000 · allowedMccs [7311]
Paiement fournisseurstransfersEnabled true · transferApprovalAbove 0 · monthlyMax 50000

Les MCC ci-dessus sont des exemples courants ; vérifiez la catégorie réellement déclarée par vos marchands.