> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vitawallet.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Colección Postman

> Importa la colección oficial y ejecuta cada endpoint desde Postman con las credenciales ya configuradas.

El repositorio incluye una colección Postman lista para importar con todos los endpoints de la Business API, carpetas por módulo (Payins, Payouts, Exchange, Transactions, Users, Webhooks) y ejemplos de request body.

## Importar la colección

**1. Descarga el archivo**

En el repositorio: [`Business_API.postman_collection.json`](https://gitlab.com/vita-wallet-grupo1/vita-doc/-/blob/main/Business_API.postman_collection.json).

**2. Impórtalo en Postman**

En Postman: **File → Import** → arrastra el `.json` o selecciónalo del disco. La colección aparecerá en tu workspace como "Business API".

**3. Crea un Environment**

Crea un environment nuevo (ej. "Vita Sandbox") y declara las variables que la colección referencia. Como mínimo:

| Variable | Valor sugerido |
| - | - |
| `base_url` | `https://api.stage.vitawallet.io` para Sandbox, `https://api.vitawallet.io` para Producción |
| `x_login` | Tu `x-login` |
| `x_trans_key` | Tu `x-trans-key` |
| `secret` | Tu secret key — márcalo como **secret** en Postman para no exponerlo en logs |

**4. Selecciona el environment**

En el selector superior derecho de Postman, elige el environment recién creado antes de ejecutar un request.

> [!WARNING]
>
> No pushees tu environment de Postman al repo — contiene credenciales. Exporta solo la colección (sin variables resueltas) si necesitas compartir.

## Firma automática

La colección incluye un **pre-request script** que calcula la firma HMAC-SHA256 de cada petición y la inyecta en el header `Authorization`. Para que funcione:

* Todas las variables de arriba deben estar definidas en el environment.
* El reloj de tu máquina debe estar sincronizado (NTP). La firma incluye `x-date` y Vita rechaza requests con desfase > 1 minuto.

Si recibes `422 Invalid signature`:

> [accordion] Reloj desincronizado
>
> Ejecuta `date` en tu terminal y compara con la hora real. Activa sincronización NTP del SO.

> [accordion] Credenciales del environment incorrecto
>
> Confirma que estás usando el environment Sandbox con credenciales Sandbox (no mezcles con producción).

> [accordion] Body modificado después de calcular la firma
>
> No agregues campos al body manualmente después de disparar el request — el pre-request script firma el body original.

## Variables adicionales recomendadas

Para flujos que encadenan varios requests (ej. crear payment order → consultar attempt), guarda IDs en variables del environment con **Tests scripts** de Postman:

```javascript theme={null}
// Ejemplo: guarda el payment_order_id después de crear un payin
pm.test("Save payment_order_id", () => {
  const data = pm.response.json();
  pm.environment.set("payment_order_id", data.id);
});
```

Los siguientes requests pueden usar `{{payment_order_id}}` en la URL.

## OpenAPI alternativo

Si prefieres **OpenAPI** sobre Postman, usa [`openapi.yaml`](https://gitlab.com/vita-wallet-grupo1/vita-doc/-/blob/main/openapi.yaml) del mismo repo. Es la fuente de la [API Reference](https://docs.vitawallet.io/api-reference/payins/overview.md) de esta documentación y se puede importar en cualquier cliente compatible (Insomnia, Bruno, hey, HTTPie Desktop, etc.).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.