cloonyx

Início / Documentação / Formato dos documentos

Formato dos documentos

O que vem em content quando você lê um documento. As listas desta página são geradas a partir do próprio Cloonyx, então trazem exatamente os tipos que podem aparecer.

Quiz

Um quiz é uma lista de etapas em content.steps. Cada etapa tem um tipo, um título e o caminho para a próxima.

Exemplo mínimo
{
  "name": "Meu quiz",
  "content": {
    "steps": [
      {
        "id": "inicio",
        "type": "cover",
        "title": "Descubra seu perfil",
        "cta": "Começar",
        "next": "pergunta"
      },
      {
        "id": "pergunta",
        "type": "single",
        "title": "O que você quer?",
        "options": [
          {
            "label": "Mais foco",
            "next": "fim"
          },
          {
            "label": "Mais energia",
            "next": "fim"
          }
        ]
      },
      {
        "id": "fim",
        "type": "result",
        "title": "Seu resultado",
        "blocks": [
          {
            "type": "paragraph"
          }
        ]
      }
    ]
  }
}
Campo da etapaDescrição
idIdentificador da etapa, texto livre. Gerado quando falta.
typeTipo da etapa, da lista abaixo.
titleTítulo que o visitante vê.
bodyTexto de apoio abaixo do título.
ctaTexto do botão de avançar.
optionsOpções de resposta: label, score, tags e next para levar a uma etapa específica.
nextEtapa seguinte quando nenhuma opção define o caminho.
blocksBlocos de conteúdo dentro da etapa, da lista de blocos de quiz.

Tipos de etapa (21)

typeNome
coverCapa
singleEscolha única
multipleMúltipla escolha
imageEscolha com imagem
scaleEscala
yesnoSim / Não
rankingRanking
inputTexto livre
videoVídeo + escolhas
audioÁudio
alertAlerta + timer
testimonialDepoimento
captureCaptura de lead
loadingCalculando resultado
resultDiagnóstico
pitchOferta
bumpOrder bump
upsellUpsell
downsellDownsell
thanksObrigado
embedHTML / embed

Blocos de quiz (93)

Formulário

typeNomeDescrição
fieldCampo de textoCampo de texto de uma linha
emailEmailEmail com validação e correção de domínio
telTelefoneTelefone com DDI e máscara
numberNúmeroCampo numérico
textareaTexto longoÁrea de texto com contador
dateDataSeletor de data
documentCPF ou documentoDocumento com máscara e validação de CPF
addressEndereço ou CEPCEP com máscara e campos de endereço
uploadUpload de arquivoEnvio de arquivo com prévia
buttonBotãoBotão que avança, vai para uma etapa ou abre um link

Quiz

typeNomeDescrição
singleEscolha únicaUma resposta entre várias opções
multipleMúltipla escolhaVárias respostas entre as opções
imageOptionsOpções com imagemOpções ilustradas em grade
yesnoSim ou nãoDois botões grandes com ramificação direta
scaleEscalaEscala numérica em slider ou botões
npsNPSEscala de 0 a 10 com detrator, neutro e promotor
rankingOrdenaçãoItens que o visitante coloca em ordem
bodyMetricsPeso e alturaPeso e altura com unidades e IMC opcional
videoAnswerVídeo RespostaVídeo com opções de resposta embaixo

Mídia

typeNomeDescrição
headingTítuloTítulo de destaque com nível semântico
paragraphTextoTexto corrido com negrito, itálico, link e variáveis
imageImagemImagem com proporção, ajuste e link
galleryGaleriaGrade de imagens
audioÁudioPlayer de áudio tematizado
embedEmbed de vídeoYouTube, Vimeo, VTurb, Panda ou iframe. Não executa no editor
iconÍconeUm ícone lucide com tamanho
iconListLista com íconesItens com ícone, título e descrição
mapMapaMapa do Google a partir de um endereço ou coordenadas
socialIconsRedes sociaisÍcones que levam para os seus perfis

Atenção

typeNomeDescrição
alertAlertaCaixa de aviso com variantes
timerTimerContagem regressiva real, fixa, com prazo ou por sessão
loadingLoadingMensagens em sequência e avanço automático
notificationNotificaçãoAviso flutuante com rotação entre mensagens do autor
countdownContagem regressivaDígitos em cartões com rótulos de unidade
progressBarra de progressoManual ou automática pela etapa
animatedTextTexto animadoFrase fixa com palavras que se alternam no final
confettiConfeteChuva de confete ao abrir a etapa
counterContadorNúmero que sobe até o valor quando aparece na tela

