const API_BASE = "https://api.cabrapi.com.br";
const AUTHORIZATION = "SUA_API_KEY_AQUI";
const authHeaders = {
Authorization: AUTHORIZATION,
"Content-Type": "application/json"
};
const storesResponse = await fetch(`${API_BASE}/stores`, {
headers: { Authorization: AUTHORIZATION }
});
const storesData = await storesResponse.json();
if (!storesResponse.ok || !storesData?.stores?.length) {
throw new Error("Nenhuma loja encontrada para essa API key.");
}
const storeId = storesData.stores[0].id;
let productId;
const productsResponse = await fetch(`${API_BASE}/stores/${storeId}/products`);
const productsData = await productsResponse.json();
if (productsResponse.ok && productsData?.products?.length) {
productId = productsData.products[0].id;
} else {
const newProductResponse = await fetch(`${API_BASE}/stores/${storeId}/products`, {
method: "POST",
headers: authHeaders,
body: JSON.stringify({
name: `ProdutoCupom ${Date.now()}`,
description: "Produto base para cupom via script da documentação.",
delivery: "DIGITAL",
price: 39.9,
stock: 50
})
});
const newProductData = await newProductResponse.json();
if (!newProductResponse.ok || !newProductData?.product?.id) {
throw new Error("Não foi possível criar produto base para o cupom.");
}
productId = newProductData.product.id;
}
const couponCode = `CUPOM${Date.now()}`;
const response = await fetch(`${API_BASE}/stores/${storeId}/coupons`, {
method: "POST",
headers: authHeaders,
body: JSON.stringify({
code: couponCode,
discount: 10,
useLimit: -1,
productIds: [productId]
})
});
const data = await response.json();
console.log({ status: response.status, data });