suporte: fix técnicos ObterTecnicos

Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
rodrigo committed 2026-03-29 17:19:28 -03:00
1 parent c42202b727
commit 89cf8844eb
2 files changed
+26 -22

No files matched your search

+2 -2
View File
@@ -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) {
+24 -20
View File
@@ -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;
}
/**