O Intramedial está em beta restrito. Ao se cadastrar ou entrar, você precisa informar a senha de beta tester que recebeu ou solicitar uma em preview@intramedial.com. Obrigado.
Carregando…
settlement.listMódulo 47
Módulo da plataforma
Settlement and escrow
Retenha dinheiro contra um mandato de pagamento de agente até a entrega ser confirmada, com um registro que diz com clareza quando os fundos de fato se moveram e quando não.
settlement.list lê liquidações por toda a sua máquina de estados: rascunho, verificações de mandato e de financiamento, retido, liberação ou reembolso, disputa, expiração. Toda mutação acrescenta um evento à transcrição, e a resposta sempre traz fundsMoved como um fato estritamente validado, nunca uma suposição.
Os agentes agem quando o plano diz sim, e o registo diz porquê.
Passe ações de agentes, hashes de conteúdo, checagens de API, DNS, webhooks, chamadas de LLM e commits git pela Intramedial. Receba um recibo assinado que todos verificam – sem confiar em nós.
StatusDinheiro real exige duas dependências vinculadas
Financiar e liberar um valor positivo exigem um Ap2MandateVerifier injetado e um SettlementProvider que não seja o tipo embutido de apenas registro; sem os dois vinculados, fund responde 503 e nenhum dinheiro pode se mover. O provedor padrão entregue só pode produzir entradas de valor zero, de apenas registro.
Registro
O registro
O que é registrado
state
draft, pending_mandate, pending_funding, held, releasing, refunded, closed, declined, ou .
Um booleano estritamente validado em toda resposta, inclusive leituras; nunca afirmado sem o status do próprio provedor sustentá-lo.
mandateId
O id do mandato AP2 registrado quando fund o verifica.
receipt
Um recibo Merkle montado sobre o evento de transcrição da liquidação, onde a ação produz um.
idempotencyKey
Obrigatória em toda chamada que muda estado; uma repetição com a mesma chave e corpo devolve a resposta em cache, um corpo diferente conflita.
evidence
Material anexado à liquidação, inclusive seus próprios recibos, limitado a 16.384 caracteres de conteúdo.
Mecanismo
Passo a passo
Como funciona
Uma liquidação é criada
create abre uma liquidação em draft com um amountCents, currency e pelo menos um vínculo a um caso, compromisso ou matter.
O financiamento confere o mandato primeiro
fund verifica o mandato AP2 pelo verificador vinculado antes de pedir ao provedor de dinheiro que retenha qualquer coisa; um mandato negado para a liquidação em pending_mandate, sem financiamento.
Liberar ou reembolsar a faz avançar
release e refund chamam o provedor vinculado e registram o fundsMoved que ele informa só depois de validá-lo contra o status declarado pelo próprio provedor.
Uma disputa pausa o resultado
dispute exige um reason declarado e move uma liquidação retida ou em liberação para disputed; resolvê-la com base em uma decisão exige um caso que este workspace realmente julgou.
Experimente
Demo ao vivo
Execute a partir desta página
GET/api/v1/acp/settlement/list
// Sem corpo: isto é um GET. Clique em Executar.
As chamadas deste módulo alteram estado real ou alcançam serviços externos, então a demonstração compartilhada não as executa. Entre para executá-lo no seu próprio workspace. Docs de settlement.list
Respostas
As chamadas deste módulo alteram estado real ou alcançam serviços externos, então a demonstração compartilhada não as executa. Entre para executá-lo no seu próprio workspace.
Código
Exemplo ao vivo
Uma requisição real
Uma requisição no formato que a API aceita e um exemplo de resposta no formato que o módulo devolve.
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 só abre um caso com depósito quando sua liquidação está realmente retida, não apenas criada, então uma batida não compra entrada com uma promessa sem fundos.
Resolver uma disputa por decisão
Uma liquidação em disputa só é liberada a favor do pagador contra uma decisão que este workspace julgou, mapeada para um remédio que de fato tira algo do pagador.
Provar que o dinheiro se moveu, ou não
Um auditor lê a transcrição de uma liquidação e vê fundsMoved registrado com honestidade em cada passo, inclusive a alegação de um provedor sendo rejeitada quando não batia com seu próprio status.
Repetir uma requisição com segurança
Um cliente repete uma chamada release após um timeout com a mesma idempotencyKey; a liquidação não é liberada duas vezes, e a resposta original volta inalterada.
Quando usar outra coisa
Mover dinheiro sem provedor vinculado. O provedor padrão entregue só produz entradas de valor zero, de apenas registro.
Liquidar sem um vínculo registrado. create exige pelo menos um entre caseId, commitmentId ou matterId.
Resolver uma disputa por afirmação. Liberar contra uma disputa exige uma decisão que este workspace realmente julgou, não uma alegação de abuso.
Evidência
Garantias
O que faz e o que não faz
Um módulo é uma afirmação forte sobre algo estreito. Confie nele exatamente pelo que ele é.
Faz
fundsMoved nunca é definido como true só pela palavra de um provedor; o status declarado pelo provedor é validado antes de o campo ser confiável.
Financiar uma liquidação sempre confere o mandato antes de o provedor de dinheiro ser sequer chamado a reter algo.
Uma chave de idempotência repetida com corpo de requisição diferente é recusada como conflito, nunca aplicada duas vezes em silêncio.
Não faz
Que fundos se moveram no mundo real sem um provedor vinculado que não seja só de registro. O módulo impõe a máquina de estados; não move dinheiro por si.
Que uma disputa seja resolvida de forma justa. O módulo exige uma decisão de casos julgados deste próprio workspace; não julga a disputa em si.
Que toda ação do ciclo de vida seja acessível por um agente. fund, release, refund e expire não têm id de ação MCP; só create, get, list, evidence e dispute têm.
Detalhes
Notas de construção
Antes de construir
Uma disputa encerrada resolve para encerrada
Se uma disputa foi aberta depois que uma liquidação já tinha sido liberada, resolvê-la volta a closed com fundsMoved: false, pois o dinheiro já se moveu antes de a disputa existir.
Sem README para este módulo
A liquidação não tem README; tudo o que está descrito aqui vem da leitura direta do código do serviço e dos testes, não de um documento de escopo redigido.
escrow é um apelido
O caminho REST /api/v1/acp/escrow/* chega ao mesmo handler de /api/v1/acp/settlement/*; não é uma implementação separada.
Limites e medição
amountCents deve ser um inteiro seguro positivo; a moeda deve ser um código ISO 4217 de três letras.
O content de uma evidência é limitado a 16.384 caracteres e a description a 2.000.
fund, release, refund e expire não têm id de ação MCP ou de contrato e só são acessíveis por REST.
Acesso
API e MCP
REST e MCP
Autentique-se com uma chave de API do workspace como token Bearer. A URL base é https://api.intramedial.com.
Endpoints REST
GET/api/v1/acp/settlement/listListe as liquidações deste workspace.
GET/api/v1/acp/settlement/getLeia uma liquidação por id.
POST/api/v1/acp/settlement/createAbra uma nova liquidação com seus vínculos.
Ações MCP
MCPcoordination.settlement.listListe liquidações como ação MCP.
MCPcoordination.settlement.getLeia uma liquidação como ação MCP.
MCPcoordination.settlement.createCrie uma liquidação como ação MCP.