update_template do
MCP: cria o que falta, atualiza o que existe e nunca apaga. Use quando um sistema
seu precisa manter projetos sem passar por um assistente de IA.
Antes de escrever, leia Como uma escrita funciona:
envio parcial, órfãos, renomear pelo slug, campos vazios e ligar ou desligar valem igual
aqui. O formato de cada bloco está na Referência do template.
Autenticação
O id do projeto aparece em Configurações → Projetos, abaixo do nome de cada projeto
(clique para copiar; tela de Admin). Pelo MCP, vem de
list_projects.
O token da conexão de IA (MCP) não serve aqui, e a chave do projeto não serve no MCP.
GET: ler o template
- Traz todos os blocos e todos os templates da Meta do projeto.
- O agente vem na versão mais nova, mesmo se ainda não publicada.
- A
revisioné a marca do estado lido. Duas leituras sem mudança no meio têm a mesma.
POST: aplicar
Corpo
Cada bloco enviado é a lista completa daquele tipo: o que existe no projeto e não veio
na lista volta em
orphans, sem ser apagado.
Resposta: 200
A resposta não traz a
revision nova. Para registrar o estado novo, faça um GET de novo.
Erros
Os erros desta API usam
ok e message, não o { "error" } da API do dia a dia.
Diferenças para o MCP
Não há modo de sobrescrever em nenhum dos dois. Ver
Sobrescrever x atualizar.
Armadilhas
- Endereço e header diferentes da API do dia a dia.
app.zatten.comeAuthorization: Bearer. Comx-api-key, a resposta é 401. - Sem conferência de
revision. Se alguém mudou o projeto pelo painel entre o seuGETe o seuPOST, oPOSTaplica por cima do que estiver lá. Leia logo antes de escrever. - Bloco com um item só transforma o resto em órfãos (não apagados, mas fora da sua lista). Devolva sempre a lista inteira do bloco.
publish_agent: truepõe o agente no ar para todos os leads, sem teste. Prefira publicar pelo painel depois de testar.submit_meta_templates: truemanda conteúdo para revisão da Meta na conta do cliente final. Template rejeitado pesa na qualidade do número.- Credenciais no
GET. O JSON lido tem chaves e URLs preenchidas. Trate como segredo. - Endereço preenchido grava por cima. Uma
urlde webhook noPOSTtroca o endereço do cliente sem pedir confirmação. Campo vazio não grava, com uma exceção: no blocolangchain, a chave do modelo (model.api_key) e a do LangSmith (settings.tracing.api_key) só são preservadas quando o campo está ausente. Mandar""grava vazio e o agente para de responder. Devolva o valor lido noGETou tire o campo; nunca mande""nem um texto de exemplo.
Para saber mais
- Como uma escrita funciona
- Referência do template
- O MCP da Zatten: ferramentas
- Sobrescrever x atualizar um projeto por template
- Versões e publicação do agente
- Termos para buscar: “Bearer token”, “partial update REST”, “optimistic concurrency revision”.