Descrição do Projeto:
Sou responsável pela Gusta Coins e procuro um desenvolvedor experiente para parceria recorrente. Após este projeto, teremos outras automações.
OBJETIVO
Criar um bot/serviço para o EA SPORTS FC Ultimate Team Web App:
https://www.ea.com/pt-br/ea-sports-fc/ultimate-team/web-app/
Acionado pelo n8n via HTTP, o bot deverá acessar a conta EA, pesquisar jogadores no mercado, validar as cartas encontradas e enviar o lance na carta correta.
DADOS RECEBIDOS
Cada pedido terá obrigatoriamente um pedido_id único e poderá conter:
- E-mail e senha da conta EA;
- Até 6 códigos de login/verificação, normalmente 3;
- Nome do jogador;
- Raridade/versão da carta;
- Overall, quando informado;
- Preço mínimo e máximo;
- Valor mínimo e máximo de "Comprar já";
- Valor exato autorizado para o lance;
- Tempo restante esperado, em minutos;
- Margem de tempo, normalmente -5/+5 minutos;
- URL de callback do n8n.
FLUXO
1. Validar os dados, abrir uma sessão isolada e fazer login;
2. Acessar "Transferências" e "Pesquisar no mercado";
3. Pesquisar o jogador com os filtros recebidos;
4. Percorrer os resultados e abrir a biografia e os detalhes de cada item;
5. Confirmar nome, raridade/versão, overall, preços e demais informações;
6. Aceitar somente cartas dentro da margem. Exemplo: para 30 minutos com margem de 5, aceitar entre 25 e 35 minutos;
7. Registrar o tempo restante e o horário em que cada carta foi localizada.
REGRAS DE RESULTADO
NENHUMA CARTA
Se nenhuma carta atender aos critérios, enviar callback contendo pedido_id, status "recusado", total_encontrados igual a 0 e o motivo. O pedido será encerrado.
UMA CARTA
Se apenas uma carta atender aos critérios, conferir se o anúncio ainda está disponível e se o lance mínimo não ultrapassou o valor autorizado. Estando correto, enviar exatamente o lance informado, sem aumentar o valor automaticamente.
Após a confirmação do Web App, finalizar e retornar pedido_id, status, dados da carta, valor enviado, tempo restante na localização e resultado do lance.
DUAS OU MAIS CARTAS
Se houver duas ou mais cartas válidas, nenhum lance será enviado antes da seleção.
O retorno ao n8n deverá conter:
- pedido_id;
- status "aguardando_selecao";
- total_encontrados;
- Data e horário da busca;
- Lista completa dos candidatos.
Cada carta receberá um candidato_id e deverá conter nome, raridade/versão, overall, lance atual, "Comprar já", tempo restante na busca, biografia, detalhes do item e identificador do anúncio, quando disponível.
Meu n8n/bot analisará os candidatos e enviará nova requisição com pedido_id e candidato_id. Se a análise automática não identificar a carta correta, o pedido ficará pausado para seleção manual.
A requisição HTTP inicial não poderá permanecer aberta. O sistema usará processamento assíncrono, callback e endpoint de retomada. O pedido ficará em "aguardando_selecao" até receber a escolha ou atingir um prazo configurável, pois a carta e a sessão podem expirar.
Após a escolha, o bot deverá recuperar o pedido, localizar o candidato, confirmar que a carta está disponível, verificar novamente o valor e enviar exatamente o lance autorizado. Se a carta expirar, for removida ou o lance mínimo ultrapassar o autorizado, retornar "recusado" com o motivo.
CONTROLE DE DUPLICIDADE
O sistema deverá ser idempotente. O mesmo pedido_id não poderá gerar duas execuções, e o mesmo candidato_id não poderá receber dois lances. Repetições do n8n, falhas de conexão ou callbacks duplicados nunca poderão duplicar um lance.
REQUISITOS TÉCNICOS
- Preferência por Playwright com Node.js;
- API REST, webhooks, callbacks e fila;
- Sessões isoladas e armazenamento do estado dos pedidos;
- Seletores confiáveis e esperas inteligentes, sem coordenadas fixas;
- Execução em servidor/VPS;
- Logs sem expor e-mail, senha ou códigos;
- Credenciais e códigos sem armazenamento permanente;
- Tratamento de login inválido, código expirado, timeout, mercado indisponível, saldo insuficiente, carta expirada e lance recusado ou superado;
- Não faz parte do projeto burlar CAPTCHA, autenticação, bloqueios ou mecanismos de segurança.
ENTREGÁVEIS
Código-fonte completo, API documentada, endpoints para criar, consultar e retomar pedidos, exemplos de requisições e respostas, integração com n8n, Docker ou instruções de instalação, documentação dos status e erros, demonstração e período para correção de bugs.
Na proposta, informe tecnologia e arquitetura, experiência com automação de navegador e autenticação em duas etapas, prazo, valor da prova de conceito, valor da versão de produção e manutenção recorrente.
Neste escopo, "finalizado" significa que o Web App confirmou o envio do lance; não significa que o leilão foi ganho.