Guias rápidos
Python
Integre o LiveTP a scripts e serviços Python com httpx ou requests.
Pré-requisitos
- Python 3.9 ou superior.
- Uma chave de API disponível em
LIVETP_API_KEY.
pip install httpx1. Crie um cliente
import os
import httpx
client = httpx.Client(
base_url="https://livetp.app/api/v1",
headers={"Authorization": f"Bearer {os.environ['LIVETP_API_KEY']}"},
timeout=15,
)
class LiveTPError(Exception):
def __init__(self, status: int, error: dict):
super().__init__(error["message"])
self.status = status
self.code = error["code"]
self.details = error.get("details")
def request(method: str, path: str, **kwargs) -> dict:
response = client.request(method, path, **kwargs)
data = response.json()
if response.is_error:
raise LiveTPError(response.status_code, data["error"])
return data2. Crie um roteiro
import uuid
from livetp import request
script = request(
"POST",
"/scripts",
json={
"id": str(uuid.uuid4()), # repetir com o mesmo id não duplica
"title": "Aula 3: funções",
"content": "Nesta aula vamos entender o que é uma função...",
"status": "draft",
},
)["script"]3. Busque roteiros
page = request("GET", "/scripts/library", params={"query": "aula", "limit": 50})
for item in page["scripts"]:
print(item["title"], item["status"])Enquanto hasMore for true, repita a chamada com offset=nextOffset. Veja Paginação.
4. Atualize o status
from livetp import LiveTPError, request
current = request("GET", f"/scripts/{script_id}")["script"]
try:
request(
"PUT",
f"/scripts/{script_id}",
json={
"title": current["title"],
"content": current["content"],
"status": "review",
"expectedRevision": current["revision"],
},
)
except LiveTPError as error:
if error.code == "conflict":
latest = error.details["current"] # versão salva no servidorTratando limites
Em 429, aguarde o valor de Retry-After (60 segundos) antes de tentar de novo:
import time
try:
request("GET", "/scripts/library")
except LiveTPError as error:
if error.status == 429:
time.sleep(60)