API · MCP · Webhook

Kendi sisteminizle konuşan bir altyapı.

Cartify altyapısı kapalı bir kutu değil. REST API ve MCP sunucusuyla operasyonunuzu kendi yazılımınızdan ya da Claude, ChatGPT gibi yapay zekâ asistanlarınızdan okuyabilir ve yürütebilirsiniz.

REST API MCP sunucusu Webhook'lar

01 — REST API

Operasyon, HTTP üzerinden.

Sipariş, katalog, operasyon ve durum uçları; JSON istek ve yanıtlar; anahtarla kimlik doğrulama. Panelde gördüğünüz veriyi kendi sisteminize taşırsınız.

Bu sayfadaki tüm örnekler temsilidir. Cartify API'si ve MCP sunucusu hazırlık aşamasındadır; erişim onaylı müşteri ve partnerlere açılır. Aşağıdaki alan adları, uçlar, alan isimleri ve anahtarlar gerçek değildir — yalnızca yapıyı ve çalışma biçimini göstermek için kullanılır. Yayına hazır dokümantasyon erişim onayıyla birlikte paylaşılır.

Kimlik doğrulama

Her istek bir API anahtarıyla imzalanır. Anahtar panelden üretilir, kapsamı ve yetkileri sizin tarafınızdan sınırlandırılır.

  • Anahtar yalnızca sunucu tarafında saklanır; tarayıcıya veya istemci koduna yazılmaz.
  • Her anahtar için ayrı yetki kapsamı: yalnız okuma, yazma veya onay yetkisi.
  • Anahtarlar panelden iptal edilebilir ve yenilenebilir.
GET Kimlik doğrulama temsili
# Anahtar ortam değişkeninden okunur — koda yazılmaz.
curl https://api.cartify.example/v1/orders \
  -H "Authorization: Bearer $CARTIFY_API_KEY" \
  -H "Content-Type: application/json"

# Yetkisiz istek:
# 401 { "error": "invalid_api_key" }

Uçlar

Dört alan: sipariş, katalog, operasyon ve durum. Kapsam, anahtarınıza tanımlı yetkilere göre açılır.

REST Uç listesi temsili
# Sipariş
GET    /v1/orders                  Sipariş listesi
GET    /v1/orders/{id}             Sipariş detayı
POST   /v1/orders/{id}/notes       Siparişe not ekle

# Katalog
GET    /v1/products                Ürün listesi
POST   /v1/products                Ürün oluştur
PATCH  /v1/products/{id}           Ürün güncelle
GET    /v1/inventory               Stok durumu

# Operasyon
GET    /v1/tasks                   Operasyon görevleri
POST   /v1/tasks/{id}/approve      Onay bekleyen işlemi onayla
GET    /v1/agents                  yapay zekâ ajanlarının durumu

# Durum
GET    /v1/status                  Servis ve entegrasyon durumu
GET    /v1/events                  Olay geçmişi

Örnek istek ve yanıt

Katalog ucuna bir ürün gönderildiğinde, ürün kanallara listeleme kuyruğuna alınır ve durum bilgisi geri döner.

POST İstek temsili
POST /v1/products

{
  "sku": "TR-4821-BLK",
  "title": "Örnek Ürün",
  "channels": ["amazon", "etsy"],
  "price": { "amount": 2490, "currency": "TRY" },
  "stock": 120
}
200 Yanıt temsili
200 OK

{
  "id": "prd_9f2c41",
  "sku": "TR-4821-BLK",
  "status": "queued",
  "channels": [
    { "channel": "amazon", "state": "queued" },
    { "channel": "etsy",   "state": "queued" }
  ],
  "created_at": "2026-01-14T09:12:03Z"
}

02 — MCP Sunucusu

Yapay zekâ asistanınız operasyonu görsün.

MCP (Model Context Protocol), yapay zekâ asistanlarının dış sistemlere kontrollü biçimde bağlanması için kullanılan açık bir protokoldür. Cartify MCP sunucusu, asistanınızın operasyon verinizi okumasına ve yalnızca izin verdiğiniz işlemleri yürütmesine imkân tanır.

Ne işe yarar?

Panel açmadan, rapor indirmeden; "şunu listele, şunu özetle, şunu onaya gönder" diyerek operasyonla konuşursunuz. Asistan sizin adınıza panele değil, tanımlı araçlara erişir.

  • Claude, ChatGPT ve MCP destekleyen diğer istemcilerle çalışır.
  • Yetki kapsamı anahtara bağlıdır: yalnız okuma verirseniz hiçbir kayıt değişmez.
  • Hassas işlemler yine insan onayına düşer — asistan onayı kendi veremez.
  • Her araç çağrısı olay geçmişine yazılır; kim ne yaptı, izlenebilir.
