topsapp: fix suporte
Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
3d35fc24cc
commit
9d092a349f
3 files changed
+132
-35
No files matched your search
+55
-6
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user