Misiones

Listar misiones activas y su progreso.

GET/api/sdk/missions

Lista las misiones activas visibles para el cliente, incluyendo progreso de cada objetivo.

Query params

ParametroTipoDescripcion

Se requiere clientId o externalUserId.

Ejemplo

curl -G https://southgames.ai/api/sdk/missions \
  -H "Authorization: Bearer sg_live_xxx" \
  -H "X-Org-Id: mi-empresa" \
  -d "externalUserId=user_123"

Respuesta

{
  "success": true,
  "data": {
    "missions": [
      {
        "id": "mission_abc",
        "name": "Jugador frecuente",
        "description": "Juega 5 veces para ganar 100 puntos",
        "iconUrl": null,
        "type": "single",
        "objectives": [
          {
            "id": "obj_1",
            "description": "Juega 5 partidas",
            "action": "game_play",
            "targetCount": 5,
            "current": 2,
            "completed": false
          }
        ],
        "rewards": [
          { "type": "points", "amount": 100 }
        ],
        "autoClaimReward": true,
        "startsAt": "2026-03-01T00:00:00.000Z",
        "endsAt": "2026-03-31T23:59:59.000Z",
        "status": "active",
        "completedAt": null,
        "claimedAt": null
      }
    ]
  }
}

Tipos de mision

TipoDescripcion
singleSe completa una vez
multi_stepObjetivos secuenciales (uno a la vez)
dailySe resetea cada dia
weeklySe resetea cada semana

Acciones de objetivo

AccionDescripcion
game_playJugar una partida
game_winGanar una partida
code_redeemCanjear un codigo
custom_eventTrackear un evento custom
points_spendGastar puntos
referral_completeCompletar un referido
daily_loginLogin diario (heartbeat)
reach_tierAlcanzar un tier especifico

Filtros automaticos

  • Solo se muestran misiones con status: "active".
  • Se respeta la ventana de fechas (startsAt / endsAt).
  • Se valida el tier requerido si aplica (requiredTierId).