# Postman

Colección de Postman con todos los endpoints de la API ya configurados, listos para probar.

> [!WARNING]
> El SDK `vexor` de npm (Stripe, MercadoPago, PayPal, Square, Talo) está **deprecado**: ya no se mantiene y no debe usarse. vexorpay es hoy una **API REST de links de pago en USD sobre Polar (Merchant of Record), sin SDK oficial**. Migración: <https://developers.vexorpay.com/docs/migracion-desde-el-sdk>

Fuente: <https://developers.whop.vexorpay.com/docs/resources>

La API pública de vexorpay es compatible con cualquier cliente HTTP (curl, Node.js, PHP, etc.), pero si quieres probar los endpoints de forma visual e interactiva, te dejamos una **colección de Postman** lista para usar.

## ¿Qué incluye la colección?

Todos los endpoints de la API v1 ya configurados, organizados por grupo:

- **General**: `GET /health` para verificar que la API esté arriba (liveness: responde `{ "status": "ok" }` sin consultar la base de datos ni proveedores externos).
- **Payment Links**: crear links de pago único y recurrente, listar, obtener, actualizar y archivar links, ver sus métricas y generar un checkout por compra.
- **Orders**: listar y ver las ventas, y reembolsarlas.
- **Customers**: listar y ver los clientes (compradores).
- **Disputas**: listar, ver y aceptar disputas (Polar las defiende).
- **Subscriptions**: listar, obtener y cambiar la cantidad de asientos de una suscripción, cancelarla y abrir el portal de facturación del cliente.
- **Balance**: saldo disponible y pendiente.
- **Payouts**: histórico de retiros, estimado y retiro del saldo de Polar.
- **Events**: historial de eventos para reconciliar (`payment.completed`, `payment.refunded`, etc.).
- **Cuentas conectadas (marketplace)**: listar, obtener y revocar conexiones (y operar en nombre del conectado con el header `Vexor-Account`).

Cada request ya trae la autenticación heredada de la colección (`Authorization: Bearer ...`), las rutas completas, los filtros documentados y ejemplos de JSON en los POST/PATCH. Solo tienes que poner tu API key y, en algunos casos, completar IDs en las variables (`linkId`, `disputeId`, etc.).

## Cómo empezar

1. Descarga la **colección** con el botón de abajo.
2. Abre Postman (aplicación de escritorio o la versión web).
3. Importa el **archivo**: botón `Import` → elige `vexorpay-api.postman_collection.json` (o arrastralo a la ventana).
4. En las **variables** de la colección, completa `apiKey` con tu clave real (`vxp_live_...` para producción; `vxp_test_...` si vas a probar contra sandbox). Las claves se crean en el dashboard → **Desarrolladores → API keys**, una familia por entorno. La variable `baseUrl` ya apunta a producción (`https://api.vexorpay.com/api/v1`); para probar en sandbox apúntala a `https://api.sandbox.vexorpay.com/api/v1` y usa una clave de prueba.
5. Ejecuta cualquier request. Los valores de `linkId`, `orderId`, `subscriptionId`, `disputeId`, `payoutId` y `eventId` se llenan solo con las respuestas de los requests anteriores (variables).

### Un tip sobre idempotencia

Los POST idempotentes (`POST /payment-links`, `POST /orders/{id}/refund` y `POST /payouts`) aceptan el header `Idempotency-Key`. Si lo repites con la misma clave, no se crean duplicados. Lo tienes adhoc en esos requests, listo para completar.

**[Descargar la colección de Postman](/vexorpay-api.postman_collection.json)**

## Especificación OpenAPI

Si prefieres un formato estándar (para generar un cliente, validar el contrato en tus tests o explorar la API en el navegador), la misma información está publicada
como **especificación OpenAPI 3.0.3**:

- **JSON:** [developers.vexorpay.com/openapi.json](/openapi.json) — la spec
  completa, sin UI propia; cualquier visor o tooling de OpenAPI la consume.
- **Documentación:** [Especificación OpenAPI](/docs/openapi) — cómo usarla y
  qué respeta (rate limit, idempotencia, modo sandbox).

## ¿Necesitas ayuda?

- [Referencia de API](/docs/api) — todos los endpoints, parámetros y respuestas.
- [Verificación de webhooks](/docs/api/webhooks) — para validar la firma `vexorpay-Signature`.
- [Primeros pasos](/docs/getting-started) — configura tu primera clave en minutos.
