Autenticación
Una aplicación te proporciona un Client ID y una Secret Key que necesitas para crear una sesión OAuth2 autenticada que puedas usar para comunicarte con las APIs de Wink y TripPay.
Aquí están los pasos para crear una sesión autenticada.
Paso 1. Obtén un token de acceso en staging o en nuestro entorno de producción:
Lo más probable es que trabajes con una biblioteca OAuth2 robusta para tu lenguaje, que hará todo el trabajo pesado por vos.
Nuestros ejemplos mostrarán el uso más básico desde la línea de comandos usando curl.
Staging
Sección titulada «Staging»curl -X POST https://staging-iam.wink.travel/oauth2/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=<YOUR_CLIENT_ID>" \ -d "client_secret=<YOUR_SECRET_KEY>"Producción
Sección titulada «Producción»curl -X POST https://iam.wink.travel/oauth2/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=<YOUR_CLIENT_ID>" \ -d "client_secret=<YOUR_SECRET_KEY>"Esto devolverá un token de acceso, junto con otros datos de respuesta OAuth2:
{ "access_token": "abc123"}Cuando hagas una llamada a cualquiera de nuestros endpoints, incluye lo siguiente en el encabezado:
Wink-Version=2.0Última - Consulta nuestra documentación de API para otras versiones disponibles.Authorization=Bearer ${access_token}Inserta tu token de acceso.
Un scope es un permiso que lleva tu token de acceso. Cuando solicitás un token, pasás una lista de scopes separados por espacios en el parámetro scope, y el token solo puede acceder a las áreas que esos scopes cubren. Con el grant client_credentials establecés los scopes en tu solicitud de token — mirá los ejemplos de curl arriba y el recorrido en Postman.
Los scopes se nombran como section.action, donde la acción es una de:
read— ver recursos (solicitudes segurasGET)write— crear y actualizar recursos (POST/PUT/PATCH)remove— eliminar recursos (DELETE)
Wink agrupa permisos por área funcional. Solicitá solo los scopes que tu integración necesita:
| Grupo de scopes | Scopes | Lo que desbloquean | Riesgo |
|---|---|---|---|
| Account | account.read account.write account.remove | Gestión de entidades, miembros del equipo, configuraciones, aplicaciones | Bajo–Medio |
| Inventory | inventory.read inventory.write inventory.remove | Propiedades, tipos de habitación, planes tarifarios, tarifas, add-ons, disponibilidad, actividades, atracciones | Bajo–Medio |
| Booking | booking.read booking.write booking.remove | Buscar, ver, crear, cancelar y reembolsar reservas; checkout; políticas de cancelación | Bajo–Medio |
| Marketing | marketing.read marketing.write marketing.remove | Campañas, beneficios, canales de venta, WinkLinks, social gestionado, fidelidad | Bajo–Medio |
| Content | content.read content.write content.remove | Descripciones de propiedades, reseñas, medios, mapas, índice verde | Bajo–Medio |
| Analytics | analytics.read analytics.write analytics.remove | Reportes y análisis — ingresos, rankings | Bajo–Medio |
| Integrations | integrations.read integrations.write integrations.remove | Channel managers, sistemas externos de reservas, Google Hotel, endpoints de notificación, sincronización de reservas | Bajo–Medio |
| Payment | payment.read payment.write payment.remove | Procesamiento de pagos, Stripe, Revolut, pagos, suscripciones | Medio–Alto |
| Accounting | accounting.read accounting.write accounting.remove | Contabilidad, libro de retiros, conciliación | Medio–Alto |
| MCP | mcp.read mcp.write mcp.remove | Abre el transporte MCP (/mcp) para agentes de IA | Bajo–Medio |
Algunas cosas para tener en cuenta:
- Solicitá lo mínimo. Pedí solo los scopes que tu integración realmente usa — un token emitido con acceso más amplio del necesario tiene un mayor impacto si se filtra.
- Los scopes desconocidos son rechazados. Solicitar un scope para el que tu aplicación no está registrada, o que no existe, falla al emitir el token.
mcp.*es solo para clientes agentes de IA. Lo necesitás para abrir el transporte MCP; no es requerido para llamadas REST API regulares. Ver Model Context Protocol.