Registro de cambios

Cambios relevantes de la API de NU Signal Partners. La versión está fijada en la ruta (/v1) y las entradas siguen revisiones de openapi/partner-api.yaml.

0.6.0

  • Reclamación segura: las solicitudes devuelven referencia y token de estado de una sola visualización. Tras aprobarse, el socio reclama una vez un token bootstrap de 72 horas. Se exige consentimiento de privacidad.
  • Eje de términos comerciales: tipo de uso, MG/RS, tarifa fija, API, licencia de datos, alcance y snapshots quedan fijados en cada deal y se usan directamente en liquidaciones.
  • Partner Portal de solo lectura: sesiones firmadas que nunca guardan la clave original muestran catálogo, deals y liquidaciones de Production.
  • Mayor aislamiento: las API financieras exigen clave de Production; las llamadas de Sandbox devuelven production_key_required.

0.5.0

  • SDK JS/TS tipado: packages/sdk-js aporta tipos concretos para todas las rutas, incluida solicitud pública y bootstrap inicial. Las pruebas de paridad bloquean métodos ausentes u obsoletos.
  • Contratos OpenAPI precisos: envoltorios y definiciones required/nullable coinciden con respuestas reales; acuerdos y liquidaciones incluyen siempre updated_at.
  • Coherencia al revocar: sesiones activas devuelven revoked; las finalizadas mantienen su estado real. allowed_ips solo se aplica al emitir tokens, no a la IP del espectador.
  • Normalización de reembolsos: REFUND.revenue_amount siempre es negativo en el libro y se resta de forma coherente del ingreso neto.

0.4.0

  • Reproducción WebView alojada: POST /playback/tokens devuelve webview_url junto con manifest. Ábrala en WebView o iframe sin integrar reproductor; ambos quedan ligados a una sesión (API de reproducción).
  • Preferencias: preferences opcionales sin PII personalizan el WebView y se guardan en sesión (devueltas por GET /playback/sessions/{id}). El esquema es estricto; valores con @ o espacios se rechazan con validation_failed (422).
  • Deduplicación de solicitudes: repetir POST /partner-applications con el mismo email en 24 horas devuelve la solicitud existente con 200 y deduped: true, sin crear fila.

0.3.0

  • Guardas de integridad: errores Prisma conocidos se mapean a 4xx claros: P2002 → conflict (409), P2003 → validation_failed y P2025 → resource_not_found (Códigos de error).
  • Límites de tamaño: payloads de eventos hasta 4 KB y límites explícitos en campos de texto.
  • Límites públicos: POST /partner-applications y POST /v1/api-keys/bootstrap sin autenticar se limitan a 20/min por IP.
  • Conflictos idempotentes: repetir un X-NU-Request-Id en curso al crear token o licencia devuelve conflict (409), no duplica escritura. Las completadas reproducen respuesta.

0.2.0

  • Envoltorio estándar: todo error devuelve { "error": { code, message, request_id, details? } } con un conjunto fijo de códigos (Códigos de error).
  • Cabeceras: se formalizan Authorization, X-NU-Partner-Id y X-NU-Request-Id opcional (Autenticación).
  • Taxonomía de eventos: valores EventType canónicos de los que se deriva la elegibilidad (API de eventos).
  • Impugnaciones y ajustes: POST /settlements/{id}/dispute y campos ampliados de comisiones y reparto (API de liquidaciones).
  • Paginación por cursor: los endpoints aceptan cursor y devuelven next_cursor junto a page/limit (API de catálogo).

0.1.0 — API inicial de Sandbox

Estructura MVP inicial: API de catálogo, licencias, reproducción y eventos para un Sandbox aislado.