Campanas

Listar campanas activas.

GET/api/v1/campaigns

Retorna las campanas activas dentro de su rango de fechas.

Ejemplo

curl "https://southgames.ai/api/v1/campaigns" \
  -H "Authorization: Bearer sg_live_xxx" \
  -H "X-Org-Id: mi-empresa"

Respuesta

{
  "campaigns": [
    {
      "id": "campaign_abc",
      "kind": "game",
      "name": "Ruleta de Verano",
      "description": "Gira y gana premios",
      "gameType": "spin_wheel",
      "startsAt": "2025-01-01T00:00:00Z",
      "endsAt": "2025-03-31T23:59:59Z",
      "config": { ... },
      "playLimits": null,
      "rewardLimits": null,
      "rewardType": "promo_code",
      "pointsReward": null,
      "customIconUrl": null,
      "segmentIds": [],
      "gameConfig": { ... },
      "embedUrl": null,
      "imageUrl": null
    }
  ]
}

Tipos de premio

rewardType describe que entrega la campana cuando el jugador GANA una partida.

rewardTypeDescripcion
promo_codeSe emite un codigo de descuento por cada victoria (valor por defecto)
pointsSe acreditan pointsReward puntos al balance del jugador
noneLa victoria no entrega nada: se compite solo por el ranking

Trata rewardType como una cadena abierta: pueden aparecer valores nuevos. Un cliente que no reconozca el valor debe caer a "sin premio inmediato" en vez de asumir promo_code. Con none, POST /api/v1/games/play devuelve won: true con prizeCode: null y awardsPrize: false — no prometas un premio en la pantalla de fin de partida (ver Jugar).

Tipos de juego

gameTypeDescripcion
spin_wheelRuleta giratoria
scratch_cardTarjeta para raspar
triviaPreguntas y respuestas
slot_machineMaquina tragamonedas
marketplace:gameIdJuego del marketplace