diff --git a/src/bot/handler.js b/src/bot/handler.js index 4d0853b..96b039f 100644 --- a/src/bot/handler.js +++ b/src/bot/handler.js @@ -6252,6 +6252,14 @@ Digite /help para ver todos os comandos disponíveis! const resultado = await this.topsapp.atualizarFTTH(idCliente, idServico, ftthData, location); if (resultado.success) { + // Provisionar para sincronizar onuid e serviceport do OLT → TopSapp + try { + const provResult = await this.topsapp.provisionarServico(idCliente, idServico, location); + console.log(`🔄 ProvisionarServico resultado:`, JSON.stringify(provResult?.data || provResult)); + } catch (provError) { + console.warn(`⚠️ ProvisionarServico falhou (não-fatal):`, provError.message); + } + await this.bot.sendMessage(chatId, `✅ *ONU vinculada com sucesso no TopSapp!*\n\n` + `📱 *Serial:* \`${ftthData.serial}\`\n` + diff --git a/src/topsapp/api.js b/src/topsapp/api.js index aae0911..9b41320 100644 --- a/src/topsapp/api.js +++ b/src/topsapp/api.js @@ -168,7 +168,7 @@ class TopSappAPI { console.log(`📊 Status da resposta: ${response.status}`); console.log(`📋 Dados da resposta:`, response.data); - if (response.data && response.data.resultado === true) { + if (response.data && (response.data.resultado === true || response.data.status === true)) { return { success: true, data: response.data, @@ -859,6 +859,23 @@ class TopSappAPI { } } + /** + * Provisionar manualmente um serviço (sincroniza dados do OLT → TopSapp) + */ + async provisionarServico(idCliente, idServico, location = '', credentials) { + const instance = this.getInstanceByLocation(location); + try { + const session = await this.getValidSession(instance, credentials); + return await this.makeRequest('ProvisionarServico', { + idUsuario: session.idUsuario || 1, + idCliente: parseInt(idCliente), + idServico: parseInt(idServico) + }, instance, credentials); + } catch (error) { + return { success: false, error: error.message }; + } + } + /** * Listar todas as instâncias disponíveis */ diff --git a/src/topsapp/manager.js b/src/topsapp/manager.js index d4c401d..b9a807c 100644 --- a/src/topsapp/manager.js +++ b/src/topsapp/manager.js @@ -1278,6 +1278,15 @@ class TopSappManager { const credentials = this.config.getCredentialsByLocation(location); return await this.api.atualizarFTTH(idCliente, idServico, ftthData, location, credentials); } + + /** + * Provisionar manualmente um serviço (sincroniza dados do OLT → TopSapp) + */ + async provisionarServico(idCliente, idServico, location = '') { + if (!this.isReady()) return { success: false, error: 'TopSapp não configurado' }; + const credentials = this.config.getCredentialsByLocation(location); + return await this.api.provisionarServico(idCliente, idServico, location, credentials); + } } module.exports = TopSappManager;