Fix: Ensure n8n workflow creation
The code was updated to create the n8n workflow when the "Cadastrar Grupo" button is pressed. It now makes a POST request to the n8n API with the user's email in the request body.
This commit is contained in:
parent
9d6319c1b3
commit
84b22ae8bd
@ -67,17 +67,19 @@ const GruposWhatsApp = () => {
|
|||||||
|
|
||||||
if (novoGrupo) {
|
if (novoGrupo) {
|
||||||
let successMessage = 'Grupo registrado com sucesso';
|
let successMessage = 'Grupo registrado com sucesso';
|
||||||
|
let variant: 'default' | 'destructive' = 'default';
|
||||||
|
|
||||||
if (novoGrupo.workflow_id) {
|
if (novoGrupo.workflow_id) {
|
||||||
successMessage += '. Workflow criado com sucesso no n8n!';
|
successMessage = 'Grupo cadastrado e workflow criado com sucesso!';
|
||||||
} else {
|
} else {
|
||||||
successMessage = 'Grupo cadastrado, mas falha ao criar workflow de automação.';
|
successMessage = 'Grupo cadastrado, mas falha ao criar workflow de automação.';
|
||||||
|
variant = 'destructive';
|
||||||
}
|
}
|
||||||
|
|
||||||
toast({
|
toast({
|
||||||
title: 'Sucesso',
|
title: novoGrupo.workflow_id ? 'Sucesso' : 'Atenção',
|
||||||
description: successMessage,
|
description: successMessage,
|
||||||
variant: novoGrupo.workflow_id ? 'default' : 'destructive',
|
variant: variant,
|
||||||
});
|
});
|
||||||
|
|
||||||
// Atualizar a lista de grupos
|
// Atualizar a lista de grupos
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
import { supabase } from "@/integrations/supabase/client";
|
import { supabase } from "@/integrations/supabase/client";
|
||||||
import { WhatsAppGroup } from "@/types/financialTypes";
|
import { WhatsAppGroup } from "@/types/financialTypes";
|
||||||
|
|
||||||
@ -43,13 +42,15 @@ export async function cadastrarGrupoWhatsApp(): Promise<WhatsAppGroup | null> {
|
|||||||
try {
|
try {
|
||||||
const workflowResponse = await createWorkflowInN8n(normalizedEmail);
|
const workflowResponse = await createWorkflowInN8n(normalizedEmail);
|
||||||
|
|
||||||
|
console.log("Resposta completa do n8n:", workflowResponse);
|
||||||
|
|
||||||
if (workflowResponse && workflowResponse.id) {
|
if (workflowResponse && workflowResponse.id) {
|
||||||
// Atualizar o objeto com o workflow_id
|
// Atualizar o objeto com o workflow_id
|
||||||
await atualizarWorkflowId(newGroup.id, workflowResponse.id);
|
await atualizarWorkflowId(newGroup.id, workflowResponse.id);
|
||||||
newGroup.workflow_id = workflowResponse.id;
|
newGroup.workflow_id = workflowResponse.id;
|
||||||
console.log('Workflow criado com sucesso no n8n:', workflowResponse.id);
|
console.log('Workflow criado com sucesso no n8n:', workflowResponse.id);
|
||||||
} else {
|
} else {
|
||||||
console.log('Resposta do n8n não contém ID de workflow válido');
|
console.log('Resposta do n8n não contém ID de workflow válido:', workflowResponse);
|
||||||
}
|
}
|
||||||
} catch (n8nError) {
|
} catch (n8nError) {
|
||||||
console.error('Erro ao criar workflow no n8n:', n8nError);
|
console.error('Erro ao criar workflow no n8n:', n8nError);
|
||||||
@ -69,6 +70,13 @@ async function createWorkflowInN8n(email: string): Promise<{ id: string } | null
|
|||||||
try {
|
try {
|
||||||
console.log(`Criando workflow no n8n para o email: ${email}`);
|
console.log(`Criando workflow no n8n para o email: ${email}`);
|
||||||
|
|
||||||
|
// Nome do workflow formatado corretamente
|
||||||
|
const workflowName = `Workflow Home Finance - ${email}`;
|
||||||
|
console.log(`Nome do workflow: ${workflowName}`);
|
||||||
|
|
||||||
|
// Verificação de CORS
|
||||||
|
console.log("Iniciando requisição para n8n...");
|
||||||
|
|
||||||
const response = await fetch('https://n8n.innova1001.com.br/api/v1/workflows', {
|
const response = await fetch('https://n8n.innova1001.com.br/api/v1/workflows', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
@ -76,13 +84,15 @@ async function createWorkflowInN8n(email: string): Promise<{ id: string } | null
|
|||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
name: `Workflow Home Finance - ${email}`,
|
name: workflowName,
|
||||||
nodes: [],
|
nodes: [],
|
||||||
connections: {},
|
connections: {},
|
||||||
settings: {}
|
settings: {}
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log("Status da resposta n8n:", response.status);
|
||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
const errorText = await response.text();
|
const errorText = await response.text();
|
||||||
console.error(`Erro ao criar workflow: Status ${response.status}`, errorText);
|
console.error(`Erro ao criar workflow: Status ${response.status}`, errorText);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user