topsapp: fix suporte

Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
rodrigo committed 2025-08-13 14:03:52 -03:00
1 parent 3d35fc24cc
commit 9d092a349f
3 files changed
+132 -35

No files matched your search

+55 -6
View File
@@ -681,6 +681,22 @@ class TopSappAPI {
}, instance, credentials);
}
/**
* Obter tipos de atendimento do suporte
*/
async obterSuporteTiposAtendimento(location = '', credentials) {
const instance = this.getInstanceByLocation(location);
// Obter o idUsuario da sessão atual
const session = await this.getValidSession(instance, credentials);
const dados = {
idUsuario: session.idUsuario || 1
};
return await this.makeRequest('ObterSuporteTiposAtendimento', dados, instance, credentials);
}
/**
* Adicionar novo suporte
*/
@@ -695,14 +711,47 @@ class TopSappAPI {
idCliente: dadosSuporte.idCliente,
idServico: dadosSuporte.idServico,
idCategoria: dadosSuporte.idCategoria,
contato: dadosSuporte.contato || '',
contatoTelefone: dadosSuporte.contatoTelefone || '',
descricao: dadosSuporte.descricao,
outrasInformacoes: dadosSuporte.outrasInformacoes || '',
...dadosSuporte // Permite campos adicionais como idAtendimento
descricao: dadosSuporte.descricao
};
return await this.makeRequest('AdicionarSuporte', dados, instance, credentials);
// Tentar com idTecnico se fornecido
if (dadosSuporte.idTecnico && Number.isInteger(dadosSuporte.idTecnico)) {
dados.idTecnico = dadosSuporte.idTecnico;
console.log('🎫 API - Incluindo idTecnico:', dadosSuporte.idTecnico);
}
if (dadosSuporte.contato && dadosSuporte.contato.trim() !== '') {
dados.contato = dadosSuporte.contato;
}
if (dadosSuporte.contatoTelefone && dadosSuporte.contatoTelefone.trim() !== '') {
dados.contatoTelefone = dadosSuporte.contatoTelefone;
}
if (dadosSuporte.outrasInformacoes && dadosSuporte.outrasInformacoes.trim() !== '') {
dados.outrasInformacoes = dadosSuporte.outrasInformacoes;
}
console.log('🎫 API - Dados finais para envio:', dados);
try {
const result = await this.makeRequest('AdicionarSuporte', dados, instance, credentials);
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;
}
}
/**