Primeiros passos

Introdução

Seja bem vindo a documentação oficial do portal Descontração. Neste conteúdo você encontrará informações importantes sobre nossos produtos destinado à parceiros.

Documentação | Introdução

Os produtos destinado à parceiros, tem relação com os jogos citados nessas páginas como introdução ao parceiro e introdução aos jogos.
Nossos jogos & integração são disponibilizados em nossos servidores a partir de requisições HTTP automatizadas pelos nossos scripts em Javascript, quando incluídos na origem do site parceiro.

Integração

1.0 - Para implementar nossos scripts basta adicionar no HEAD do HTML da sua página:

<script type="text/javascript" defer src="https://www.descontracao.com.br/parceiro/scripts/minha_chave_de_licença/core.js"></script>

Será necessário atualizar o termo "minha_chave_de_licença" com a chave de licença gerada para sua conta.

2.0 Com o script incluído do seu site, existem duas formas de renderizar os jogos.

2.1 - (primeira) forma: Basta adicionar a tag div com os atributos referentes ao jogo, com base neste exemplo:

<div data-descontracao-target="true" data-game-type="GAME_TYPE" data-game-id="GAME_ID"></div>

Nesse primeiro caso, a renderização ocorre de forma automática pelo script incluído na 1º etapa.

2.2 - (segunda) forma: Neste próximo exemplo, é para casos de renderizações manuais, como por exemplo quando houver um "call-to-action":

<script>
    document.addEventListener('descontracao_is_ready', function(){
        const arguments = {
          game_type: "crosswords",
          game_id: "PUBLIC_ID",
          selector: "CSS Selector"
        }
        window.descontracao_b2b_init(arguments)
    })
</script>

Argumentos

3 - Argumentos (objeto): é utilizado para definição dos paramêtros essenciais para executar a renderização.
Segue abaixo suas propriedades:

Chave Descrição
game_type (String) Tipo do jogo que deseja renderizar: (crosswords (palavras cruzadas), sudoku, huntword (caça-palavras)).
game_id (String) ID gerado dentro CMS, utilizado para apenas crosswords (palavras cruzadas) e huntword (caça-palavras).
selector (String) Referência CSS do elemento que deseja renderizar o jogo. Saiba mais sobre CSS Selector.
callback (Function) (opcional) Você pode adicionar uma função de callback, ela será executada quando o usuário completar a interação com o jogo renderizado.

Importante! O jogo solicitado para renderização, precisa ser da própria autoridade da conta solicitante.

Eventos

4 - Eventos de escuta. Os scripts do Descontração é programado para enviar eventos para quem quiser criar alguma ação do lado do cliente. O evento de escuta é "descontracao_b2b_events", os eventos são disparado a partir de 3 gatilhos ("render","engagement","completed"):

Evento Descrição
render Evento disparado quando o jogo foi renderizado.
engagement Evento disparado a partir da primeira interação do usuário com o jogo.
completed Evento disparado após a conclusão do jogo.

Um exemplo de função utilizando o evento de escuta:

<script>
    window.addEventListener('descontracao_b2b_events', function(e) {
        const data = e.detail;
        switch (data.event) {
            case 'render':
                // Action on render
            break;
            case 'engagement':
                // Action on engagement
            break;
            case 'completed':
                // Action on completed
            break;
        }
    })
</script>

4.1 - Extra data nos eventos. Para criação de gamificação personalizada do lado cliente, o Descontração oferece alguns resultados extras no evento de "completed", como por exemplo a quantidade de acertos:

GAME_TYPE Parâmetro
Quiz e.detail.answers = {amount, wrongs}
Amount: Quantidade de perguntas.
Wrongs: Quantidade de erros.
Palavras cruzadas Evento "completed" só é disparado quando o jogador acertar todas respostas.
Sudoku Evento "completed" só é disparado quando o jogador acertar todas respostas.