Intramedial est en bêta restreinte. À l’inscription ou à la connexion, vous devez fournir le mot de passe de bêta-testeur que vous avez reçu ou en demander un à preview@intramedial.com. Merci.
Chargement…
settlement.listModule 47
Module du plan
Settlement and escrow
Retenez l'argent lié à un mandat de paiement d'agent jusqu'à confirmation de la livraison, avec un registre qui dit clairement quand les fonds ont réellement bougé et quand ils n'ont pas bougé.
settlement.list lit les règlements à travers toute leur machine d'états : brouillon, contrôles du mandat et du financement, retenu, libération ou remboursement, litige, expiration. Chaque mutation ajoute un événement à la transcription, et la réponse porte toujours fundsMoved comme un fait strictement validé, jamais une supposition.
Les agents agissent quand le plan dit oui, et le registre dit pourquoi.
Faites passer actions d’agents, hash de contenu, contrôles d’API, requêtes DNS, webhooks, appels LLM et commits git par Intramedial. Obtenez un reçu signé vérifiable par tous – sans nous croire.
Financer et libérer un montant positif exigent un Ap2MandateVerifier injecté et un SettlementProvider qui n'est pas le type intégré en enregistrement seul ; sans les deux, fund répond 503 et aucun argent ne peut bouger. Le fournisseur par défaut livré ne produit que des entrées de valeur nulle, en enregistrement seul.
Registre
Le registre
Ce qui est enregistré
state
draft, pending_mandate, pending_funding, held, releasing, refunded, closed, declined, ou .
Un booléen strictement validé sur chaque réponse, lectures comprises ; jamais affirmé sans que le statut du fournisseur lui-même ne l'appuie.
mandateId
L'id du mandat AP2, enregistré une fois que fund l'a vérifié.
receipt
Un reçu Merkle assemblé sur l'événement de transcription du règlement, quand l'action en produit un.
idempotencyKey
Requise sur chaque appel qui modifie ; un rejeu avec la même clé et le même corps renvoie la réponse en cache, un corps différent entre en conflit.
evidence
Éléments joints au règlement, dont ses propres reçus, plafonnés à 16 384 caractères de contenu.
Mécanisme
Pas à pas
Comment ça marche
Un règlement est créé
create ouvre un règlement en draft avec un amountCents, une currency et au moins un lien vers un dossier, un engagement ou une affaire.
Le financement vérifie d'abord le mandat
fund vérifie le mandat AP2 via le vérificateur lié avant de demander au fournisseur de fonds de retenir quoi que ce soit ; un mandat refusé bloque le règlement en pending_mandate, non financé.
Libération ou remboursement le fait avancer
release et refund appellent le fournisseur lié et n'enregistrent son fundsMoved rapporté qu'après l'avoir validé par rapport au statut déclaré par le fournisseur lui-même.
Un litige suspend l'issue
dispute exige un reason déclaré et fait passer un règlement retenu ou en cours de libération à disputed ; le résoudre par un jugement exige un dossier réellement tranché par cet espace de travail.
Essayer
Démo en direct
Exécutez-le depuis cette page
GET/api/v1/acp/settlement/list
// Pas de corps : c’est un GET. Appuyez sur Exécuter.
Les appels de ce module modifient un état réel ou atteignent des services externes ; la démonstration partagée ne les exécute donc pas. Connectez-vous pour l’exécuter dans votre propre workspace. Docs settlement.list
Réponses
Les appels de ce module modifient un état réel ou atteignent des services externes ; la démonstration partagée ne les exécute donc pas. Connectez-vous pour l’exécuter dans votre propre workspace.
Code
Exemple en direct
Une vraie requête
Une requête dans la forme acceptée par l’API, et un exemple de réponse dans la forme renvoyée par le module.
api.intramedial.com/api/v1/acp/settlement/listGET
GET/api/v1/acp/settlement/listAuthorization: Bearer av_workspace_••••→ 200 { settlements, fundsMoved: false } (list and get always carry the fundsMoved sentinel alongside settlements)
directory.lookup n'ouvre un dossier adossé à un dépôt qu'une fois son règlement effectivement retenu, pas simplement créé, donc un coup ne peut pas acheter son entrée avec une promesse non financée.
Résoudre un litige par un jugement
Un règlement contesté ne se libère en faveur du payeur que sur un jugement rendu par cet espace de travail lui-même, associé à un recours qui retire réellement quelque chose au payeur.
Prouver que l'argent a bougé, ou non
Un auditeur lit la transcription d'un règlement et voit fundsMoved consigné honnêtement à chaque étape, y compris la déclaration d'un fournisseur rejetée quand elle ne correspondait pas à son propre statut.
Rejouer une requête en sécurité
Un client réessaie un appel release après un délai dépassé avec le même idempotencyKey ; le règlement n'est pas libéré deux fois, et la réponse d'origine revient inchangée.
Quand utiliser autre chose
Déplacer de l'argent sans fournisseur lié. Le fournisseur par défaut livré ne produit que des entrées de valeur nulle en enregistrement seul.
Régler sans lien enregistré. create exige au moins l'un de caseId, commitmentId ou matterId.
Résoudre un litige par simple affirmation. Libérer face à un litige exige un jugement réellement rendu par cet espace de travail, pas une allégation d'abus.
Preuves
Garanties
Ce qu’il fait, et ce qu’il ne fait pas
Un module est une affirmation forte sur un sujet étroit. Fiez-vous-y exactement pour ce qu’il est.
Il le fait
fundsMoved n'est jamais mis à true sur la seule parole d'un fournisseur ; le statut déclaré par le fournisseur est validé avant que le champ soit cru.
Financer un règlement vérifie toujours le mandat avant même de demander au fournisseur de fonds de retenir quoi que ce soit.
Une clé d'idempotence rejouée avec un corps de requête différent est refusée comme conflit, jamais appliquée deux fois en silence.
Il ne le fait pas
Que des fonds ont bougé dans le monde réel sans fournisseur lié autre qu'en enregistrement seul. Le module applique la machine d'états ; il ne déplace pas lui-même l'argent.
Qu'un litige est résolu équitablement. Le module exige un jugement issu des dossiers tranchés par cet espace de travail ; il ne juge pas le litige lui-même.
Que chaque action du cycle de vie est accessible à un agent. fund, release, refund et expire n'ont pas d'id d'action MCP ; seuls create, get, list, evidence et dispute en ont.
Détails
Notes de conception
Avant de construire
Un litige clos se résout en clos
Si un litige a été soulevé après qu'un règlement a déjà été libéré, sa résolution revient à closed avec fundsMoved: false, car l'argent avait déjà bougé avant l'existence du litige.
Pas de README pour ce module
Le règlement n'a pas de README ; tout ce qui est décrit ici vient de la lecture directe de son code de service et de ses tests, pas d'un document de périmètre rédigé.
escrow est un alias
Le chemin REST /api/v1/acp/escrow/* atteint le même gestionnaire que /api/v1/acp/settlement/* ; ce n'est pas une implémentation distincte.
Limites et mesure
amountCents doit être un entier sûr positif ; la devise doit être un code ISO 4217 de trois lettres.
Le content des preuves est plafonné à 16 384 caractères et description à 2 000.
fund, release, refund et expire n'ont pas d'id d'action MCP ou de contrat et ne sont accessibles qu'en REST.
Accès
API et MCP
REST et MCP
Authentifiez-vous avec une clé d’API d’espace de travail comme jeton Bearer. L’URL de base est https://api.intramedial.com.
Points d’accès REST
GET/api/v1/acp/settlement/listLister les règlements de cet espace de travail.
GET/api/v1/acp/settlement/getLire un règlement par id.
POST/api/v1/acp/settlement/createOuvrir un nouveau règlement avec ses liens.
Actions MCP
MCPcoordination.settlement.listLister les règlements comme action MCP.
MCPcoordination.settlement.getLire un règlement comme action MCP.
MCPcoordination.settlement.createCréer un règlement comme action MCP.
Obtenez une arène jetable par pull request, forkée avec participants masqués et un échantillon des données, supprimée d'elle-même même si personne ne le demande.