# 🤖 PetMarket AI Yönetim Sistemi — Tam Kurulum Rehberi

Bu sistem sayesinde **ChatGPT**, **Claude** ve diğer yapay zekalar, sitenizin canlı URL'si üzerinden sohbet ederek mağazanızı yönetebilir: ürün fiyatı güncelleme, sipariş takibi, kaynak kodu değiştirme ve tasarım düzenleme dahil.

---

## 📋 Mimari

```
ChatGPT / Claude / API İstemcisi
        │
        │  HTTPS POST  (x-ai-agent-key header)
        ▼
https://siteniz.com/api/mcp          ← Next.js Route Handler
        │
        ├── E-Ticaret Araçları  (src/mcp/tools.ts)
        │     ürünler, siparişler, müşteriler, stok
        │
        ├── Tasarım & Kod Araçları  (src/mcp/design-tools.ts)
        │     dosya okuma/yazma, CSS injection, banner
        │
        └── MySQL Veritabanı  (Drizzle ORM)
```

---

## 🔐 Güvenlik

Tüm AI istekleri şu başlıkla korunur:

```
x-ai-agent-key: <API_ANAHTARINIZ>
```

API anahtarı `.env` dosyasında `AI_AGENT_KEY` değişkenine atanır.

---

## 🚀 Hosting'e Deploy Sonrası Yapılacaklar

### 1. `.env` Dosyasını Hosting'e Ekle

cPanel → **Node.js Uygulama Yöneticisi** → **Ortam Değişkenleri** bölümüne ekle:

```
DATABASE_URL=mysql://KULLANICI:SIFRE@localhost:3306/VERITABANI_ADI
AI_AGENT_KEY=petmarket_ai_sec_994827361
NEXT_PUBLIC_SITE_URL=https://siteniz.com
```

> **Önemli:** `AI_AGENT_KEY` değerini kendiniz güçlü bir şifreyle değiştirin.

### 2. Projeyi Build Et ve Başlat

```bash
npm run build
npm run start
```

### 3. OpenAPI Spec URL'ini Test Et

```
GET https://siteniz.com/api/mcp/openapi
```

---

## 💬 ChatGPT ile Bağlantı (Custom GPT / Actions)

### Adım 1 — Custom GPT Oluştur
1. [https://chat.openai.com/gpts/editor](https://chat.openai.com/gpts/editor) adresine git.
2. **"Configure"** → **"Actions"** → **"Create new action"** tıkla.

### Adım 2 — Schema'yı İçe Aktar
- **"Import from URL"** seçeneğini seç.
- URL olarak şunu gir:
  ```
  https://siteniz.com/api/mcp/openapi
  ```
- ChatGPT tüm araçları otomatik tanıyacaktır.

### Adım 3 — Authentication Ayarla
- **Authentication Type:** `API Key`
- **API Key:** `petmarket_ai_sec_994827361` *(kendi key'iniz)*
- **Auth Type:** `Custom`
- **Custom Header Name:** `x-ai-agent-key`

### Adım 4 — GPT Talimatlarını Ayarla
GPT'nin "Instructions" bölümüne şunu yapıştır:
```
Sen PetMarket e-ticaret mağazasının AI yöneticisisin.
Mağaza sahipinin Türkçe doğal dil komutlarını alarak 
ilgili API araçlarını çağırır, işlemleri gerçekleştirir 
ve sonucu anlaşılır Türkçe olarak bildirirsin.

Tasarım değişikliği yapılmadan önce read_source_file 
ile ilgili dosyanın mevcut içeriğini oku. Sonra 
update_source_file ile tam ve eksiksiz yeni içeriği yaz.
```

---

## 💬 Claude ile Bağlantı (claude.ai Projeler)

### claude.ai → Projects → Knowledge / Tools

Claude Web'de API bağlantısı şu an için desteklenmez (sadece Desktop).
Claude Desktop kullanmak istemiyorsanız, Claude'u aşağıdaki gibi doğrudan API üzerinden kullanabilirsiniz.

---

## 🛠️ Doğrudan API ile Kullanım

Herhangi bir HTTP istemcisinden veya n8n / Zapier gibi otomasyon platformlarından çağrılabilir:

### Dashboard İstatistikleri
```bash
curl -X POST https://siteniz.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-ai-agent-key: petmarket_ai_sec_994827361" \
  -d '{"tool":"get_dashboard_stats"}'
```

### Ürün Fiyatı Güncelleme
```bash
curl -X POST https://siteniz.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-ai-agent-key: petmarket_ai_sec_994827361" \
  -d '{"tool":"update_product_stock_and_price","args":{"productId":1,"newPriceTl":299.90,"newStock":50}}'
```

### Sipariş Kargoya Verme
```bash
curl -X POST https://siteniz.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-ai-agent-key: petmarket_ai_sec_994827361" \
  -d '{"tool":"update_order_status","args":{"orderNo":"PM12345","newStatus":"kargoda"}}'
```

### Anasayfa Banner Güncelleme
```bash
curl -X POST https://siteniz.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-ai-agent-key: petmarket_ai_sec_994827361" \
  -d '{"tool":"update_site_design_settings","args":{"banners":{"heroTitle":"Bayram Kampanyası!","heroSubtitle":"Tüm ürünlerde indirim"},"theme":{"announcementBarText":"🎁 Kargo Bedava"}}}'
```

### Kaynak Kod Düzenleme (Örnek)
```bash
# 1. Önce dosyayı oku
curl -X POST https://siteniz.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-ai-agent-key: petmarket_ai_sec_994827361" \
  -d '{"tool":"read_source_file","args":{"filePath":"src/components/site-footer.tsx"}}'

# 2. Sonra güncellenmiş içeriği yaz
curl -X POST https://siteniz.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-ai-agent-key: petmarket_ai_sec_994827361" \
  -d '{"tool":"update_source_file","args":{"filePath":"src/components/site-footer.tsx","newContent":"...yeni kod..."}}'
```

---

## 🧰 Mevcut 15 Araç

| # | Araç | Yetki |
|---|------|-------|
| 1 | `get_dashboard_stats` | Ciro, sipariş, stok özeti |
| 2 | `list_products` | Ürün listesi ve arama |
| 3 | `get_product_detail` | Ürün detayı |
| 4 | `update_product_stock_and_price` | ✏️ Fiyat & stok güncelleme |
| 5 | `add_product` | ✏️ Yeni ürün ekleme |
| 6 | `list_orders` | Sipariş listesi |
| 7 | `get_order_detail` | Sipariş detayı |
| 8 | `update_order_status` | ✏️ Sipariş durumu güncelleme |
| 9 | `list_categories_and_brands` | Kategori & marka listesi |
| 10 | `list_customers` | Müşteri listesi |
| 11 | `list_project_files` | 📁 Proje dosya ağacı |
| 12 | `read_source_file` | 📖 Kaynak kod okuma |
| 13 | `update_source_file` | ✏️🔥 Kaynak kod yazma/değiştirme |
| 14 | `get_site_design_settings` | Tasarım ayarları okuma |
| 15 | `update_site_design_settings` | ✏️ Banner, CSS, tema güncelleme |

---

## ⚠️ Önemli Notlar

- `update_source_file` ile kaynak kod değiştirildikten sonra Next.js **hot reload** sayesinde geliştirme ortamında anında yansır. Production'da `npm run build` sonra `npm run start` çalıştırmak gerekir.
- Her dosya değişikliğinde otomatik `.bak` yedeği oluşturulur.
- `.env` dosyası AI tarafından **okunamaz ve değiştirilemez** (korumalı).
- Proje dizini dışına çıkma girişimleri engellenir.
