GH GambleHub

Portal de desarrolladores y tokens de acceso

1) Papel del portal de desarrolladores

El Portal del Desarrollador es una «oficina frontal» para integradores: autoservicio (llaves, tokens, webhooks, planes de tarifas), transparencia (límites, usage, facturas), seguridad (rotación, firmas), velocidad de integración (SDK, documentación, caja de arena).

Objetivos clave:
  • Reducir el TTI (tiempo de integración) a horas.
  • Dar manejabilidad de acceso: quién/qué/cuánto/cuándo.
  • Reduzca la carga de soporte a través de herramientas automáticas.

2) Onboarding y cuentas

Registro: email + 2FA/SSO (SAML/OIDC); confirmación de dominio (token DNS).
Organizaciones y equipos: roles de 'Owner', 'Admin', 'Desarrollador', 'Billing', 'Seguridad'.
Multi-tenant: vincular las aplicaciones a las organizaciones; acceso a los datos - por el tenor/entorno.
KYC/B2B (opz.) : para Enterprise - persona jurídica, contrato, límites anteriores.

3) Apéndices y créditos

Tipos de aplicaciones: 'server-to-server', 'web', 'mobile', 'machine-to-machine', 'webhook-consumer'.

3. 1 API Keys (server-to-server, integraciones simples)

Identificador 'key _ id' + secreto 'key _ secret' (visible una vez).
Enlaza con el plan y los conjuntos scopes.
Firma de consulta (HMAC) y/o encabezado 'Authorization: ApiKey <key_id>:<signature>'.

3. 2 OAuth2/OIDC (recomendado)

Subvenciones:
  • Clientes Credentials (máquinas).
  • Authorization Code (+PKCE) (user-delegated).
  • Refresh Token (acceso fuera de línea, rotación RT).
  • Código de dispositivo (TV/consola).

3. 3 mTLS (nivel adicional)

TLS recíproco en inglés; los certificados se cargan a través del portal; la referencia 'cert _ fingerprint' a la aplicación.

4) Tokens: tipos y ciclo de vida

TipoDónde se almacenaDuración de la vidaUso
Access Token (JWT/opaque)clientecorto (5-60 minutos)autorización de solicitudes
Refresh Tokenservidor clientelargo (7-90 días)actualización de AT, rotación
API Keyservidor clienteantes de la rotaciónfirma HMAC/autenticación simple mTLS cert
Principios:
  • Corto AT + RT largo; RT - rotación deslizante (rotate-on-use).
  • Revocación forzada (revoke) por clave/aplicación/organización.
  • Pere-emisión, manteniendo las restricciones de scopes/cuotas.

4. 1 Formato JWT (ejemplo)

json
{
"iss":"https://auth. example. com",
"sub":"app_123",
"aud":"https://api. example. com",
"exp":1730616000,
"iat":1730612400,
"scp":["wallet:read","bet:write"],
"org":"acme",
"kid":"jwks_2025_11",
"jti":"at_01HXY..."
}

Las claves públicas se publican en JWKS; rotación por 'kid'.

4. 2 tokens Opaque e Introspección

Almacene en el servidor Auth 'token _ store' (Redis/SQL).
Introspección: 'active', 'scope', 'amb', 'client _ id', 'org', 'tenant'.

5) Scopes, roles y políticas de acceso

Scopes describe las operaciones ('wallet: read', 'wallet: write', 'report: read').
Los roles se agregan a scopes ('Desarrollador', 'Billing').
ABAC: atributos 'org', 'tenant', 'region', 'environment'.
Políticos: «esta clave es sólo 'eu-west-1' y 'read'».
Paso a paso: los métodos críticos requieren scopes avanzados o mTLS.

6) Cuotas, límites y tarifas

Rate limits: RPS/RPM, burst.
Cuotas: día/mes, préstamos.
Por clave/aplicación/organización/tenante.
El portal muestra el usage, los encabezados 'X-RateLimit-' y 'X-Quota-', así como el pronóstico del overage.
Facturación: combinación con el plan, metering por eventos, facturas y webhooks de facturación.