Prova

typeNomeDescrição
testimonialDepoimentoDepoimentos com avatar, nome e nota
faqFAQPerguntas e respostas em acordeão funcional
pricePreçoCaixa de preço com desconto, parcelas e botão
checklistChecklistItens marcados como positivos ou negativos
beforeAfterAntes e depoisComparador com divisor arrastável
carouselCarrosselSlides com imagem, título e texto
guaranteeBadgeSelo de garantiaÍcone, título, prazo e texto
comparisonTableTabela comparativaColunas com presente ou ausente por linha
starsAvaliação por estrelasNota em estrelas com texto
argumentosArgumentosDuas colunas com pontos a favor e contra
certificationSealSelo de certificaçãoCertificações e registros com quem emitiu e número
logoStripFaixa de logosLinha de logos com altura e opacidade iguais
proofShotProva em imagemPrint de tela com moldura, legenda e origem
pullQuoteCitação destacadaUma frase em destaque, com autoria opcional
testimonialVideoDepoimento em vídeoVídeos curtos de quem já usou, com legenda e origem
testimonialWallMural de depoimentosVários depoimentos escritos em colunas, estilo mural

Comercial

typeNomeDescrição
checkoutCheckoutBotão que leva ao checkout, com preço opcional
whatsappWhatsAppBotão para conversa no WhatsApp com mensagem pronta
bumpOrder bumpCaixa com checkbox para adicionar um extra à compra
upsellUpsellOferta seguinte com aceitar e recusar
couponCupom de descontoCampo que registra o cupom digitado e leva junto para o checkout
discountWheelRoletaRoleta que para sempre no prêmio que você escolheu e mostra o cupom
orderSummaryResumo do pedidoLista os itens do pedido com um total no fim
paymentMethodsFormas de pagamentoLista as formas de pagamento aceitas, com ícone opcional
planPickerSeletor de planoCartões de plano que o visitante escolhe antes de seguir
secureBadgeSelo de compra seguraBloco de segurança com ícone, título e linhas de reforço
stickyCheckoutCheckout fixoBarra de compra que fica fixa na página publicada

Avançado

typeNomeDescrição
spaceEspaçoEspaço vertical em pixels, por dispositivo
dividerDivisorLinha com estilo, espessura e texto central
htmlHTMLCódigo bruto isolado. Bloqueado no editor, não responsivo por si
containerContainerAgrupa blocos com direção, fundo, borda e padding
columnsColunasDuas a quatro colunas que empilham no mobile
cardsCards interativosEscolher N cartas que viram e revelam um resultado
redirectRedirecionamentoRedireciona depois de um atraso, preservando parâmetros
conditionalBloco condicionalSó mostra os filhos quando as condições valem
navMenuMenuBarra com logo e links, que vira botão no celular
scrollTopVoltar ao topoBotão flutuante que aparece depois de rolar a página
tabsAbasConteúdo dividido em abas que a pessoa troca com um toque

Overlays

typeNomeDescrição
bottomBarBarra fixa no rodapéFaixa presa ao rodapé da página publicada
cookieNoticeAviso de cookiesFaixa de consentimento que some depois do aceite
exitPopupPopup de saídaAparece quando o ponteiro sai pelo topo da janela
modalModalJanela sobre a página, com abertura imediata ou por atraso
sidePanelPainel lateralPainel que entra pela lateral da página publicada
tooltipDica em balãoTexto curto que aparece em um balão ao lado da âncora
topBarBarra fixa no topoFaixa presa ao topo da página publicada

Resultado

typeNomeDescrição
answersRecapResumo das respostasLista o que a pessoa respondeu antes de seguir
axisChartGráfico por eixoPontuação de cada eixo do quiz em barras
barChartGráfico de barrasBarras com valores calculados a partir das respostas
dynamicTextTexto personalizadoTexto que troca as variáveis do quiz pelo valor real
levelNívelBarra com porcentagem calculada por variável ou fórmula
nameGreetingSaudação com nomeCumprimenta usando o nome que a pessoa digitou
pieChartGráfico de pizzaProporções em pizza ou rosca, com legenda
profileMeterBarra de progresso do perfilMedidor com faixas nomeadas e marcador na posição atual
resultCardCartão de resultadoMostra o resultado calculado do quiz em destaque
scoreRecommendationRecomendação por faixaMostra um bloco de texto diferente conforme a pontuação

