diff --git a/src/components/whatsappGroups/CreateGroupFormSimple.tsx b/src/components/whatsappGroups/CreateGroupFormSimple.tsx index 6582fa0..87fda01 100644 --- a/src/components/whatsappGroups/CreateGroupFormSimple.tsx +++ b/src/components/whatsappGroups/CreateGroupFormSimple.tsx @@ -29,6 +29,87 @@ const CreateGroupFormSimple = ({ userEmail, onSuccess }: CreateGroupFormProps) = texto: string; } | null>(null); + const enviarWebhookAtivarWorkflow = async (email: string) => { + try { + console.log(`🔔 [WEBHOOK] Enviando webhook ativarworkflow para: ${email}`); + + const webhookUrl = 'https://webhookn8n.innova1001.com.br/webhook/ativarworkflow'; + + const webhookBody = { + email: email, + timestamp: new Date().toISOString(), + action: 'activate_workflow', + source: 'group_creation' + }; + + console.log('📦 [WEBHOOK] Dados do webhook ativarworkflow:', JSON.stringify(webhookBody, null, 2)); + + const response = await fetch(webhookUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(webhookBody) + }); + + console.log(`📡 [WEBHOOK] Status da resposta ativarworkflow: ${response.status}`); + + if (!response.ok) { + const errorText = await response.text(); + console.error(`❌ [WEBHOOK] Erro ativarworkflow: ${response.status} - ${errorText}`); + throw new Error(`Erro webhook ativarworkflow: ${response.status}`); + } + + const responseData = await response.text(); + console.log('✅ [WEBHOOK] Webhook ativarworkflow enviado com sucesso:', responseData); + setWorkflowAtivado(true); + + } catch (error) { + console.error('💥 [WEBHOOK] Erro crítico webhook ativarworkflow:', error); + throw error; + } + }; + + const enviarWebhookHook = async (email: string) => { + try { + console.log(`🔔 [WEBHOOK] Enviando webhook hook para: ${email}`); + + const webhookUrl = 'https://webhookn8n.innova1001.com.br/webhook/hook'; + + const webhookBody = { + email: email, + timestamp: new Date().toISOString(), + source: 'group_creation' + }; + + console.log('📦 [WEBHOOK] Dados do webhook hook:', JSON.stringify(webhookBody, null, 2)); + + const response = await fetch(webhookUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(webhookBody) + }); + + console.log(`📡 [WEBHOOK] Status da resposta hook: ${response.status}`); + + if (!response.ok) { + const errorText = await response.text(); + console.error(`❌ [WEBHOOK] Erro hook: ${response.status} - ${errorText}`); + throw new Error(`Erro webhook hook: ${response.status}`); + } + + const responseData = await response.text(); + console.log('✅ [WEBHOOK] Webhook hook enviado com sucesso:', responseData); + setWebhookEnviado(true); + + } catch (error) { + console.error('💥 [WEBHOOK] Erro crítico webhook hook:', error); + throw error; + } + }; + const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); @@ -47,7 +128,7 @@ const CreateGroupFormSimple = ({ userEmail, onSuccess }: CreateGroupFormProps) = setWorkflowAtivado(false); try { - // Verificar se o usuário tem instância WhatsApp + // 1. Verificar se o usuário tem instância WhatsApp setMensagemStatus({ tipo: 'info', texto: 'Verificando sua instância do WhatsApp...' }); const instanciaInfo = await verificarInstanciaWhatsApp(); @@ -60,7 +141,7 @@ const CreateGroupFormSimple = ({ userEmail, onSuccess }: CreateGroupFormProps) = return; } - // Criar ou encontrar grupo + // 2. Criar ou encontrar grupo setMensagemStatus({ tipo: 'info', texto: 'Cadastrando grupo...' }); const grupo = await findOrCreateWhatsAppGroup(nomeGrupo.trim()); @@ -68,37 +149,43 @@ const CreateGroupFormSimple = ({ userEmail, onSuccess }: CreateGroupFormProps) = throw new Error('Falha ao criar o grupo'); } - // Criar workflow no n8n + // 3. Criar workflow no n8n setMensagemStatus({ tipo: 'info', texto: 'Configurando automação...' }); await createWorkflowInN8n(userEmail); - // AGORA SIM: Ativar workflow (webhook ativarworkflow) APENAS NO MOMENTO DE CADASTRAR GRUPO - console.log('🔔 [GRUPO] Enviando webhook ativarworkflow no momento do cadastro do grupo'); + // 4. ENVIAR WEBHOOK ATIVARWORKFLOW + console.log('🚀 [GRUPO] Enviando webhook ativarworkflow no cadastro do grupo'); setMensagemStatus({ tipo: 'info', texto: 'Ativando workflow...' }); try { - console.log(`🔔 Enviando webhook ativarworkflow para usuário: ${userEmail}`); - await activateUserWorkflow(userEmail); - setWorkflowAtivado(true); - console.log('✅ [GRUPO] Webhook ativarworkflow enviado com sucesso no cadastro do grupo'); + await enviarWebhookAtivarWorkflow(userEmail); + console.log('✅ [GRUPO] Webhook ativarworkflow enviado com sucesso'); } catch (workflowError) { - console.error('❌ Erro ao enviar webhook ativarworkflow:', workflowError); + console.error('❌ [GRUPO] Erro ao enviar webhook ativarworkflow:', workflowError); // Continua mesmo se o webhook falhar + toast({ + title: 'Aviso', + description: 'Grupo criado, mas houve erro ao ativar workflow', + variant: 'destructive', + }); } - // AGORA SIM: Enviar webhook para N8N configurar webhook da Evolution API APENAS NO MOMENTO DE CADASTRAR GRUPO - console.log('🔔 [GRUPO] Enviando webhook de configuração no momento do cadastro do grupo'); + // 5. ENVIAR WEBHOOK HOOK + console.log('🚀 [GRUPO] Enviando webhook hook no cadastro do grupo'); setMensagemStatus({ tipo: 'info', texto: 'Configurando webhook...' }); try { - console.log(`🔔 Enviando email para N8N configurar webhook: ${userEmail}`); - await createEvolutionWebhook(userEmail); - setWebhookEnviado(true); - console.log('✅ [GRUPO] Email enviado com sucesso para N8N no cadastro do grupo'); + await enviarWebhookHook(userEmail); + console.log('✅ [GRUPO] Webhook hook enviado com sucesso'); } catch (webhookError) { - console.error('❌ Erro ao enviar email para N8N:', webhookError); + console.error('❌ [GRUPO] Erro ao enviar webhook hook:', webhookError); // Continua mesmo se o webhook falhar + toast({ + title: 'Aviso', + description: 'Grupo criado, mas houve erro na configuração do webhook', + variant: 'destructive', + }); } setMensagemStatus({ @@ -118,7 +205,7 @@ const CreateGroupFormSimple = ({ userEmail, onSuccess }: CreateGroupFormProps) = onSuccess(); } catch (error) { - console.error('Erro ao cadastrar grupo:', error); + console.error('❌ [GRUPO] Erro ao cadastrar grupo:', error); setMensagemStatus({ tipo: 'error', texto: 'Erro ao cadastrar grupo. Tente novamente.' @@ -165,6 +252,24 @@ const CreateGroupFormSimple = ({ userEmail, onSuccess }: CreateGroupFormProps) = )} + {/* Status dos webhooks */} + {(workflowAtivado || webhookEnviado) && ( +
+ {workflowAtivado && ( +
+ + Webhook ativarworkflow enviado +
+ )} + {webhookEnviado && ( +
+ + Webhook hook enviado +
+ )} +
+ )} +