JSON Örnek yapılandırma temsili
// Asistanınızın MCP yapılandırma dosyası.
// Paket adı ve anahtar, erişim onayında verilir.
{
  "mcpServers": {
    "cartify": {
      "command": "npx",
      "args": ["-y", "<cartify-mcp-paketi>"],
      "env": {
        "CARTIFY_API_KEY": "<api-anahtariniz>",
        "CARTIFY_SCOPE": "read"
      }
    }
  }
}

Kurulum

Üç adım. Tamamı erişim onayından sonra, panel üzerinden yürür.

ADIM 01

Anahtar üretin

Panelden MCP için ayrı bir API anahtarı üretin ve yetki kapsamını seçin. Başlangıç için yalnız okuma önerilir.

ADIM 02

Asistanı yapılandırın

Yandaki örnek yapılandırmayı asistanınızın MCP dosyasına ekleyin; anahtarı ortam değişkeni olarak verin, dosyaya yazmayın.

ADIM 03

Bağlantıyı doğrulayın

Asistanı yeniden başlatın ve Cartify araçlarının listelendiğini görün. Artık operasyonla konuşabilirsiniz.

Örnek komut

Asistanla gündelik dilde konuşursunuz; asistan arkada tanımlı araçları çağırır.

MCP Asistan oturumu temsili
> Son 7 günde iptal edilen siparişleri listele,
  iptal nedenlerine göre grupla ve kısa bir özet çıkar.

// Asistan, tanımlı araçları çağırır:
//   cartify.orders.list   (okuma)
//   cartify.events.list   (okuma)
// Anahtar yalnız okuma yetkisinde olduğu için
// hiçbir kayıt değiştirilmez.

> Stoğu eşiğin altına düşen ürünler için
  tedarik görevi aç ve onayıma gönder.

// Görev oluşturulur, durumu "approval_required" olur.
// Onayı siz verirsiniz — asistan kendi onaylayamaz.

03 — Webhook'lar

Durum değiştiğinde haberiniz olsun.

Sistemi sürekli sorgulamak yerine, olay olduğunda Cartify sizin ucunuza haber verir. Her çağrı imzalanır ve başarısız teslimatlar yeniden denenir.

EVENT Olaylar temsili
order.created              Yeni sipariş düştü
order.updated              Sipariş bilgisi değişti
order.cancelled            Sipariş iptal edildi
shipment.dispatched        Sevkiyat yola çıktı
shipment.delivered         Sevkiyat teslim edildi
inventory.low              Stok eşiğin altına indi
task.approval_required     İnsan onayı bekleniyor
agent.run_failed           Ajan bir adımı tamamlayamadı

# Sevkiyat olayları yalnızca onaylı müşterilerin
# ekosistem içi sevkiyatları için üretilir.
NODE İmza doğrulama temsili
// Gövdeyi ham haliyle doğrulayın, JSON'a çevirmeden.
import crypto from "node:crypto";

const imza = req.headers["cartify-signature"];
const beklenen = crypto
  .createHmac("sha256", process.env.CARTIFY_WEBHOOK_SECRET)
  .update(rawBody)
  .digest("hex");

if (!crypto.timingSafeEqual(
      Buffer.from(imza), Buffer.from(beklenen))) {
  return res.status(400).end();   // imza geçersiz
}

res.status(200).end();            // hızlıca 200 dönün

Yeniden deneme

Ucunuz 2xx dönmezse teslimat artan aralıklarla yeniden denenir. Belirlenen deneme sayısı sonunda olay başarısız işaretlenir ve panelde görünür.

Idempotency

Her olay benzersiz bir kimlikle gelir. Yeniden denemelerde aynı kimlik tekrar edeceği için işleyicinizi idempotent yazın: aynı olayı iki kez işlemeyin.

İmza ve gizli anahtar

Her çağrı HMAC-SHA256 ile imzalanır. Gizli anahtar ortam değişkeninde saklanır, kodda tutulmaz; imzayı sabit zamanlı karşılaştırmayla doğrulayın.

04 — Özel Entegrasyon ve White-Label

Standart uçlar yetmiyorsa, birlikte yazarız.

Her işletmenin yazılım kurgusu farklı. ERP'niz, CRM'iniz veya kendi panelinizle çalışmak gerektiğinde entegrasyonu Cartify ekibiyle birlikte tasarlarsınız.

Özel entegrasyon

Pazaryeri, e-ticaret, fatura, CRM, e-posta ve iletişim araçlarıyla bağlantılar. İhtiyaç halinde size özel uç ve akışlar geliştirilir.

Partner programı

Ajanslar, danışmanlar ve bayiler için iş birliği modelleri; panel, API ve operasyonel destek tek pakette.

Detaylar

05 — Erişim

Erişim onaylı hesaplara açılır.

API anahtarı, MCP erişimi ve yayına hazır dokümantasyon; onaylı Cartify müşterilerine ve partnerlerine panel üzerinden verilir. Başvurunuzda entegrasyon ihtiyacınızı belirtmeniz yeterli.