Oferta e página

Ofertas e páginas usam uma lista de camadas em content.layers, de cima para baixo. Cada camada tem um tipo e os campos daquele tipo, como text, href, src e alt. Também é possível mandar content.sections, uma lista de seções com blocks dentro.

Exemplo mínimo
{
  "name": "Minha página",
  "content": {
    "layers": [
      {
        "type": "heading",
        "text": "Título"
      },
      {
        "type": "text",
        "text": "Parágrafo"
      },
      {
        "type": "button",
        "text": "Quero",
        "href": "https://exemplo.com"
      }
    ]
  }
}

O link do botão de compra fica em href da camada ou em checkoutUrl do documento, sempre com https.

Tipos de camada (68)

Texto

typeNome
headingTítulo
textTexto
listLista

Mídia

typeNome
imageImagem
embedVídeo (embed)
audioÁudio
paragraphTexto
galleryGaleria
iconÍcone
iconListLista com ícones
mapMapa
socialIconsRedes sociais

Ação

typeNome
buttonBotão
checkoutCheckout
whatsappWhatsApp
fieldCampo

Avançado

typeNome
htmlHTML
pixelPixel
containerContainer
columnsColunas
cardsCards interativos
conditionalBloco condicional
navMenuMenu
scrollTopVoltar ao topo
tabsAbas

Estrutura

typeNome
spaceEspaço
dividerDivisor
sectionSeção

Atenção

typeNome
alertAlerta
timerTimer
notificationNotificação
countdownContagem regressiva
progressBarra de progresso
animatedTextTexto animado
counterContador

Prova

typeNome
testimonialDepoimento
faqFAQ
pricePreço
checklistChecklist
beforeAfterAntes e depois
carouselCarrossel
guaranteeBadgeSelo de garantia
comparisonTableTabela comparativa
starsAvaliação por estrelas
argumentosArgumentos
certificationSealSelo de certificação
logoStripFaixa de logos
proofShotProva em imagem
pullQuoteCitação destacada
testimonialVideoDepoimento em vídeo
testimonialWallMural de depoimentos

Comercial

typeNome
bumpOrder bump
upsellUpsell
couponCupom de desconto
discountWheelRoleta
orderSummaryResumo do pedido
paymentMethodsFormas de pagamento
planPickerSeletor de plano
secureBadgeSelo de compra segura
stickyCheckoutCheckout fixo

Overlays

typeNome
bottomBarBarra fixa no rodapé
cookieNoticeAviso de cookies
exitPopupPopup de saída
modalModal
sidePanelPainel lateral
tooltipDica em balão
topBarBarra fixa no topo

Resultado

typeNome
pieChartGráfico de pizza

Funil

Um funil liga documentos que já existem. content.nodes são as etapas e content.edges são as ligações entre elas.

Exemplo mínimo
{
  "name": "Meu funil",
  "content": {
    "nodes": [
      {
        "id": "n1",
        "kind": "quiz",
        "assetId": "<id do quiz>"
      },
      {
        "id": "n2",
        "kind": "checkout",
        "url": "https://pagamento.exemplo.com/produto"
      }
    ],
    "edges": [
      {
        "id": "e1",
        "from": "n1",
        "to": "n2"
      }
    ]
  }
}
kindAponta para
quizUm quiz, pelo assetId.
pageUma página.
offerUma oferta.
upsellUma oferta usada como upsell.
downsellUma oferta usada como downsell.
thanksUma página de obrigado.
checkoutUm checkout externo, pela url com https.
externalQualquer outro endereço, pela url com https.

x e y em cada nó são opcionais e definem a posição no mapa do funil no app.

Regras

  • Os ids das etapas são texto livre. next, declineNext, o next de cada opção e o next de cada regra apontam para outra etapa do mesmo quiz, ou ficam vazios.
  • content é o rascunho atual. A versão no ar pode estar diferente até a próxima publicação no app.
  • Use GET /api/v1/blocks?type= para ver os campos e os valores padrão de cada tipo.