7) Gestión de webhooks

Registro de endpoint's, secretos, versiones de eventos.
Prueba de entrega y respuesta; registros de intentos (2xx/4xx/5xx).
Firmas HMAC ('X-Signature'), 'X-Webhook-Id', deduplicación, respuesta '410'.

8) Documentación y SDK

OpenAPI/AsyncAPI con generación automática SDK.
Cookbook: consultas de ejemplo, retraídas, idempotencia, paginación, webhooks.
Try-it playground (con llaves de arena).
Changelog version y página de deprecaciones.

9) Sandbox y datos de prueba

Ambientes aislados: 'sandbox', 'staging', 'production'.
Entidades de prueba (jugadores, transacciones) y scripts (ganar/perder, retrasos, 5xx, 429).
Data seeding desde el portal y reset del entorno.

10) Seguridad y almacenamiento de secretos

Hash secretos API Key (no almacenar en abierto); mostrar la clave una vez.
Gestor de secretos (KMS/HSM) para tokens de firma; rotación de claves 'kid'.
IP allowlist, restricciones geográficas, filtros ASN.
2FA/SSO, claves de hardware (WebAuthn).
Protección contra el abudio: CAPTCHA cuando se crea, heurística anti-bot, velocidad de registro.
Registros sin PII/secretos; Redacción por plantillas.

11) Auditoría y cumplimiento

Registro de auditoría: quién creó/vio/revocó la clave, cambió el webhook, descargó el informe.
GDPR/DSAR: descarga y eliminación de datos de aplicaciones/organizaciones.
Políticas de retención: TTL para registros, Legal Hold para incidentes.
Terms of Use/Fair Use y restricciones a la exportación.

12) Administración y operaciones

Revocación masiva de tokens por incidente/compromiso.
Suspensión temporal de la aplicación (suspend) con causa y apelación.
Roll over keys (modo de dos teclas: 'active/next').
Incidente-comm: status page, newsletters, estado RSS/webhooks.

13) Portal UI/UX (pantallas clave)

Organización Dashboard: usage/error/SLO/facturación.
Aplicación: claves, tokens, scopes, límites, webhooks, entornos.
Logs de envío de webhooks con filtros y botón Replay.
Token-consola: liberación/revisión, historial, razones.
Documentación y SDK, Quickstart, código de ejemplo (copiar-pegar).
Sección «Deprecaciones y migraciones».

14) Ejemplos de contratos y confecciones

14. 1 OpenAPI (fragmentos)

yaml paths:
/v1/apps:
post:
summary: Create app security: [{ oauth2: [admin:apps. write] }]
responses:
'201': { description: Created }
/v1/apps/{app_id}/keys:
post:
summary: Create API key (shown once)
responses:
'201': { description: Created }
/v1/oauth2/token:
post:
summary: Token endpoint (CC/AC)
responses:
'200': { description: Access token }
/v1/tokens/revoke:
post:
summary: Revoke access/refresh token responses:
'204': { description: Revoked }

14. 2 Introspección de token (respuesta)

json
{
"active": true,
"client_id": "app_123",
"scope": "wallet:read bet:write",
"org": "acme",
"exp": 1730616000,
"token_type": "access_token",
"jti": "at_01HXY..."
}

14. 3 Política de claves (JSON)

json
{
"app_id":"app_123",
"plan":"pro-2025",
"scopes":["wallet:read","report:read"],
"limits":{"rps":50,"daily_requests":250000},
"regions":["eu-west-1"],
"ip_allow":["192. 0. 2. 0/24"]
}

15) Procesos de versionamiento y depreciación

Versiones semánticas de la API ('/v1 ', '/v2'), compatibilidad «añadir, no romper».
El portal muestra: «qué es obsoleto», hasta qué fecha, y «cómo migrar».
Guías de migración, prueba de sandbox 'v2', dual-write/dual-read donde sea posible.

