- 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
30 lines
1.2 KiB
JavaScript
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; |