Saltar al contenido principal

Run it yourself

cd examples/marketplace-mercatto
npm install
npm run typecheck
npm run test:happy-path
npm run test:scenarios

Requiere Node.js ≥ 18. Por defecto esto corre contra el Sandbox público real de Ishtaran (https://sandbox-api.ishtaran.com) — sin credenciales que configurar. Cada corrida provisiona su propia Organization, Application, y Accounts, con un namespace determinado por un run ID derivado del timestamp actual, así que corridas repetidas nunca colisionan ni tocan los datos de Sandbox de nadie más.

Para apuntarlo a una instancia local en su lugar:

export MERCATTO_BASE_URL=http://localhost:18100 # or wherever your local API is running
npm run test:happy-path

Lo que vas a ver

Salida real, no texto ilustrativo — cada ID es distinto en tu propia corrida, la forma no:

=== release-order (settlement) ===
[release-order] settlementId=… settledAmount=200.000000000000000000 remainingReservedAmount=0.000000000000000000

=== withdraw (expected real block -- see withdraw.ts) ===
[withdraw] blocked as expected (activation cooldown): WITHDRAWAL_DESTINATION_NOT_USABLE

Mercatto happy path: all assertions passed.

Una nota sobre dónde vive este código ahora mismo

Este Business Case vive actualmente en el repositorio privado de la plataforma Ishtaran, en examples/marketplace-mercatto/. Cada SDK oficial (Java, TypeScript, Python, Go) se refleja en su propio repositorio público de GitHub — este ejemplo todavía no está sincronizado a una ubicación pública. Si estás leyendo esto en el sitio de documentación público sin acceso al repositorio privado, trata los bloques de código a lo largo de este tutorial como el código fuente literal, completo y ejecutable (son extractos textuales, no paráfrasis) hasta que exista esa sincronización.

Release gate

La misma suite que produjo la salida de arriba es la que bloquea cada release de SDK y cada release de la plataforma: mercatto-e2e en .github/workflows/ci.yml. Si el camino feliz de este Business Case o cualquiera de sus 11 escenarios de fallo dejan de pasar, el release se bloquea — esto no es una demo de marketing, es una prueba de regresión para la corrección financiera real de la plataforma.