Incorporar a Academy em Iframe

A Academy aceita parâmetros na query string do endereço (a parte do URL depois de ?). Assim podes controlar o aspeto embebido, o tema e o acesso autenticado sem o aluno ter de repetir login na mesma sessão, quando aplicável.


Parâmetros disponíveis

Parâmetro Valores O que faz
mode iframe Ativa o modo embebido: remove barras e elementos pensados para uso “dentro” da Academy (cabeçalho do leitor de curso, menu lateral, barra superior do layout, rodapé do layout, etc.). O conteúdo do curso fica mais limpo dentro da iframe.
theme light ou dark Define o tema claro ou escuro a partir do URL. Útil quando escondes o seletor de tema no modo iframe. O valor é aplicado às definições do aluno e mantém-se coerente com o resto da navegação enquanto o parâmetro existir.
token (valor fornecido pela vossa integração/API) Permite autenticação via URL: o token é guardado de forma segura no dispositivo e é removido automaticamente do URL depois de processado, para não ficar exposto na barra de endereços nem em histórico partilhável. Outros parâmetros (como mode e theme) mantêm-se.

Nota: Qualquer outro parâmetro na query que não seja token tende a ser preservado nas navegações internas relevantes (por exemplo, ao mudar de aula no curso ou ao ir para a página inicial), desde que a vossa integração continue a usar URLs com a mesma query quando fizer sentido.

Login e recuperação de palavra-passe

Nas rotas públicas de autenticação (/login, /forgot-password, /reset-password, /otp-login, etc.), mode e theme não são usados na query (são ignorados ao construir esses links). O parâmetro returnUrl no login continua a poder apontar para um destino completo (incluindo mode=iframe e theme=dark) depois de o aluno iniciar sessão.


Boas práticas

  1. Usa HTTPS no URL da Academy em produção.

  2. Não partilhes URLs com token em chats públicos ou documentação aberta; trata o token como credencial de curta duração.

  3. Combina mode=iframe com theme=light ou theme=dark se quiseres aspeto consistente com o site onde incorporas o conteúdo.

  4. Com token e outros parâmetros na mesma query, usa & para os juntar (ex.: ?token=JWT&mode=iframe). Um segundo ? (ex.: ?token=JWT?mode=iframe) faz com que mode=iframe fique colado ao valor do token, o JWT deixa de ser válido e o utilizador cai no login.

  5. Testa em telemóvel e desktop: o exemplo abaixo ajuda a manter a iframe responsiva.


Exemplo de URL

https://[teu-dominio-academy]/courses/[id_curso]/[id_capitulo]/[id_aula]?mode=iframe&theme=dark

(Substitui os IDs pelos valores reais do curso e da aula que queres abrir por defeito.)


Exemplo: iframe responsiva (HTML + CSS)

O bloco seguinte mostra uma iframe à largura disponível, com altura proporcional ao ecrã e sem scroll duplo desnecessário. Ajusta padding-bottom no .iframe-academy-wrap se quiseres mais ou menos altura visível.

<!DOCTYPE html>
<html lang="pt">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Formação embebida — SalesPark Academy</title>
    <style>
      body {
        margin: 0;
        font-family: system-ui, sans-serif;
        background: #f5f5f7;
      }
      .iframe-academy-wrap {
        position: relative;
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        /* Altura visível: ~56% da largura (ajusta entre 50% e 60% conforme o conteúdo) */
        padding-bottom: 56.25%;
        min-height: 360px;
        height: 0;
        overflow: hidden;
        border-radius: 8px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
      }
      .iframe-academy-wrap iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
      }
      @media (max-width: 600px) {
        .iframe-academy-wrap {
          padding-bottom: 100%;
          min-height: 280px;
        }
      }
    </style>
  </head>
  <body>
    <main style="padding: 16px;">
      <h1 style="font-size: 1.25rem;">A tua formação</h1>
      <p style="color: #555; font-size: 0.95rem;">O conteúdo abre dentro da iframe com modo embebido e tema escuro.</p>
      <div class="iframe-academy-wrap">
        <iframe
          src="https://[teu-dominio-academy]/courses/EXEMPLO_CURSO/EXEMPLO_CAPITULO/EXEMPLO_AULA?mode=iframe&theme=dark"
          title="SalesPark Academy"
          loading="lazy"
          allow="fullscreen"
        ></iframe>
      </div>
    </main>
  </body>
</html>

Sobre allow="fullscreen": útil se as aulas usarem vídeo em ecrã inteiro dentro da iframe. Confirma na documentação do browser e políticas de conteúdo (CSP) do teu site.


Resumo rápido

Objetivo Parâmetros sugeridos
Só embeber, sem chrome da Academy mode=iframe
Embeber + tema fixo mode=iframe&theme=light ou theme=dark
Acesso com token (fluxo técnico acordado) token=... (os restantes parâmetros podem ir na mesma query)

Para dúvidas de integração ou políticas de segurança do token, o canal habitual da SalesPark (suporte / produto) continua a ser o referencial.

Este artigo pode estar desatualizado. Em caso de dúvida, entra em contacto com o suporte técnico.