Fix: Resolve group registration error
Investigate and fix the "Não foi possível registrar o grupo" error, likely related to n8n workflow creation. Check API key and other potential causes.
This commit is contained in:
parent
aae413643d
commit
e5dbce2562
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
import { useState, useEffect } from 'react';
|
import { useState, useEffect } from 'react';
|
||||||
import Layout from '@/components/layout/Layout';
|
import Layout from '@/components/layout/Layout';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
@ -8,6 +9,7 @@ import { Loader2, Plus, RefreshCw, MessageSquare } from 'lucide-react';
|
|||||||
import { cadastrarGrupoWhatsApp, listarGruposWhatsApp } from '@/services/gruposWhatsAppService';
|
import { cadastrarGrupoWhatsApp, listarGruposWhatsApp } from '@/services/gruposWhatsAppService';
|
||||||
import { WhatsAppGroup } from '@/types/financialTypes';
|
import { WhatsAppGroup } from '@/types/financialTypes';
|
||||||
import { useToast } from '@/hooks/use-toast';
|
import { useToast } from '@/hooks/use-toast';
|
||||||
|
import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert';
|
||||||
|
|
||||||
const GruposWhatsApp = () => {
|
const GruposWhatsApp = () => {
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
@ -15,10 +17,12 @@ const GruposWhatsApp = () => {
|
|||||||
const [carregando, setCarregando] = useState<boolean>(true);
|
const [carregando, setCarregando] = useState<boolean>(true);
|
||||||
const [cadastrando, setCadastrando] = useState<boolean>(false);
|
const [cadastrando, setCadastrando] = useState<boolean>(false);
|
||||||
const [userEmail, setUserEmail] = useState<string>('');
|
const [userEmail, setUserEmail] = useState<string>('');
|
||||||
|
const [errorMessage, setErrorMessage] = useState<string | null>(null);
|
||||||
|
|
||||||
// Buscar os grupos do usuário ao carregar a página
|
// Buscar os grupos do usuário ao carregar a página
|
||||||
const buscarGrupos = async () => {
|
const buscarGrupos = async () => {
|
||||||
setCarregando(true);
|
setCarregando(true);
|
||||||
|
setErrorMessage(null);
|
||||||
try {
|
try {
|
||||||
const gruposData = await listarGruposWhatsApp();
|
const gruposData = await listarGruposWhatsApp();
|
||||||
setGrupos(gruposData);
|
setGrupos(gruposData);
|
||||||
@ -46,6 +50,8 @@ const GruposWhatsApp = () => {
|
|||||||
|
|
||||||
// Cadastrar novo grupo
|
// Cadastrar novo grupo
|
||||||
const handleCadastrarGrupo = async () => {
|
const handleCadastrarGrupo = async () => {
|
||||||
|
setErrorMessage(null);
|
||||||
|
|
||||||
if (!userEmail) {
|
if (!userEmail) {
|
||||||
toast({
|
toast({
|
||||||
title: 'Erro',
|
title: 'Erro',
|
||||||
@ -77,6 +83,7 @@ const GruposWhatsApp = () => {
|
|||||||
// Atualizar a lista de grupos
|
// Atualizar a lista de grupos
|
||||||
buscarGrupos();
|
buscarGrupos();
|
||||||
} else {
|
} else {
|
||||||
|
setErrorMessage('Não foi possível registrar o grupo. O grupo deve ser criado sempre, mesmo se der erro no n8n.');
|
||||||
toast({
|
toast({
|
||||||
title: 'Erro',
|
title: 'Erro',
|
||||||
description: 'Não foi possível registrar o grupo',
|
description: 'Não foi possível registrar o grupo',
|
||||||
@ -85,6 +92,7 @@ const GruposWhatsApp = () => {
|
|||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Erro ao cadastrar grupo:', error);
|
console.error('Erro ao cadastrar grupo:', error);
|
||||||
|
setErrorMessage('Erro ao cadastrar grupo: ' + (error instanceof Error ? error.message : 'Erro desconhecido'));
|
||||||
toast({
|
toast({
|
||||||
title: 'Erro',
|
title: 'Erro',
|
||||||
description: 'Não foi possível registrar o grupo',
|
description: 'Não foi possível registrar o grupo',
|
||||||
@ -129,6 +137,15 @@ const GruposWhatsApp = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{errorMessage && (
|
||||||
|
<Alert variant="destructive">
|
||||||
|
<AlertTitle>Erro ao cadastrar grupo</AlertTitle>
|
||||||
|
<AlertDescription>
|
||||||
|
{errorMessage}
|
||||||
|
</AlertDescription>
|
||||||
|
</Alert>
|
||||||
|
)}
|
||||||
|
|
||||||
<Card>
|
<Card>
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
<CardTitle>Como cadastrar um grupo</CardTitle>
|
<CardTitle>Como cadastrar um grupo</CardTitle>
|
||||||
|
|||||||
@ -31,7 +31,13 @@ export async function cadastrarGrupoWhatsApp(): Promise<WhatsAppGroup | null> {
|
|||||||
throw new Error('Não foi possível cadastrar o grupo de WhatsApp');
|
throw new Error('Não foi possível cadastrar o grupo de WhatsApp');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!data || data.length === 0) {
|
||||||
|
console.error('Nenhum dado retornado após inserção');
|
||||||
|
throw new Error('Nenhum dado retornado após inserção');
|
||||||
|
}
|
||||||
|
|
||||||
console.log('Grupo WhatsApp cadastrado com sucesso:', data);
|
console.log('Grupo WhatsApp cadastrado com sucesso:', data);
|
||||||
|
const newGroup = data[0];
|
||||||
|
|
||||||
// Criar workflow no n8n
|
// Criar workflow no n8n
|
||||||
try {
|
try {
|
||||||
@ -39,16 +45,18 @@ export async function cadastrarGrupoWhatsApp(): Promise<WhatsAppGroup | null> {
|
|||||||
|
|
||||||
if (workflowResponse && workflowResponse.id) {
|
if (workflowResponse && workflowResponse.id) {
|
||||||
// Atualizar o objeto data com o workflow_id
|
// Atualizar o objeto data com o workflow_id
|
||||||
await atualizarWorkflowId(data[0].id, workflowResponse.id);
|
await atualizarWorkflowId(newGroup.id, workflowResponse.id);
|
||||||
data[0].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 {
|
||||||
|
console.log('Resposta do n8n não contém ID de workflow válido');
|
||||||
}
|
}
|
||||||
} catch (n8nError) {
|
} catch (n8nError) {
|
||||||
console.error('Erro ao criar workflow no n8n:', n8nError);
|
console.error('Erro ao criar workflow no n8n:', n8nError);
|
||||||
// Não impede a criação do grupo, apenas não adiciona o workflow_id
|
// Não impede a criação do grupo, apenas não adiciona o workflow_id
|
||||||
}
|
}
|
||||||
|
|
||||||
return data[0];
|
return newGroup;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Erro ao cadastrar grupo do WhatsApp:', error);
|
console.error('Erro ao cadastrar grupo do WhatsApp:', error);
|
||||||
return null;
|
return null;
|
||||||
@ -75,7 +83,9 @@ async function createWorkflowInN8n(email: string): Promise<{ id: string } | null
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
throw new Error(`Erro ao criar workflow: ${response.statusText}`);
|
const errorText = await response.text();
|
||||||
|
console.error(`Erro ao criar workflow: Status ${response.status}`, errorText);
|
||||||
|
throw new Error(`Erro ao criar workflow: Status ${response.status}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user