const API_BASE = "https://api.cabrapi.com.br";
const AUTHORIZATION = "SUA_API_KEY_AQUI";
const storesResponse = await fetch(`${API_BASE}/stores`, {
headers: { Authorization: AUTHORIZATION }
});
const storesData = await storesResponse.json();
const storeId = storesData?.stores?.[0]?.id;
if (!storeId) throw new Error("Nenhuma loja encontrada para essa API key.");
const couponsResponse = await fetch(`${API_BASE}/stores/${storeId}/coupons`, {
headers: { Authorization: AUTHORIZATION }
});
const couponsData = await couponsResponse.json();
let couponId = couponsData?.coupons?.[0]?.id;
if (!couponId) {
const productsResponse = await fetch(`${API_BASE}/stores/${storeId}/products`);
const productsData = await productsResponse.json();
let productId = productsData?.products?.[0]?.id;
if (!productId) {
const newProductResponse = await fetch(`${API_BASE}/stores/${storeId}/products`, {
method: "POST",
headers: {
Authorization: AUTHORIZATION,
"Content-Type": "application/json"
},
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();
productId = newProductData?.product?.id;
}
const newCouponResponse = await fetch(`${API_BASE}/stores/${storeId}/coupons`, {
method: "POST",
headers: {
Authorization: AUTHORIZATION,
"Content-Type": "application/json"
},
body: JSON.stringify({
code: `CUPOM${Date.now()}`,
discount: 10,
useLimit: -1,
productIds: [productId]
})
});
const newCouponData = await newCouponResponse.json();
couponId = newCouponData?.coupon?.id;
}
if (!couponId) throw new Error("Não foi possível obter couponId.");
const response = await fetch(`${API_BASE}/stores/${storeId}/coupons/uuid/${couponId}`, {
headers: { Authorization: AUTHORIZATION }
});
const data = await response.json();
console.log({ status: response.status, data });