Workspace ve ihtiyaç listesi
Bu uçlar anahtarın bağlı olduğu workspace’in özetini gösterir, pazarlama ekibinin sizden beklediği bilgileri (ihtiyaç listesi) toplar ve içerik fikri bırakmanızı sağlar. Hepsi partner scope’unu ister.
Temel adres ve kimlik doğrulama Partner API ile aynıdır:
https://api.kolaymarketing.com/v1
Authorization: Bearer km_pk_…
Bu uçlar hiçbir içeriği onaylamaz ya da yayınlamaz; kanallara ve yayın kapılarına dokunmaz.
| Uç nokta | Ne yapar |
|---|---|
GET /partner/workspace |
workspace özeti |
GET /partner/intake |
ihtiyaç listesi ve her kalemin durumu |
PUT /partner/intake/:key |
bir kalemi doldurur |
POST /partner/ideas |
içerik fikri bırakır |
Workspace özeti
GET /partner/workspace
{
"workspace": { "id": "…", "name": "Firma", "siteDomain": "firma.com", "timeZone": "Europe/Istanbul" },
"publishing": { "tenantOpen": true, "workspaceOpen": false },
"channels": [{ "network": "instagram", "name": "@firma", "status": "active" }],
"content": [{ "status": "text_review", "label": "Metin onayında", "count": 3 }],
"recentPosts": [
{ "network": "instagram", "channelName": "@firma", "topic": "Yeni seri", "publishedAt": "2026-11-01T09:00:00.000Z", "postUrl": "https://…" }
],
"intake": { "total": 14, "missingRequired": 2, "provided": 9, "accepted": 6, "rejected": 1 }
}
publishing: yayın kapısının iki yarısı (hesap ve workspace). İkisi de açık değilse hiçbir şey yayınlanmaz. Bu alan salt okunurdur.content: durumlara göre içerik sayısı. Hiç içeriği olmayan durum listede yer almaz.channels[].status:active,disabledya dabroken.
İhtiyaç listesi
GET /partner/intake → { "items": [ … ] }
Her kalem:
| Alan | Anlamı |
|---|---|
key |
kalemin anahtarı; PUT adresinde kullanılır |
group, label, help |
ekranda gösterilecek grup, başlık, açıklama |
kind |
text, longtext, url, choice, secret |
required |
zorunlu mu |
options |
yalnız choice: { value, label } listesi |
fields |
yalnız secret: formun istediği alanlar (name, label, secret, required) |
status |
missing, provided, accepted, rejected |
value |
girilmiş değer. secret kalemlerde her zaman null: gizli bilgi API’den geri dönmez |
reviewNote |
ekip reddettiyse nedeni |
submittedAt, submittedBy |
son gönderim |
connected |
sosyal hesap kalemlerinde: o ağda aktif bir kanal zaten var |
Kalemi doldurma
PUT /partner/intake/:key
Düz kalemler (text, longtext, url, choice):
{ "value": "https://firma.com", "submittedBy": "pazarlama@firma.com" }
Gizli kalemler (secret), fields içindeki alan adlarıyla:
{ "secret": { "username": "…", "password": "…" }, "submittedBy": "pazarlama@firma.com" }
- Düz kaleme
secret, gizli kalemevaluegönderirseniz 400invalid_bodydöner. - Gizli değerler şifrelenerek saklanır ve hiçbir yanıtta geri dönmez.
- Bilinmeyen
keyiçin 404not_founddöner. - Yanıt, kalemin güncel hâlidir.
Fikir bırakma
POST /partner/ideas
{
"topic": "Kış kampanyası",
"brief": "Depo güvenliği odaklı, tedarikçi adı verme",
"source": "panel:kampanyalar:12",
"submittedBy": "pazarlama@firma.com"
}
| Alan | Kural |
|---|---|
topic |
zorunlu, en fazla 200 karakter |
brief |
zorunlu, en fazla 4000 karakter; yazara açı ve sınırlar, gönderi metnine girmez |
source |
isteğe bağlı; fikrin nereden geldiği |
submittedBy |
isteğe bağlı; butona basan kişinin e-postası |
Yanıt: { "id": "…", "status": "idea", "topic": "Kış kampanyası", "createdAt": "…" }
Fikir “fikir” durumunda düşer. Metin yazımı, iki aşamalı onay ve yayın KolayMarketing içinde devam eder. Fikir aylık gönderi kotasından düşmez. Workspace’in aktif sahibi yoksa 409 no_owner döner.
İstek sınırı
Bu uçlar için anahtar başına dakikada 30 istek. Aşılırsa 429 rate_limited. Hata biçimi Partner API ile aynıdır.