Cómo obtener el estado de un intent


En esta guía, aprenderás cómo recuperar el estado actual de un intent en Kamin Ledger y explorar su historial de estados usando la API de lectura de intents.


Requisitos previos

Antes de comenzar:

  • Tienes un handle de intent que deseas inspeccionar.
  • Tienes un token Bearer válido para autenticación.
  • Entiendes que:
    • Todas las solicitudes GET requieren un token Bearer.
    • Los intents son los únicos registros que comienzan con el estado pending.

Para recursos relacionados, consulta:


Objetivo

Recuperar el estado actual y el historial de estados de un intent específico consultando su handle.


Formato del endpoint

GET <baseURL>/v2/intents/{intentHandle}

Encabezados

Authorization: Bearer <your_token_here>
x-ledger: <ledger-handle>

Ejemplo de solicitud

import axios from 'axios';
import { generateJwtToken } from './common';

const keyPair = {
    public: '<llave pública key>',
    secret: '<llave privada>',
    scheme: 'ed25519-raw',
};

const ledgerHandle = '<kamin ledger>';
const ledgerUrl = '<kamin ledger server>';

const listAnchorsExample = async () => {
    axios
        .get(`${ledgerUrl}/intents/REc7u2unbvirm1hDHxPRH`, {
            headers: {
                'x-ledger': ledgerHandle,
                Authorization: `Bearer ${await generateJwtToken(keyPair, 'backend', ledgerHandle)}`,
            },
        })
        .then((response) => {
            console.log('Respuesta:', response.data.meta.status);
        })
        .catch((error) => {
            console.error(
                'Error:',
                error.response ? error.response.data : error.message
            );
        });
};

void listAnchorsExample();

Cuerpo de la respuesta:

{
  "hash": "1e218ea170d6523e54a571ec6ab34c776913c46210f5c0e5010112457ad11924",
  "data": {
    "handle": "REc7u2unbvirm1hDHxPRH",
    "claims": [
      {
        "action": "transfer",
        "amount": 100000,
        "source": {
          "handle": "kamin.one"
        },
        "symbol": {
          "handle": "cop"
        },
        "target": {
          "handle": "tel:573121231231@transfiya"
        }
      }
    ],
    "schema": "transfer",
    "access": [
      {
        "action": "any",
        "signer": {
          "public": "H/bKRjvq+83SWiQdvhcaKM94KKpPkXHsxaualSMJ+YU="
        }
      }
    ]
  },
  "luid": "$int.-0LQuO6kIfk4BKNPq",
  "meta": {
    "proofs":[
      {
        "custom": {
          "moment": "2025-05-12T17:43:51.097Z",
          "status": "created"
        },
        "digest": "a8fc5604c66d6ef75a5e5048ae5fa196a601bc65684e084ec75edcf469f32470",
        "method": "ed25519-v2",
        "public": "H/bKRjvq+83SWiQdvhcaKM94KKpPkXHsxaualSMJ+YU=",
        "result": "0yDnVIU/NqIaV7NpVjLSadn8YXWyRYcsupABKISLcdKOYn3OmSReh/xeNN4lMG0tjzfXZW3X+gzKRirh8tkHCg=="
      },
      .
      .
      .
      {
        "custom": {
          "moment": "2025-05-12T17:43:52.396Z",
          "status": "rejected"
        },
        "digest": "5ba8c3d4d5f65875d50857043dd690f06a42f0046bbf0ebf11202c8cb1dc9b87",
        "method": "ed25519-v2",
        "public": "5P1b7EBEHhJhhv4D87AQAyMHXzcbZMrP7lMqqB6RtZ0=",
        "result": "uHDkuZ73lpmhox0ku5hwwAdjoLkEPsrbcVFxnHo20ae/SaXV37BSvT0AEebRspfBVPEK2uFrC0Zrwpg0t5EQDA=="
      }
    ]
    "routed": true,
    "status": "rejected",
    "thread": "-0LQuO_PE3BpCf9Jy",
    "moment": "2025-05-12T17:43:51.724Z",
    "owners": [...]
  }
}

Como se muestra en la respuesta del ejemplo anterior:

  • meta.status contiene el estado actual del intent (por ejemplo, "rejected" en este caso).
  • meta.proofs incluye los cambios históricos de estado, junto con marcas de tiempo. Por ejemplo, puedes ver cuándo el sistema marcó el intent como rechazado.

Esta estructura te permite rastrear tanto el estado actual como el historial completo de estados de cualquier intent.


Historial de cambios
1.0.1
  • Corregido Se corrigieron enlaces que llevaban a la versión en español
1.0.0
  • Agregado Versión inicial