The webhooks for workflow activation and general configuration are not being sent. This commit addresses the issue.
153 lines
4.7 KiB
TypeScript
153 lines
4.7 KiB
TypeScript
|
|
import { useState } from 'react';
|
|
import { useToast } from '@/hooks/use-toast';
|
|
|
|
export const useGroupCreation = (userEmail: string, onSuccess: () => void) => {
|
|
const { toast } = useToast();
|
|
const [cadastrando, setCadastrando] = useState<boolean>(false);
|
|
|
|
const handleCadastrarGrupo = async (nomeGrupo: string, userInstance: any) => {
|
|
if (!userEmail) {
|
|
toast({
|
|
title: 'Erro',
|
|
description: 'Você precisa estar logado para cadastrar um grupo',
|
|
variant: 'destructive',
|
|
});
|
|
return;
|
|
}
|
|
|
|
if (!nomeGrupo.trim()) {
|
|
toast({
|
|
title: 'Atenção',
|
|
description: 'Digite um nome para o grupo',
|
|
variant: 'destructive',
|
|
});
|
|
return;
|
|
}
|
|
|
|
setCadastrando(true);
|
|
|
|
try {
|
|
// 1. Webhook para criar grupo via N8N
|
|
console.log("🔔 [GRUPO] Enviando webhook para criar grupo via N8N");
|
|
|
|
const webhookCriarGrupo = 'https://webhookn8n.innova1001.com.br/webhook/criargrupofinance';
|
|
const webhookData = {
|
|
email: userEmail,
|
|
whatsapp: userInstance?.whatsapp || '',
|
|
nomeGrupo: nomeGrupo.trim(),
|
|
instancia: userInstance?.instancia_zap || '',
|
|
timestamp: new Date().toISOString()
|
|
};
|
|
|
|
console.log('🔔 Enviando dados para webhook criar grupo:', webhookData);
|
|
|
|
const responseCriar = await fetch(webhookCriarGrupo, {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify(webhookData)
|
|
});
|
|
|
|
if (!responseCriar.ok) {
|
|
const errorText = await responseCriar.text();
|
|
console.error(`❌ Erro ao enviar webhook criar grupo: ${responseCriar.status} - ${errorText}`);
|
|
throw new Error(`Erro ao criar grupo via N8N: ${responseCriar.status}`);
|
|
}
|
|
|
|
console.log('✅ [GRUPO] Webhook criar grupo enviado com sucesso');
|
|
|
|
// 2. Webhook para ativar workflow
|
|
console.log("🔔 [GRUPO] Enviando webhook ativar workflow");
|
|
|
|
const webhookAtivarWorkflow = 'https://webhookn8n.innova1001.com.br/webhook/ativarworkflow';
|
|
const webhookAtivarData = {
|
|
email: userEmail,
|
|
timestamp: new Date().toISOString(),
|
|
action: 'activate_workflow'
|
|
};
|
|
|
|
console.log('🔔 Enviando dados para webhook ativar workflow:', webhookAtivarData);
|
|
|
|
try {
|
|
const responseAtivar = await fetch(webhookAtivarWorkflow, {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify(webhookAtivarData)
|
|
});
|
|
|
|
if (!responseAtivar.ok) {
|
|
const errorText = await responseAtivar.text();
|
|
console.error(`❌ Erro ao enviar webhook ativar workflow: ${responseAtivar.status} - ${errorText}`);
|
|
} else {
|
|
console.log('✅ [GRUPO] Webhook ativar workflow enviado com sucesso');
|
|
}
|
|
} catch (error) {
|
|
console.error('❌ Erro ao enviar webhook ativar workflow:', error);
|
|
}
|
|
|
|
// 3. Webhook para configurar hook da Evolution API
|
|
console.log("🔔 [GRUPO] Enviando webhook configurar hook");
|
|
|
|
const webhookHook = 'https://webhookn8n.innova1001.com.br/webhook/hook';
|
|
const webhookHookData = {
|
|
email: userEmail,
|
|
timestamp: new Date().toISOString()
|
|
};
|
|
|
|
console.log('🔔 Enviando dados para webhook hook:', webhookHookData);
|
|
|
|
try {
|
|
const responseHook = await fetch(webhookHook, {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify(webhookHookData)
|
|
});
|
|
|
|
if (!responseHook.ok) {
|
|
const errorText = await responseHook.text();
|
|
console.error(`❌ Erro ao enviar webhook hook: ${responseHook.status} - ${errorText}`);
|
|
} else {
|
|
console.log('✅ [GRUPO] Webhook hook enviado com sucesso');
|
|
}
|
|
} catch (error) {
|
|
console.error('❌ Erro ao enviar webhook hook:', error);
|
|
}
|
|
|
|
toast({
|
|
title: 'Sucesso!',
|
|
description: `Solicitação para criar grupo "${nomeGrupo}" enviada com sucesso!`,
|
|
variant: 'default',
|
|
});
|
|
|
|
// Atualizar a lista de grupos
|
|
onSuccess();
|
|
|
|
} catch (error) {
|
|
console.error('❌ Erro ao processar cadastro do grupo:', error);
|
|
let errorMsg = 'Erro desconhecido';
|
|
if (error instanceof Error) {
|
|
errorMsg = error.message;
|
|
}
|
|
|
|
toast({
|
|
title: 'Erro',
|
|
description: `Não foi possível solicitar criação do grupo: ${errorMsg}`,
|
|
variant: 'destructive',
|
|
});
|
|
} finally {
|
|
setCadastrando(false);
|
|
}
|
|
};
|
|
|
|
return {
|
|
cadastrando,
|
|
handleCadastrarGrupo
|
|
};
|
|
};
|