> ## Documentation Index
> Fetch the complete documentation index at: https://trophy-streak-days-off.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Inicio rápido

> Comienza a usar Trophy en menos de 10 minutos

Aquí integrarás tu aplicación con Trophy y comenzarás a construir tu primera funcionalidad gamificada.

<Tabs>
  <Tab title="Usando IA" icon="bot">
    Estas instrucciones son para quienes prefieren desarrollar usando agentes de codificación como Cursor y Claude Code.

    <Steps>
      <Step title="Crea tu cuenta de Trophy">
        Primero, [crea una cuenta nueva](https://app.trophy.so/sign-up?utm_source=docs\&utm_medium=quickstart) si aún no tienes una y dirígete al [panel de Trophy](https://app.trophy.so).

        Completa el proceso de incorporación para configurar tu cuenta.
      </Step>

      <Step title="Configura los servidores MCP">
        Para la mejor experiencia de configuración con IA, conecta Trophy a través de MCP:

        * URL del servidor MCP de documentación: `https://docs.trophy.so/mcp` (contexto de documentación en vivo)
        * URL del servidor MCP de cuenta: `https://mcp.trophy.so` (acciones de cuenta — consulta [MCP](/es/mcp/overview); requiere `x-trophy-api-key`)

        <Tip>
          Usa el [MCP de Documentación](/es/mcp/docs-mcp-server/introduction) como contexto de documentación bajo demanda y el [MCP de Cuenta](/es/mcp/account-mcp-server/introduction) para cambios en la cuenta. Usa ambos para [mejores prácticas](/es/mcp/best-practice).
        </Tip>
      </Step>

      <Step title="Indica a tu agente que realice la configuración inicial">
        Aquí tienes un prompt que puedes usar con tu agente de codificación para realizar la configuración inicial de Trophy:

        <Prompt description="Realizar la configuración inicial de Trophy" icon="paperclip" iconType="solid" actions={["copy", "cursor"]}>
          Estoy añadiendo gamificación a mi aplicación usando Trophy.

          Antes de realizar cambios, verifica que los servidores MCP de Trophy conectados estén disponibles. Usa el servidor MCP de Documentación como la fuente principal de información para los detalles de integración de Trophy, y el servidor MCP de Cuenta para configurar mi cuenta.

          Por favor, realiza la configuración inicial completa de principio a fin:

          1. Detecta el lenguaje/framework del backend en este repositorio e instala el SDK oficial de Trophy correspondiente (o usa llamadas HTTP si no hay SDK disponible).
          2. Añade `TROPHY_API_KEY` a la configuración de entorno de forma segura (sin secretos comprometidos en git), e intégralo en la inicialización del cliente de Trophy.
          3. Añade código para rastrear un evento de cambio de métrica para la métrica `<metric>` usando el cliente de la API de Trophy, conectando todos los atributos de usuario requeridos como ID, y usando placeholders para todos los atributos opcionales como nombre, email y zona horaria.
          4. Añade manejo básico de errores y registro de eventos alrededor de las llamadas a la API de Trophy.
          5. Añade o actualiza una sección breve en el README explicando cómo funciona la integración y cómo extenderla.

          Restricciones:

          * Usa los resultados de la herramienta Docs MCP para todas las decisiones de implementación específicas de Trophy.
          * No te bases en memoria previa para el comportamiento de la API de Trophy cuando MCP proporcione una respuesta.
          * Mantén los secretos fuera del control de código fuente.
          * Usa los patrones y convenciones de nomenclatura existentes del proyecto.
          * Muéstrame un resumen conciso de los archivos modificados y cómo probar la configuración.
          * Sugiere los siguientes pasos según las funciones de gamificación que Trophy admite.
        </Prompt>

        <Note>
          Asegúrate de reemplazar `<metric>` con la métrica que configuraste durante la incorporación.
        </Note>

        Esto:

        1. Agregará el [SDK de Trophy](/es/api-reference/client-libraries) relevante a tu aplicación según tu stack tecnológico
        2. Agregará una nueva variable `TROPHY_API_KEY` a tu configuración de entorno
        3. Agregará código para enviar eventos a Trophy según la métrica que configuraste durante la incorporación.
      </Step>

      <Step title="Obtén tu clave de API">
        Una vez completada la configuración, [crea una clave de API](https://app.trophy.so/integration) desde la página de integración del panel de Trophy y agrégala a tu entorno.
      </Step>

      <Step title="Crea tu primera función de gamificación">
        Una vez completada la configuración inicial, usa este mensaje de seguimiento para preparar tu agente para el siguiente paso y hacer que te pregunte qué construir a continuación:

        <Prompt description="Crea tu primera función de gamificación" icon="paperclip" iconType="solid" actions={["copy", "cursor"]}>
          Prepárate para continuar mi integración de Trophy desde la configuración existente.

          Primero, verifica que el servidor Docs MCP de Trophy conectado esté disponible y úsalo como fuente de verdad para los detalles de integración específicos de funciones.

          Antes de implementar cualquier cosa, pregúntame qué función de gamificación quiero construir, proporcionando opciones según lo que Docs MCP indique que Trophy admite.

          Después de elegir una opción:

          1. Configurar la funcionalidad seleccionada de la manera que describo usando el servidor MCP de cuenta.
          2. Implementar únicamente esa funcionalidad seleccionada usando las API relevantes de Trophy y los patrones de proyecto existentes.
          3. Agregar las llamadas/endpoints/acciones del lado del servidor necesarios que usen las API de Trophy y una superficie de respuesta de API o interfaz de usuario mínima.
          4. Documentar cualquier nueva variable de entorno, ruta y pasos de uso.

          Si solicito una funcionalidad que Trophy no admite, no implementar una solución alternativa.
          En su lugar, indicarme que actualmente no está disponible y pedirme que contacte al soporte de Trophy en [support@trophy.so](mailto:support@trophy.so) para enviar una solicitud de funcionalidad.

          Mantener los cambios orientados a producción:

          * Seguir la arquitectura y las convenciones de nomenclatura existentes.
          * Manejar los fallos de la API con elegancia.
          * Devolver una lista clara de archivos modificados y pasos de verificación manual.
        </Prompt>

        Para obtener ideas sobre qué construir a continuación, explorar:

        <CardGroup>
          <Card title="Logros" icon="trophy" href="/es/features/achievements">
            Recompensa a los usuarios por el progreso continuo o por realizar acciones específicas.
          </Card>

          <Card title="Rachas" icon="flame" href="/es/features/streaks">
            Motiva a los usuarios a construir hábitos de uso regulares.
          </Card>

          <Card title="Puntos" icon="sparkle" href="/es/features/points">
            Construye sistemas de puntos sofisticados para recompensar y retener usuarios.
          </Card>

          <Card
            title="Tablas de clasificación"
            icon={
          <svg
            width="20"
            height="18"
            viewBox="0 0 20 18"
            fill="none"
            xmlns="http://www.w3.org/2000/svg"
            className="text-primary dark:text-primary-light"
          >
            <path
              d="M2 16H6V8H2V16ZM8 16H12V2H8V16ZM14 16H18V10H14V16ZM0 16V8C0 7.45 0.195833 6.97917 0.5875 6.5875C0.979167 6.19583 1.45 6 2 6H6V2C6 1.45 6.19583 0.979167 6.5875 0.5875C6.97917 0.195833 7.45 0 8 0H12C12.55 0 13.0208 0.195833 13.4125 0.5875C13.8042 0.979167 14 1.45 14 2V8H18C18.55 8 19.0208 8.19583 19.4125 8.5875C19.8042 8.97917 20 9.45 20 10V16C20 16.55 19.8042 17.0208 19.4125 17.4125C19.0208 17.8042 18.55 18 18 18H2C1.45 18 0.979167 17.8042 0.5875 17.4125C0.195833 17.0208 0 16.55 0 16Z"
              fill="currentColor"
            />
          </svg>
        }
            href="/es/features/leaderboards"
          >
            Crea competencias amistosas para aumentar la participación de los usuarios.
          </Card>

          <Card title="Correos electrónicos" icon="mail" href="/es/features/emails">
            Entrega correos electrónicos personalizados de ciclo de vida a los usuarios en el momento perfecto.
          </Card>

          <Card title="Notificaciones push" icon="bell" href="/es/features/push-notifications">
            Impulsa flujos de notificaciones automatizados usando datos de gamificación personalizados.
          </Card>
        </CardGroup>

        O explora nuestra [referencia de API](/es/api-reference/introduction) para familiarizarte con lo que Trophy puede hacer.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Manual" icon="user">
    Estas instrucciones son para quienes desean implementar Trophy manualmente. Si prefieres usar agentes de codificación, cambia de pestaña arriba.

    <Steps>
      <Step title="Crea tu cuenta de Trophy">
        Primero, [crea una cuenta nueva](https://app.trophy.so/sign-up?utm_source=docs\&utm_medium=quickstart) si aún no tienes una y accede al [panel de Trophy](https://app.trophy.so).

        Completa la configuración inicial para preparar tu cuenta.
      </Step>

      <Step title="Añade el SDK de Trophy a tu backend">
        Tenemos bibliotecas SDK disponibles en la mayoría de los lenguajes de programación principales, pero si no ves el tuyo en la lista, ¡avísanos y crearemos uno!

        <CodeGroup>
          ```bash Node theme={null}
          npm install @trophyso/node
          ```

          ```bash Ruby theme={null}
          gem install trophy_api_client
          ```

          ```bash Python theme={null}
          pip install trophy
          ```

          ```bash PHP theme={null}
          composer require trophyso/php
          ```

          ```bash Java (Gradle) theme={null}
          implementation 'so.trophy:trophy-java:1.0.0'
          ```

          ```bash Java (Maven) theme={null}
          <dependency>
            <groupId>so.trophy</groupId>
            <artifactId>trophy-java</artifactId>
            <version>1.0.0</version>
          </dependency>
          ```

          ```bash Go theme={null}
          go get github.com/trophy-so/trophy-go
          ```

          ```bash .NET (C#) theme={null}
          // .NET Core CLI
          dotnet add package Trophy

          // Nuget Package Manager
          nuget install Trophy

          // Visual Studio
          Install-Package Trophy
          ```
        </CodeGroup>

        Alternativamente, puedes llamar directamente a la API usando cualquier cliente HTTP del lado del servidor.
      </Step>

      <Step title="Configura el entorno">
        Dirígete a la [página de integración](https://app.trophy.so/integration) del panel de Trophy y crea una nueva clave de API.

        Añade tu clave de API como una variable de entorno en tu aplicación backend:

        ```bash theme={null}
        TROPHY_API_KEY='*******'
        ```

        Luego inicializa el cliente de API de Trophy en tu backend usando esa clave de API:

        <CodeGroup>
          ```typescript Node theme={null}
          import { TrophyApiClient } from "@trophyso/node";

          const trophy = new TrophyApiClient({
            apiKey: process.env.TROPHY_API_KEY as string,
          });
          ```

          ```ruby Ruby theme={null}
          client = TrophyApiClient::Client.new(
            :api_key => ENV["TROPHY_API_KEY"]
          )
          ```

          ```python Python theme={null}
          from trophy import Trophy

          client = Trophy(
              api_key=os.environ.get("TROPHY_API_KEY"),
          )
          ```

          ```php PHP theme={null}
          use Trophy\TrophyClient;

          $trophy = new TrophyClient([
              'apiKey' => getenv('TROPHY_API_KEY')
          ]);
          ```

          ```java Java (Gradle) theme={null}
          TrophyApiClient client = TrophyApiClient.builder()
              .apiKey(System.getenv("TROPHY_API_KEY"))
              .build();
          ```

          ```java Java (Maven) theme={null}
          TrophyApiClient client = TrophyApiClient.builder()
              .apiKey(System.getenv("TROPHY_API_KEY"))
              .build();
          ```

          ```go Go theme={null}
          client, err := trophy.NewClient(
              option.WithAPIKey(os.Getenv("TROPHY_API_KEY")),
          )
          ```

          ```csharp .NET (C#) theme={null}
          var trophy = new TrophyClient(
              Environment.GetEnvironmentVariable("TROPHY_API_KEY")
          );
          ```
        </CodeGroup>

        Asegúrate de que todas las llamadas al SDK de Trophy utilicen este cliente para la autenticación.
      </Step>

      <Step title="Crea tu primera métrica">
        Todas las funciones de gamificación se basan en interacciones de usuarios. En Trophy, usas [Métricas](/es/features/metrics) para definir y modelar esas interacciones y [Eventos](/es/features/events) para rastrearlas.

        Aquí crearás tu primera métrica para comenzar. En el panel de Trophy, ve a la [página de métricas](https://app.trophy.so/metrics) y haz clic en el botón *Nueva Métrica*:

        <Frame>
          <video autoPlay muted loop playsInline className="w-full aspect-video" src="https://mintcdn.com/trophy-streak-days-off/Xn8i083N8w_EbMfg/assets/features/metrics/create_new_metric.mp4?fit=max&auto=format&n=Xn8i083N8w_EbMfg&q=85&s=471f977b68acbf8b3e1cad2a41928e9e" data-path="assets/features/metrics/create_new_metric.mp4" />
        </Frame>

        Asigna un nombre a la métrica y haz clic en *Guardar*.
      </Step>

      <Step title="Integra la métrica en tu backend">
        Una vez que hayas creado tu métrica, dirígete a la pestaña de configuración y copia su clave de referencia única de API.

        <Frame>
          <video autoPlay muted loop playsInline className="w-full aspect-video" src="https://mintcdn.com/trophy-streak-days-off/zuWg1F-hyYdL6xx5/assets/quick-start/copy_metric_key.mp4?fit=max&auto=format&n=zuWg1F-hyYdL6xx5&q=85&s=717e6460186492a015d21782c60045e5" data-path="assets/quick-start/copy_metric_key.mp4" />
        </Frame>

        Para registrar un evento contra esta métrica cuando un usuario interactúa con tu producto, llama a la [API de eventos de cambio de métrica](/es/api-reference/endpoints/events/submit-a-metric-event), pasando los detalles del usuario que realizó la interacción. En este ejemplo, la clave de métrica sería `flashcards-flipped`:

        <CodeGroup>
          ```bash cURL theme={null}
          curl -X POST https://app.trophy.so/api/metrics/flashcards-flipped/event \
               -H "X-API-KEY: <apiKey>" \
               -H "Content-Type: application/json" \
               -d '{
            "user": {
              "id": "18",
              "email": "user@example.com",
              "tz": "Europe/London"
            },
            "value": 750
          }'
          ```

          ```typescript Node theme={null}
          trophy.metrics.event("flashcards-flipped", {
            user: {
              id: "18",
              email: "user@example.com",
              tz: "Europe/London",
            },
            value: 750,
          });
          ```

          ```python Python theme={null}
          client.metrics.event(
              key="flashcards-flipped",
              user=EventRequestUser(
                  id="18",
                  email="user@example.com",
                  tz="Europe/London",
              ),
              value=750.0,
          )
          ```

          ```php PHP theme={null}
          $user = new EventRequestUser([
              'id' => '18',
              'email' => 'user@example.com'
          ]);

          $request = new MetricsEventRequest([
              'user' => $user,
              'value' => 750
          ]);

          $trophy->metrics->event("flashcards-flipped", $request);
          ```

          ```java Java theme={null}
          MetricsEventRequest request = MetricsEventRequest.builder()
                .user(
                  EventRequestUser.builder()
                    .id("18")
                    .email("user@example.com")
                    .build()
                )
                .value(750)
                .build();

          EventResponse response = client.metrics().event("flashcards-flipped", request);
          ```

          ```go Go theme={null}
          response, err := client.Metrics.Event(
              "flashcards-flipped",
              &api.MetricsEventRequest{
                  User: &api.EventRequestUser{
                      Id: "18",
                      Email: "user@example.com",
                  },
                  Value: 750,
              },
          )
          ```

          ```csharp C# theme={null}
          var user = new EventRequestUser {
             Id = "18",
             Email = "user@example.com"
          };

          var request = new MetricsEventRequest {
             User = user,
             Value = 750
          };

          await trophy.Metrics.EventAsync("flashcards-flipped", request);
          ```

          ```ruby Ruby theme={null}
          result = client.metrics.event(
            :key => 'flashcards-flipped',
            :user => {
              :id => '18',
              :email => 'user@example.com'
            },
            :value => 750
          )
          ```
        </CodeGroup>

        Al hacer esta llamada, le estás indicando a Trophy que un usuario específico realizó una interacción con tu producto. Como resultado, Trophy procesará automáticamente cualquier característica de gamificación como Logros o Rachas que hayas configurado contra la métrica.
      </Step>

      <Step title="Continúa construyendo tu experiencia de gamificación">
        Con una métrica integrada en tu backend, estás listo para comenzar a agregar características de gamificación a tu producto.

        Sigue los enlaces a continuación para aprender más sobre cada característica que puedes construir con Trophy:

        <CardGroup>
          <Card title="Logros" icon="trophy" href="/es/features/achievements">
            Recompensa a los usuarios por su progreso continuo o por realizar acciones específicas.
          </Card>

          <Card title="Rachas" icon="flame" href="/es/features/streaks">
            Motiva a los usuarios a desarrollar hábitos de uso regular.
          </Card>

          <Card title="Puntos" icon="sparkle" href="/es/features/points">
            Construye sistemas de puntos sofisticados para recompensar y retener usuarios.
          </Card>

          <Card
            title="Tablas de clasificación"
            icon={
          <svg
            width="20"
            height="18"
            viewBox="0 0 20 18"
            fill="none"
            xmlns="http://www.w3.org/2000/svg"
            className="text-primary dark:text-primary-light"
          >
            <path
              d="M2 16H6V8H2V16ZM8 16H12V2H8V16ZM14 16H18V10H14V16ZM0 16V8C0 7.45 0.195833 6.97917 0.5875 6.5875C0.979167 6.19583 1.45 6 2 6H6V2C6 1.45 6.19583 0.979167 6.5875 0.5875C6.97917 0.195833 7.45 0 8 0H12C12.55 0 13.0208 0.195833 13.4125 0.5875C13.8042 0.979167 14 1.45 14 2V8H18C18.55 8 19.0208 8.19583 19.4125 8.5875C19.8042 8.97917 20 9.45 20 10V16C20 16.55 19.8042 17.0208 19.4125 17.4125C19.0208 17.8042 18.55 18 18 18H2C1.45 18 0.979167 17.8042 0.5875 17.4125C0.195833 17.0208 0 16.55 0 16Z"
              fill="currentColor"
            />
          </svg>
        }
            href="/es/features/leaderboards"
          >
            Crea competencias amistosas para aumentar la interacción de los usuarios.
          </Card>

          <Card title="Correos electrónicos" icon="mail" href="/es/features/emails">
            Envía correos electrónicos personalizados del ciclo de vida a los usuarios en el momento perfecto.
          </Card>

          <Card title="Notificaciones push" icon="bell" href="/es/features/push-notifications">
            Impulsa flujos de notificación automatizados utilizando datos de gamificación personalizados.
          </Card>
        </CardGroup>

        O explora nuestra [referencia de API](/es/api-reference/introduction) para familiarizarte con lo que Trophy puede hacer.
      </Step>
    </Steps>
  </Tab>
</Tabs>

<h2 id="get-support">
  Obtener Soporte
</h2>

¿Quieres ponerte en contacto con el equipo de Trophy? Contáctanos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte!
