Criar uma nova task é similar a fazer uma chamada para um Canvas, no lugar de passar um canvas_id, você deve passar o seu application_id.Vá até a página do seu Workstation App e siga estes passos:
1
Open Connect via API
Na barra do topo, clique no botão com três pontinhos do lado direito do título do seu app e selecione “Connect via API”.
2
Get your app data
Aqui você vai encontrar toda a informação necessária para começar a criar novas task via API. Escolha a sua linguagem de preferência e use um dos snippets de código pra começar a integrar!
Por padrão, todas as tasks são criadas como se fossem completions assíncronas. Você receberá uma resposta com o status de success e a task criada terá o status de running. Você tem duas opções para consumir o resultado de uma task:
Você pode realizar um polling simples de uma task até que seu status mude para completed ou failed. Para obter o status de uma task depois de criá-la podemos enviar um request para o endpoitn /task da API.
Você pode passar uma webhook_url na sua chamada de API. Desse forma o endpoit que você passou vai receber um POST request quando a execução da task terminar.
Quando uma task é concluída, seu endpoint de webhook receberá uma requisição POST com a seguinte estrutura:
{ "id": "b83b1558-de5b-4e45-b517-7bececbdd154", "status": "succeeded", "input_content": { "variables": { "document": { "file_url": "https://example.com/document.pdf" } }, "messages": [] }, "output_content": { "role": "assistant", "structured_content": false, "content": { "fileSummary": "Este documento contém relatórios financeiros trimestrais mostrando um aumento de 15% na receita em comparação com o último trimestre, com destaques em melhorias de eficiência operacional e expansão de mercado na região APAC." } }, "raw_input": { "application_id": "95cec438-6080-44fe-8275-28b16bd40178", "variables": { "document": { "file_url": "https://example.com/document.pdf" } }, "webhook_url": "https://example.com/webhook" }, "raw_output": { "fileSummary": "Este documento contém relatórios financeiros trimestrais mostrando um aumento de 15% na receita em comparação com o último trimestre, com destaques em melhorias de eficiência operacional e expansão de mercado na região APAC." }, "compatibility_date": "2024-10-14", "prompt_version_id": "76065caa-c519-441a-8fe2-cc43e29664ab", "prompt_application_id": "95cec438-6080-44fe-8275-28b16bd40178", "workspace_id": "3f55cfd9-4427-4887-a181-d9ad39967802", "created_at": "2024-10-14T19:00:53.664Z", "updated_at": "2024-10-14T19:01:15.892Z"}
Campos principais na resposta do webhook:
status: Pode ser “created”, “running”, “succeeded” ou “failed”
input_content: Contém as variáveis e mensagens enviadas na requisição
output_content: Contém a saída estruturada do seu Canvas, correspondendo ao schema de saída definido
raw_output: Os dados de saída brutos no formato definido pelos outputs do seu Canvas
Para listar as tasks de um app você pode enviar um GET request pro endpoint /task. Esse endpoint suporta alguns parâmetros opicionais para filtrar e paginar seus resultados:
Aqui está o exemplo de um request listando 50 tasks com o status “completed” criadas depois do dia 1 de Novembro de 2024, ordenas em ordem crescente pelo nome: