Portais no navegador
No plano Empresas, o agente trabalha nas páginas de um portal, como um ERP, logado como você, sem ver a sua senha.
No plano Empresas, o agente trabalha nas páginas de um portal que a empresa usa, como o Bling, o Sankhya ou um ERP regional: lê listas e tabelas, clica, preenche e escolhe, logado como você. Você entra no portal uma vez, numa página da Siglata, com a sua senha e os seus códigos; o agente nunca os vê. A Kernel, fornecedora de navegadores da Siglata, guarda a sessão e entra de novo sozinha quando ela expira.
Estas ferramentas ainda não são oferecidas em www.siglata.com: elas abrem quando a política de privacidade e os termos da Siglata as cobrirem.
Conectar um portal
Peça ao agente, por exemplo: “conecte o Bling”. Ele chama portal_connect com o domínio do portal ou qualquer link para ele:
return await portal_connect({ domain: "bling.com.br" });
A resposta traz um link para a página de conexão da Siglata. Abra-o, confirme que você pode automatizar essa conta e entre no portal na página da Kernel. Quando o login termina, a página mostra que o portal está conectado. Bancos, redes sociais e o login gov.br são recusados.
A conexão é sua: só você a usa. Um proprietário ou administrador conecta o portal da empresa com visibility: "org", e ele serve a todo membro que não tem uma conexão própria com aquele domínio. Para deixar membros ou equipes específicos entrarem de novo ou desconectarem o portal da empresa, conceda escrita com grant_set e o connectionId que portal_list mostra.
portal_list mostra as conexões que você vê e o status atual: authenticated (pronta), connecting (alguém está entrando) ou needs_auth (mande o url para a pessoa entrar de novo). portal_disconnect exclui a sessão que a Kernel guarda, o login guardado e as concessões.
Trabalhar nas páginas
portal_open abre um navegador no portal, já logado, e lê a página: a árvore de acessibilidade (papéis e nomes dos elementos) e as tabelas visíveis, linha por linha.
const { sessionId, page } = await portal_open({
domain: "bling.com.br",
url: "https://www.bling.com.br/produtos",
});
Na mesma sessão, portal_read lê de novo a página ou vai a outra página do portal, e portal_act clica, preenche ou escolhe um elemento pelo papel e nome que a página mostra:
return await portal_act({
sessionId,
action: { kind: "fill", role: "textbox", name: "Pesquisar", value: "caneta" },
});
O agente nunca digita num campo de senha e para em qualquer link que saia do domínio do portal. A sessão dura 15 minutos.
Guardar e repetir um roteiro
portal_close fecha a sessão e devolve os passos que funcionaram como um roteiro (script). O agente o guarda numa skill da empresa para repetir o trabalho depois:
portal_runroda numa chamada um roteiro só de navegação (goto) e lê a última página.portal_run_writeroda um roteiro que clica, preenche ou escolhe em duas chamadas. A primeira guarda os passos e devolve umaconfirmation; o agente mostra o que os passos farão e, só depois que você concorda, chama de novo com aconfirmation, que roda exatamente esses passos uma vez. A confirmação vale 10 minutos.
Créditos e logins expirados
O tempo de navegador é cobrado dos créditos da organização; sem créditos, as ferramentas falham com CREDITS_EXHAUSTED antes de abrir o navegador. Se o portal pedir login de novo e a Kernel não conseguir entrar sozinha, a ferramenta falha com PORTAL_NEEDS_LOGIN e o link para você entrar.
Para logins que um script na sua máquina usa, veja Acessos a portais.