Encadear tarefas
O flow.chain junta várias tarefas do KIT numa fila única: a saída de cada passo entra na próxima automaticamente. Ler o XML da nota fiscal, extrair os dados, montar a planilha — três etapas viram uma chamada só, que roda do começo ao fim sem você orquestrar nada no meio.
Esta tarefa não está disponível no momento, portanto não pode ser contratada. Nada é cobrado por ela.
Ver a APIO trabalho que mora entre as ferramentas
Cada ferramenta resolve um pedaço, mas o custo real está na emenda: baixar o resultado de uma, ajustar o formato, subir na próxima, repetir. É o trabalho invisível que come a tarde e onde o erro humano se esconde. Encadear elimina a emenda — você descreve a sequência uma vez e o resultado de cada etapa alimenta a seguinte sem passar pela sua mão. O que era um ritual de copiar e colar vira uma chamada.
Como a fila é montada
Você lista os passos na ordem em que devem rodar e diz que a saída de um é a entrada do próximo. A cadeia executa na sequência: se o passo dois depende do que o passo um produziu, ele espera e recebe pronto. No fim, o resultado da tarefa traz o que saiu da última etapa — e o caminho fica registrado, então dá para conferir onde cada dado passou. Uma linha de montagem, não uma pilha de chamadas soltas.
Quando um passo tropeça
Numa fila, o que vem depois depende do que veio antes — então um passo que falha para a cadeia ali, sem produzir um resultado pela metade. O erro aparece com o ponto exato onde parou, não como um silêncio. Para etapas que dependem de terceiros e podem falhar por azar de rede, vale combinar a cadeia com a nova tentativa automática, que refaz o passo antes de desistir. Assim a sequência só para quando o problema é real.
Quanto custa a orquestração
Encadear não tem taxa de chamada própria: você paga a soma dos passos que rodaram mais 20% pela orquestração. Uma cadeia de três tarefas de US$ 0,01 cada custa US$ 0,036 — os US$ 0,03 dos passos e US$ 0,006 pela costura. O preço é por uso e sai da conta de cada etapa, então dá para prever o custo da sequência antes de montá-la. Sem assinatura no meio.
Casos de uso
XML de nota fiscal vira planilha
A TecnoSul Soluções Digitais recebe dezenas de XMLs de nota fiscal por mês. Uma cadeia lê o XML, extrai os dados e monta a planilha que o contador pede — o que Márcia Regina Oliveira fazia à mão, arquivo por arquivo, agora sai numa chamada.
Pedido vira documento enviado
Uma loja transforma cada pedido em documento: a cadeia gera o PDF do pedido, carimba o número e manda por e-mail ao cliente, tudo emendado. Nenhum passo intermediário passa pela mão de ninguém.
Da página web ao PDF final
Rafael Almeida Costa monta relatórios a partir de páginas web: a cadeia lê a página, resume o conteúdo e gera o PDF final, na ordem, sem ele abrir três ferramentas.
Comprovantes de entrega consolidados
A Distribuidora Horizonte Verde junta comprovantes de entrega: a cadeia lê cada imagem, extrai data e valor e consolida tudo numa planilha única para o fechamento do dia.
Perguntas frequentes
O que passa de um passo para o outro?
A saída de um passo entra como entrada do próximo. Se a etapa um extrai dados da nota fiscal, a etapa dois já recebe esses dados prontos — você não baixa nem reenvia nada no meio.
E se um passo da cadeia falhar?
A cadeia para naquele ponto, sem entregar um resultado pela metade, e o erro mostra onde parou. Para falhas de rede, dá para combinar com a nova tentativa automática, que refaz o passo antes de desistir.
Quanto custa uma sequência?
A soma dos passos que rodaram mais 20% pela orquestração. Três tarefas de US$ 0,01 dão US$ 0,036. Sem taxa fixa de chamada e sem assinatura — você paga o que a cadeia executou.
Dá para misturar tarefas de tipos diferentes na mesma cadeia?
Dá: ler um arquivo, extrair dados, gerar um PDF e mandar um e-mail podem morar na mesma sequência. A cadeia não liga para o tipo de cada passo, só para a ordem.
Meus dados ficam guardados entre os passos?
O que trafega de um passo a outro é processado para a cadeia rodar e serve só para isso. O resultado final volta para você; o registro de longo prazo é do seu sistema, não nosso.
Consigo usar isso no sistema da minha empresa?
Sim — a cadeia é uma chamada de API com preço publicado, feita para entrar no seu sistema. A compra é direta, via PayPal em dólar, sem cadastro.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
One authenticated POST creates the task; the result comes back by webhook or a signed link. This capability is currently available through the API, not as an interactive Web tool.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/flow/chain \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"steps":[{"type":"pdf.from_html","input":{"html":"<h1>Hi</h1>"}},{"type":"pdf.compress"}]}'const res = await fetch("https://api.kit.forhosting.com/flow/chain", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"steps": [
{
"type": "pdf.from_html",
"input": {
"html": "<h1>Hi</h1>"
}
},
{
"type": "pdf.compress"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/flow/chain",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"steps": [
{
"type": "pdf.from_html",
"input": {
"html": "<h1>Hi</h1>"
}
},
{
"type": "pdf.compress"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/flow/chain", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"steps":[{"type":"pdf.from_html","input":{"html":"<h1>Hi</h1>"}},{"type":"pdf.compress"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"steps":[{"type":"pdf.from_html","input":{"html":"<h1>Hi</h1>"}},{"type":"pdf.compress"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/flow/chain", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"steps": [
{
"type": "pdf.from_html",
"input": {
"html": "<h1>Hi</h1>"
}
},
{
"type": "pdf.compress"
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "flow.chain",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |