prueba-sdk
v1.0.0
Published
Servidor HTTP local para probar [`@mdpsdk/mdp-sdk`](https://www.npmjs.com/package/@mdpsdk/mdp-sdk) desde Postman.
Downloads
227
Readme
prueba-sdk
Servidor HTTP local para probar @mdpsdk/mdp-sdk desde Postman.
Solo desarrollo: no hay autenticación en las rutas. No exponer a internet.
Arranque
cp .env.example .env # credenciales de verificación básica y cumplimiento en el servidor
npm install
npm run devDeja la terminal abierta: verás prueba-sdk escuchando en http://localhost:3000 y el proceso no debe volver al prompt hasta Ctrl+C. Si vuelve al instante, prueba npm run start:prod tras npm run build, u otro puerto (PORT=3001 en .env).
Base URL por defecto: http://localhost:3000 (variable PORT opcional).
Documentación interactiva del contrato integrador:
cd ../docs
npm install
npm run docs:onboardingAbrir http://localhost:4400/scalar/ (OpenAPI 0.4.1).
Debug submit-eu-us
En .env activa:
PRUEBA_SDK_DEBUG=true
MDP_SDK_DEBUG=trueReinicia npm run dev. En la terminal del servidor verás el paso y el body enviado al proveedor de cumplimiento. En Postman, el JSON de error puede incluir details.responseData.
Smoke test auth sin HTTP:
npm run cliRutas — Health y auth debug
| Método | Ruta | Descripción |
|--------|------|-------------|
| GET | /health | Estado del servidor |
Requests de comprobación de credenciales están en la colección Postman (carpeta Auth) — no forman parte del contrato OpenAPI integrador.
Rutas — Onboarding
Contrato alineado con docs/openapi/mdp-onboarding-sdk.yaml (SDK 0.4.1).
| Método | Ruta | Body | Query |
|--------|------|------|-------|
| POST | /onboarding/start | type, externalCustomerId, email o profile.email, profile? | — |
| POST | /onboarding/verification-url | externalCustomerId | — |
| GET | /onboarding/:externalCustomerId/status | — | type obligatorio (personal | business) |
| POST | /onboarding/:externalCustomerId/submit-eu-us | target (+ ownerId / ownerInquiryId KYB) | — |
| GET | /onboarding/:externalCustomerId/terms | — | type?, ownerId? |
| POST | /onboarding/:externalCustomerId/compliance/activate | walletAddress, asset?, accountName? | — |
| POST | /onboarding/compliance/activate | externalCustomerId, walletAddress, … | — (legacy) |
| GET | /onboarding/:externalCustomerId/owners | — | mapas KYB en query según colección Postman |
| POST | /onboarding/:externalCustomerId/owners/:ownerId/verification-url | ownerInquiryId | — |
| GET | /onboarding/:externalCustomerId/owners/:ownerId | — | ownerInquiryId |
| POST | /onboarding/owners/occupation | email, name, occupationCode | — |
| POST | /onboarding/owners/sync-status | inquiryId | debug |
Flujo mínimo (Postman)
- POST
/onboarding/start— guardarexternalCustomerId; enviarverificationUrlal usuario. - Usuario completa verificación básica.
- GET
/onboarding/{externalCustomerId}/status?type=personal - POST
/onboarding/{externalCustomerId}/submit-eu-uscon{ "target": "person" }cuandobasicVerification.status = approved. - Enviar
termsOfServiceUrlal usuario (respuesta submit o GET.../terms). - Usuario acepta términos (fuera del SDK).
- POST
/onboarding/{externalCustomerId}/compliance/activatecon{ "walletAddress": "0x..." }. - GET
.../statushastaeuUsVerification.status=compliance_approvedoaccount_ready.
accountCreated: false en activate no es error: la cuenta ya existía y solo se reactivó cumplimiento (reintentos idempotentes).
KYB: tras aprobar empresa, GET /onboarding/{id}/owners y seguir rutas de socios (mapas ownerInquiryIds / ownerIdentityIds en tu BD).
Si falta email en verificación básica, envía personalProfile.email en submit — el SDK lo sincroniza antes de EU/US.
Colección Postman
Importar postman/mdp-sdk-prueba.postman_collection.json.
Variables de colección: baseUrl, externalCustomerId, ownerId (opcional legacy: inquiryId, identityId).
Ejemplo — start KYB Chile
POST {{baseUrl}}/onboarding/start
Content-Type: application/json
{
"type": "business",
"externalCustomerId": "emp_postman_001",
"profile": {
"email": "[email protected]",
"legalName": "ACME SA",
"taxId": "123",
"address": {
"street1": "Av. Test 1",
"city": "Santiago",
"state": "RM",
"postalCode": "8320000",
"country": "CL"
}
}
}