Files
agente-bost/src/infrastructure/ApiClient.js
zyperch 197757b073 refact(webhook): corrige integracao do webhook e trata erros de cookies
- Migra arquivos de webhook de TS para JS
- Corrige imports quebrados e destructuring de SendMessageWebhook e ErrorType
- Trata arquivo cookies.json vazio/invalido com try/catch
- Corrige digitação de porcentagemPromo no ProductEntity
- Envia eventos de sucesso para busca_produto e erros para error_busca
2026-06-02 20:56:00 -03:00

30 lines
1.2 KiB
JavaScript

const axios = require('axios');
const SendMessageWebhook = require('../../webhook/webhook');
const ErrorType = require('../../webhook/ErrorType');
class ApiClient {
constructor(baseURL) {
// Forçando a URL real da sua API, ignorando o localhost
this.urlDestino = 'https://duck-api.stackpanel.com.br/duck-api/produto/salvar';
}
async enviarProduto(produto) {
// Montando o body EXATAMENTE no formato que a sua API exige
const payload = {
nomeProduto: produto.nomeProduto,
descricaoProduto: `Desconto de ${produto.porcentagemPromo}%. Link da oferta: ${produto.linkProduto}`,
precoProdutoAtualizado: produto.precoPromocao,
nomePlataforma: "Mercado Livre"
};
try {
await axios.post(this.urlDestino, payload);
console.log(`✅ Enviado com sucesso: ${produto.nomeProduto}`);
} catch (erro) {
SendMessageWebhook('Erro ao enviar!', `Erro ao enviar o produto para a API: ${erro.message}`, ErrorType.error_busca);
console.log(`❌ Erro ao enviar ${produto.nomeProduto} | Motivo: ${erro.message}`);
}
}
}
module.exports = ApiClient;