Comece aqui
Exemplos de integração
Exemplos em cURL, Node.js, Python e Power BI.
Troque tf_live_SUA_CHAVE pela chave gerada no painel. Nunca publique a chave em repositório ou em código que roda no navegador.
curl "https://api.takeflow.com.br/public/v1/reports/overview?initialDate=2026-09-01&finalDate=2026-09-30" \ -H "x-api-key: tf_live_SUA_CHAVE"Node.js 18+ (todas as páginas do relatório detalhado)
Seção intitulada “Node.js 18+ (todas as páginas do relatório detalhado)”const API_KEY = process.env.TAKEFLOW_API_KEY;const BASE_URL = "https://api.takeflow.com.br/public/v1";
async function listarTickets(initialDate, finalDate) { const tickets = []; let page = 1; let totalPages = 1;
do { const url = new URL(`${BASE_URL}/reports/tickets/detailed`); url.search = new URLSearchParams({ initialDate, finalDate, limit: "200", page: String(page) });
const response = await fetch(url, { headers: { "x-api-key": API_KEY } }); if (response.status === 429) { const wait = Number(response.headers.get("retry-after") ?? 60); await new Promise((resolve) => setTimeout(resolve, wait * 1000)); continue; } if (!response.ok) { const error = await response.json(); throw new Error(`${response.status} ${error.code}: ${error.message}`); }
const body = await response.json(); tickets.push(...body.tickets); totalPages = body.totalPages; page += 1; } while (page <= totalPages);
return tickets;}
listarTickets("2026-09-01", "2026-09-30").then((tickets) => console.log(`${tickets.length} tickets`),);Python 3 (biblioteca padrão)
Seção intitulada “Python 3 (biblioteca padrão)”import jsonimport osimport urllib.parseimport urllib.request
API_KEY = os.environ["TAKEFLOW_API_KEY"]BASE_URL = "https://api.takeflow.com.br/public/v1"
params = urllib.parse.urlencode({"initialDate": "2026-09-01", "finalDate": "2026-09-30"})request = urllib.request.Request( f"{BASE_URL}/reports/agents?{params}", headers={"x-api-key": API_KEY},)with urllib.request.urlopen(request) as response: for agent in json.load(response): print(agent["userName"], agent["tickets"], agent["avgSupportTimeMinutes"])Power BI (Power Query M)
Seção intitulada “Power BI (Power Query M)”Em Obter dados > Consulta em branco > Editor avançado:
let Chave = "tf_live_SUA_CHAVE", Pagina = (numero as number) => Json.Document( Web.Contents( "https://api.takeflow.com.br", [ RelativePath = "public/v1/reports/tickets/detailed", Headers = [#"x-api-key" = Chave], Query = [ initialDate = "2026-09-01", finalDate = "2026-09-30", limit = "200", page = Number.ToText(numero) ] ] ) ), Primeira = Pagina(1), Paginas = List.Transform({1..Primeira[totalPages]}, each if _ = 1 then Primeira else Pagina(_)), Tickets = List.Combine(List.Transform(Paginas, each _[tickets])), Tabela = Table.FromRecords(Tickets)in TabelaUse RelativePath e Query como acima: com a URL completa montada à mão, o Power BI Service não consegue agendar a atualização.