16) Observabilidad y presentación de informes

Usage → ingresos: gráficos de solicitudes/créditos/overage.
Errores de estado/' error _ code ', histogramas de latencia.
Widgets SLO: disponibilidad y p95 para los bolígrafos clave.
Exportar CSV/JSON, informes web, API para análisis.

17) Hojas de cheques

17. 1 Seguridad

  • 2FA/SSO, confirmación de dominio/correo
  • Mostrar secretos una vez, almacenamiento hash
  • JWKS y rotación de llaves, 'kid'
  • mTLS (ops.) , IP allowlist, filtros geo/ASN
  • Anti-bot/anti-abuse, rate-limit para la creación de claves
  • Auditoría-registro de acciones y accesos

17. 2 DX/Onboarding

  • Quickstart ≤ 5 minutos
  • SDK (TS/Py/Java/Go/.NET) con la misma superficie
  • Playground + llaves de arena
  • Cookbook: webhooks, paginación, retraídas, idempotencia
  • Página de límites/planes/precios
  • Ejemplos de «copiar-pegar»

17. 3 Operaciones

  • Revisión masiva de tokens, suspend app
  • Página de incidentes/estado + suscripción
  • DLQ/Replay para webhooks
  • Alertas automáticas sobre el agotamiento cercano de las cuotas
  • Informes y facturas mensuales

18) Plan de implementación (3 iteraciones)

Iteración 1 - MVP (2-3 semanas):
  • Registro de aplicaciones, emisión de API Keys, Credentials de clientes OAuth2, límites básicos (RPS/cuotas), registros de consultas y gráficos de uso, documentación y SDK TS/Python, sandbox.
Iteración 2 - Fiabilidad y seguridad (3-4 semanas):
  • JWT + JWKS, rotación de claves, Refresh Token + rotate-on-use, 2FA/SSO de mandato, webhooks (firmas, retries, lógica, replay), facturación de webhooks, informes y exportaciones, roles y ABAC.
Iteración 3 - Escala y cumplimiento (continuo):
  • mTLS, herramientas de administración (mass revoke/suspend), deprecación y migración v2, SDK Java/Go/.NET, phinops dashboards, GDPR/DSAR, Legal Hold, avanzado anti-abusivo.

19) Mini preguntas frecuentes

¿JWT o opaque?
JWT es conveniente sin solicitar un servidor Auth (firma/' kid '), opaque es más fácil de revocar y oculta el contenido. A menudo se utilizan ambos: externamente JWT, internamente - opaque con introspección.

¿Cuánto vive Access Token?
Corto: 5-15 minutos para personalizados, 15-60 minutos para máquinas. Compensado por la mecánica refresh.

¿Cómo puedo rotar las llaves con seguridad?
Mantenga 'active/next', publique ambos en JWKS, cambie a los clientes por' kid ', luego retire el antiguo.

Un fuerte portal de desarrolladores es el autoservicio, la observabilidad y la seguridad por defecto. Proporcione procesos claros de emisión/rotación/revocación de tokens, límites transparentes y facturación, documentación de calidad y SDK, sitios web confiables y auditorías. A continuación, los integradores se inician rápidamente y su plataforma seguirá siendo manejable, compatible y resistente bajo carga.

Contact

Póngase en contacto

Escríbanos ante cualquier duda o necesidad de soporte.¡Siempre estamos listos para ayudarle!

Iniciar integración

El Email es obligatorio. Telegram o WhatsApp — opcionales.

Su nombre opcional
Email opcional
Asunto opcional
Mensaje opcional
Telegram opcional
@
Si indica Telegram, también le responderemos allí además del Email.
WhatsApp opcional
Formato: +código de país y número (por ejemplo, +34XXXXXXXXX).

Al hacer clic en el botón, usted acepta el tratamiento de sus datos.