Resolver disputa
Resuelve disputas de escrow distribuyendo los fondos al approver y al proveedor de servicios según lo determine el resolvedor de disputas.
Encabezados
Nombre
Valor
Tipo de contenido
application/json
x-api-key
<token>
API Abierta
post
Autorizaciones
Cuerpo
contractIdstringRequeridoExample:
ID (address) that identifies the escrow contract
CAZ6UQX7...disputeResolverstringRequeridoExample:
Address of the user defined to resolve disputes in an escrow
GDISPUTE...XYZRespuestas
201
This endpoint returns an unsigned transaction in XDR format. This XDR is then used to sign the transaction using the “/helper/send-transaction” endpoint.
application/json
400
Bad request
401
Unauthorized access
429
Too Many Requests
500
Possible errors:
- Only the dispute resolver can execute this function
- None of the amounts to be transferred should be less or equal than 0
- Escrow not in dispute
- Insufficient funds for resolution
- The sum of distributions must equal the current escrow balance when resolving an escrow dispute
- The total amount to be distributed cannot be equal to zero
- Escrow not found
- An unexpected error occurred
application/json
post
/escrow/single-release/resolve-disputePOST /escrow/single-release/resolve-dispute HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 188
{
"contractId": "CAZ6UQX7...",
"disputeResolver": "GAPPROVER1234567890...",
"distributions": [
{
"address": "GAPPROVER1234567890...",
"amount": 20
},
{
"address": "GRECIPIENT1234567890...",
"amount": 30
}
]
}{
"status": "SUCCESS",
"unsignedTransaction": "AAAAAgAAAAAtWsgedQ...."
}
¿Qué devuelve este endpoint?
Este endpoint devuelve la transacción sin firmar para que la transacción pueda ser firmada por medio de la cartera del cliente.
Ejemplo de uso:
import axios from "axios";
const http = axios.create({
baseURL: "https://dev.api.trustlesswork.com",
timeout: 10000,
headers: {
"Content-Type": "application/json",
"x-api-key": tu_api_key,
},
});
export const useExample = async () => {
// Obtener la dirección del firmante
const { address } = await kit.getAddress();
const response = await http.post(
"/escrow/single-release/resolve-dispute",
{
// cuerpo solicitado para el endpoint
},
);
// Obtener el hash de la transacción sin firmar
const { unsignedTransaction } = response.data;
// Firmar la transacción con la cartera
const { signedTxXdr } = await signTransaction(unsignedTransaction, {
address,
networkPassphrase: WalletNetwork.TESTNET,
});
// Enviar la transacción a la red Stellar
const tx = await http.post("/helper/send-transaction", {
signedXdr: signedTxXdr,
});
const { data } = tx;
return data;
}Última actualización
¿Te fue útil?