API

Como evitar roteiros duplicados

Gere o UUID do roteiro no cliente para repetir criações com segurança.

Se a conexão cai depois de enviar um POST /api/v1/scripts, você não sabe se o roteiro foi criado. Repetir a chamada sem cuidado pode gerar uma cópia.

A solução: envie seu próprio id

Gere um UUID antes da primeira tentativa e reutilize-o em todas as repetições:

const id = crypto.randomUUID();

async function createOnce() {
  const response = await fetch("https://livetp.app/api/v1/scripts", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.LIVETP_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ id, title: "Episódio 13", content: "...", status: "draft" }),
  });
  if (response.status === 409) {
    // Já foi criado numa tentativa anterior: busque o roteiro.
    return fetch(`https://livetp.app/api/v1/scripts/${id}`, {
      headers: { Authorization: `Bearer ${process.env.LIVETP_API_KEY}` },
    });
  }
  return response;
}
  • A primeira chamada que chegar ao servidor cria o roteiro (201).
  • As repetições recebem 409 conflict, sem duplicar.
  • Para recuperar o roteiro, consulte GET /api/v1/scripts/{id}.

O mesmo vale para a ferramenta MCP create_script, que aceita o parâmetro id.

O 409 é o mesmo para um ID que pertence a outra conta, mas nesse caso a leitura retorna 404. Use sempre UUIDs aleatórios (versão 4) para evitar colisões.