TypeScript istemcisi
Partner API’nin tamamı için tek dosyalık, bağımlılıksız bir TypeScript istemcisi.
kolaymarketing.ts dosyasını indir
Dosyayı panelinize kopyalayın, örneğin lib/kolaymarketing.ts. Güncel sürüm her zaman bu adrestedir.
Kurulum
# .env (yalnız sunucu)
KOLAYMARKETING_API_KEY=km_pk_…
# isteğe bağlı, varsayılan https://api.kolaymarketing.com/v1
KOLAYMARKETING_API_URL=
- Yalnız sunucuda çalışır. Dosyanın ilk satırı
import "server-only";. Next.js dışındaki projelerde bu satırı silin. - Anahtar tek bir workspace’e bağlıdır ve yalnız bir kez gösterilir. Tarayıcıya, mobil uygulamaya ya da log’a koymayın.
kolayMarketingConfigured()anahtar tanımlı değilsefalsedöner; modülü gizlemek için kullanın.
Kullanım
import { getCapabilities, listContent, approveContent } from "@/lib/kolaymarketing";
// Sekmeyi açmadan önce anahtar neye yetkili?
const caps = await getCapabilities();
if (!caps.scopes.includes("content_read")) return null;
const { items } = await listContent({ status: "text_review" });
// Bir üye adına metin onayı. Her işlem için bir idempotency değeri üretin.
await approveContent(items[0].id, "text", "onay@firma.com", crypto.randomUUID());
| Fonksiyon | Uç nokta |
|---|---|
getWorkspace() |
GET /partner/workspace |
getIntake(), submitIntake(key, submission, submittedBy) |
ihtiyaç listesi |
submitIdea(idea) |
POST /partner/ideas |
getCapabilities() |
GET /partner/capabilities |
listContent(filter), getContent(id) |
içerik |
getCalendar(from, to) |
takvim |
listPublished(filter) |
yayın arşivi ve metrikler |
getMedia(contentId) |
süreli medya bağlantıları |
createContent(request, idempotencyKey) |
içerik açma |
writeContent(id, idempotencyKey, actorEmail?) |
metin yazdırma |
approveContent, rejectContent |
onay, ret |
scheduleContent, unscheduleContent |
saat verme, kaldırma |
Hatalar
API hataları KolayMarketingError olarak fırlatılır: code (makine için), message (son kullanıcıya gösterilebilir sade Türkçe) ve httpStatus. Kodunuzu code üzerine kurun. Kodların listesi: Partner API → Hatalar.
Idempotency
Her yazma çağrısı bir idempotencyKey ister (8-128 karakter: harf, rakam, _, -). Bir işlem için bir değer üretin; aynı değeri yalnız o işlemi yeniden denemek için kullanın. Ayrıntı: Partner API → Idempotency.
Yayınlama, “şimdi yayınla”, kanal bağlama ve yayın kapısı istemcide yoktur, çünkü API’de yoktur. Saat vermek yayını garantilemez: yayın anında iki onay ve kapılar yeniden denetlenir.