API

API: Bloco de Repetição (variante 23)

Template, linhas e HTML do bloco de repetição: listar, criar, editar, remover e reordenar via API pages.

  • Publicado em 04/08/2026
  • Atualizado em 08/10/2026
  • Equipe do Interago

Este guia detalha o bloco de repetição (variante 23) do módulo pages: um template HTML de item, várias linhas (itens) e o HTML publicado do bloco. Para o restante do módulo (páginas, outros blocos, rascunhos), veja API: Módulo Páginas e Blocos (pages).

⚠️ A API precisa estar habilitada para utilizá-la. Veja o passo a passo em API - Como habilitar.

Endpoint: https://app.interago.com.br/App/Api/index.php

Todas as chamadas são POST com:

  • Cabeçalho Authorization: Bearer SEU_TOKEN
  • websiteId no corpo
  • module e method identificando o recurso

Ative a API e gere o token em #api.main?general (veja API - Como habilitar). Limite: 60 requisições autenticadas por minuto por website. Trate o token como senha.

No painel, o testador e a documentação do método ficam em #api.main?{módulo}&{método}.

O que é a variante 23

  • Template — HTML de um item (com campos editáveis). Define a estrutura de cada linha.
  • Linhas — cada item do bloco (valores dos campos + HTML da linha).
  • HTML publicado — o content do bloco (todas as linhas montadas), usado no site após build/publish das páginas.

A API mantém o estado estruturado do editor internamente. Não envie virtualContent — a API gera e atualiza esse dado; envio manual retorna 422.

Definir ou redefinir o template

Use createBlock (bloco novo, variante 23) ou proposeBlockContent / applyBlockContent com content = HTML de um item.

  • A API cria/atualiza o template e gera 1 linha.
  • Os fieldName começam vazios (nomeie no painel se precisar).
  • Não envie virtualContent.
  • Se o bloco estiver em formato legado/vazio, a API pode retornar 422 REPETITION_NOT_READY — reenvie o template com applyBlockContent (content) ou abra o bloco no painel.

curl -X POST 'https://app.interago.com.br/App/Api/index.php' \ -H 'Authorization: Bearer SEU_TOKEN' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'websiteId=SEU_WEBSITE_ID&module=pages&method=applyBlockContent&blockinwebsiteId=10&content=%3Cdiv%3E%3Ch3%3ET%C3%ADtulo%3C%2Fh3%3E%3Cp%3ETexto%3C%2Fp%3E%3C%2Fdiv%3E'

operations não gerencia linhas

operations é find/replace no HTML publicado do bloco — não cria, edita nem remove itens do editor de repetição. Para gerenciar linhas, use os métodos abaixo.

Métodos de linhas

MétodoPara que serve
listBlockLinesLista linhas paginado (page/pageSize ou offset/limit; padrão 50, máx. 200). Resposta: lineCount (total) + lines da página. includeHtml=1 formata HTML só da página. Com includeTemplate=1, inclui o schema do template.
createBlockLineCria linha(s) com valores vazios (estrutura do item; não copia o texto do template como o botão do painel). Rate limit: 30 req/min e 200 linhas/min por loja (429 RATE_LIMITED). Valores de campo máx. 16KB.
updateBlockLineAtualiza valores de campos de uma linha (fields JSON).
deleteBlockLineRemove uma linha. Bloqueia a última (422 LINE_LAST_FORBIDDEN).
reorderBlockLinesReordena: envie lineIds (JSON com todos os IDs na nova ordem).

HTML por linha e do bloco

  • lines[].lineHtml — HTML de cada item. Em listBlockLines, includeHtml=1 por padrão. Em create/update/delete/reorder o padrão é 0 (envie includeHtml=1 para receber HTML da linha).
  • content nas respostas de list/create/update/delete/reorder — HTML completo do bloco.
  • getBlock com includeContent=1 — mesmo HTML completo do bloco.

curl -X POST 'https://app.interago.com.br/App/Api/index.php' \ -H 'Authorization: Bearer SEU_TOKEN' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'websiteId=SEU_WEBSITE_ID&module=pages&method=listBlockLines&blockinwebsiteId=10&includeHtml=1&includeTemplate=1&page=1&pageSize=50'

fieldId vs fieldName

  • Use fieldId (ex.: field-0) para atualizar valores — é o identificador estável. Cada value tem teto de 16KB (422 FIELD_VALUE_TOO_LARGE).
  • fieldName só funciona se for único e não vazio no schema.
  • Nomear/renomear campos do schema continua no painel (não há método de API para isso).

Exemplo de updateBlockLine:

curl -X POST 'https://app.interago.com.br/App/Api/index.php' \ -H 'Authorization: Bearer SEU_TOKEN' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'websiteId=SEU_WEBSITE_ID&module=pages&method=updateBlockLine&blockinwebsiteId=10&lineId=line-exemplo&fields=%5B%7B%22fieldId%22%3A%22field-0%22%2C%22value%22%3A%22Novo%20t%C3%ADtulo%22%7D%5D'

Criar, remover e reordenar

curl -X POST 'https://app.interago.com.br/App/Api/index.php' \ -H 'Authorization: Bearer SEU_TOKEN' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'websiteId=SEU_WEBSITE_ID&module=pages&method=createBlockLine&blockinwebsiteId=10&count=1&position=end'

curl -X POST 'https://app.interago.com.br/App/Api/index.php' \ -H 'Authorization: Bearer SEU_TOKEN' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'websiteId=SEU_WEBSITE_ID&module=pages&method=deleteBlockLine&blockinwebsiteId=10&lineId=line-exemplo'

curl -X POST 'https://app.interago.com.br/App/Api/index.php' \ -H 'Authorization: Bearer SEU_TOKEN' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'websiteId=SEU_WEBSITE_ID&module=pages&method=reorderBlockLines&blockinwebsiteId=10&lineIds=%5B%22line-b%22%2C%22line-a%22%5D'

Publicação no site

Salvar o bloco pela API não republica páginas. Depois de alterar template ou linhas, faça build/publish das páginas que usam o bloco (painel ou fluxo habitual do site).

Ver também

API: Módulo Páginas e Blocos (pages) — páginas, blocos gerais, rascunhos e content/operations.

Este artigo foi útil?