diff --git a/src/bot/handler.js b/src/bot/handler.js index ff647fa..1c3389a 100644 --- a/src/bot/handler.js +++ b/src/bot/handler.js @@ -5689,7 +5689,7 @@ Digite /help para ver todos os comandos disponíveis! await this.bot.sendMessage(session.chatId, `🔍 Buscando técnicos disponíveis...`); try { - const resultado = await this.topsapp.obterFuncionarios(); + const resultado = await this.topsapp.obterTecnicos(); if (!resultado.success) { await this.bot.sendMessage(session.chatId, @@ -5910,7 +5910,7 @@ Digite /help para ver todos os comandos disponíveis! // Adicionar campos opcionais se existirem if (dados.tecnicoSelecionado?.id) { - dadosSuporte.idTecnico = dados.tecnicoSelecionado.id; + dadosSuporte.idAtendimento = dados.tecnicoSelecionado.id; } if (dados.clienteSelecionado?.nome) { diff --git a/src/topsapp/api.js b/src/topsapp/api.js index dba2adb..0fbe839 100644 --- a/src/topsapp/api.js +++ b/src/topsapp/api.js @@ -181,10 +181,14 @@ class TopSappAPI { } } catch (error) { + const responseBody = error.response?.data; console.error(`❌ Erro na requisição ${endpoint}:`, error.message); + if (responseBody) { + console.error(`❌ Corpo do erro ${endpoint}:`, JSON.stringify(responseBody)); + } return { success: false, - error: error.message, + error: responseBody?.msg || responseBody?.mensagem || error.message, instance: instance.name }; } @@ -796,10 +800,10 @@ class TopSappAPI { descricao: dadosSuporte.descricao }; - // Tentar com idTecnico se fornecido - if (dadosSuporte.idTecnico && Number.isInteger(dadosSuporte.idTecnico)) { - dados.idTecnico = dadosSuporte.idTecnico; - console.log('🎫 API - Incluindo idTecnico:', dadosSuporte.idTecnico); + // Tentar com idAtendimento (técnico no sistema de suporte) se fornecido + if (dadosSuporte.idAtendimento && Number.isInteger(dadosSuporte.idAtendimento)) { + dados.idAtendimento = dadosSuporte.idAtendimento; + console.log('🎫 API - Incluindo idAtendimento:', dadosSuporte.idAtendimento); } if (dadosSuporte.contato && dadosSuporte.contato.trim() !== '') { @@ -816,24 +820,24 @@ class TopSappAPI { console.log('🎫 API - Dados finais para envio:', dados); - try { - const result = await this.makeRequest('AdicionarSuporte', dados, instance, credentials); + // Tentativa 1: com idAtendimento + const result = await this.makeRequest('AdicionarSuporte', dados, instance, credentials); + if (result.success) { console.log('✅ API - Suporte criado com sucesso:', result); return result; - } catch (error) { - console.error('❌ API - Erro ao criar suporte:', error.message); - - // Se deu erro e temos idAtendimento, tentar sem ele - if (dados.idAtendimento) { - console.log('🔄 API - Tentando criar suporte SEM idAtendimento...'); - delete dados.idAtendimento; - const retryResult = await this.makeRequest('AdicionarSuporte', dados, instance, credentials); - console.log('✅ API - Suporte criado sem técnico:', retryResult); - return retryResult; - } - - throw error; } + + // Tentativa 2: sem idAtendimento (campo opcional que a API pode rejeitar) + if (dados.idAtendimento) { + console.log('🔄 API - Tentando criar suporte SEM idAtendimento...'); + const dadosSemAtendimento = { ...dados }; + delete dadosSemAtendimento.idAtendimento; + const retryResult = await this.makeRequest('AdicionarSuporte', dadosSemAtendimento, instance, credentials); + console.log('✅ API - Resultado sem idAtendimento:', retryResult); + return retryResult; + } + + return result; } /**