Infumar Store API
ikas, Shopify, IdeaSoft veya WooCommerce kullanmıyorsanız — kendi e-ticaret yazılımınızı bu API ile bağlarsınız. Hazır entegrasyonlarımızın kullandığı API'nin aynısı.
Nasıl başlanır
1. Mağazanızı bağlayın
Infumar panelinde Markalarım → entegrasyonlar → “Özel Yazılım”. Mağazanızın adresini girin; size bir API anahtarı verilir. Anahtar bir paroladır: yalnız sunucunuzda saklayın.
2. Takip kodunu ekleyin
Bu tek satır her sayfada çalışır. Ziyaretçinin hangi influencer'dan geldiğini birinci-taraf çereze yazar ve mağazanıza ulaştığını doğrular (influencer'ın tıklama kazancı buna bağlıdır). Ayar gerektirmez.
<script src="https://api.infumar.com/api/v1/integrations/track.js" async></script>3. Ürünlerinizi gönderin
Reklam verenin kampanyada seçeceği ve influencer'ın paylaşacağı ürünler budur. Fiyat veya stok değiştikçe listeyi yeniden gönderin. Gönderdiğiniz liste kataloğun TAMAMIDIR: listede olmayan ürün mağazadan kaldırılmış sayılır ve influencer'a gösterilmeyi bırakır.
curl -X POST https://api.infumar.com/api/v1/integrations/sync-products \
-H "X-API-Key: inf_..." \
-H "Content-Type: application/json" \
-d '{
"products": [
{
"id": "SKU-1001",
"name": "Kaşmir Kazak",
"price": 1450,
"image": "https://www.magazaniz.com/img/1001.jpg",
"purchaseLink": "https://www.magazaniz.com/kasmir-kazak",
"stock": 12,
"isActive": true,
"categories": [{ "id": "12", "name": "Kazak" }]
}
]
}'4. Siparişleri bildirin
Sipariş tamamlandığında sunucunuzdan bildirirsiniz. Çerezdeki kısa kodu gönderirsiniz; influencer'ı ve projeyi biz çözeriz.
Kimlik doğrulama
Her istek `X-API-Key` başlığıyla gelir. Anahtar mağazanızı temsil eder — hangi influencer'ın kazanacağını istekte belirtmezsiniz, belirleyemezsiniz de. Bağlantıyı panelden kapatırsanız anahtar aynı anda geçersizleşir.
X-API-Key: inf_a1b2c3d4e5f6…Atıf nasıl çalışır
marketing.developers.attribution
Uçlar
| POST | /integrations/sync-products | Ürün kataloğunuzu gönderir (tam liste — gönderdiğiniz liste kataloğun yerine geçer). |
| POST | /integrations/track-sale | Bir siparişi affiliate satışı olarak bildirir. |
| POST | /integrations/track-refund | İade bildirir; komisyon geri alınır (kısmi iade oranlı). |
| POST | /integrations/track-cancellation | İptal bildirir; komisyon geri alınır. |
| GET | /integrations/status | Bağlantının güncel durumunu döner. |
| POST | /integrations/verify | Anahtarın çalıştığını doğrular ve bağlantıyı aktif işaretler. |
Uçtan uca örnek
Sipariş tamamlandığında sunucunuzdan çalışacak kod. Çerezi tarayıcıdan okuyup kendi sipariş kaydınıza yazın, sonra bildirin.
// On your server, once the order is paid.
// `shortCode` is the value you stored from the infumar_aff cookie.
await fetch("https://api.infumar.com/api/v1/integrations/track-sale", {
method: "POST",
headers: {
"X-API-Key": process.env.INFUMAR_API_KEY, // never in the browser
"Content-Type": "application/json",
},
body: JSON.stringify({
shortCode, // e.g. "a1b2c3d4"
orderId: order.id, // your own id — retries are idempotent on it
orderTotal: order.paidTotal, // what the customer actually paid
currency: "TRY",
products: order.lines.map((l) => ({
productId: l.sku, // same id you sent to sync-products
name: l.name,
price: l.unitPrice,
quantity: l.quantity,
})),
}),
});
// → { success: true, attributed: true, duplicate: false }
// → { success: true, attributed: false, reason: "unknown_short_code" }// Full refund — omit refundAmount.
await fetch("https://api.infumar.com/api/v1/integrations/track-refund", {
method: "POST",
headers: { "X-API-Key": process.env.INFUMAR_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ orderId: order.id }),
});
// Partial refund — the commission is clawed back pro rata.
await fetch("https://api.infumar.com/api/v1/integrations/track-refund", {
method: "POST",
headers: { "X-API-Key": process.env.INFUMAR_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ orderId: order.id, refundAmount: 250, isFullRefund: false }),
});Bilmeniz gerekenler
- Aynı siparişi tekrar bildirmek zararsızdır — ikinci bildirim `duplicate` döner, komisyon iki kez yazılmaz. Zaman aşımı sonrası çekinmeden tekrar deneyin.
- Komisyon `orderTotal` üzerinden hesaplanır: müşterinin indirim ve kupon sonrası fiilen ödediği tutar.
- Kısa kodu çözülemeyen sipariş hata değildir — `attributed: false` döner ve hiçbir şey kaydedilmez.
- Satış komisyonu 14 gün iade penceresinde bekler, sonra influencer'a ödenir. Bu yüzden iadeleri bildirmeniz önemlidir.
- Anahtarı tarayıcıya koymayın. Sayfa kodundaki bir anahtarı herkes okur ve sahte sipariş bildirebilir. Bildirim her zaman sunucunuzdan.
Takıldığınız yerde
Entegrasyon sırasında sorunuz olursa panelden destek başlatın; hangi mağaza olduğunu bildiğimiz için isteklerinizi loglardan birlikte izleyebiliriz.
Panelden mağazamı bağla