API Dokümantasyonu

PazarSync API'si, tüm e-ticaret operasyonlarınızı programatik olarak yönetmenize olanak tanır. Bu dokümantasyon, API'mizin nasıl kullanılacağı hakkında detaylı bilgiler içermektedir.

Başlarken

Kimlik Doğrulama

PazarSync API'si, OAuth 2.0 protokolünü kullanır. API isteklerinde kullanmak üzere bir erişim tokenı almak için öncelikle API istemci kimliği ve sırrı almanız gerekiyor.

1. API Kimlik Bilgilerini Edinin

PazarSync hesabınızda, "Ayarlar → API" bölümünden API istemci kimliği ve sırrı edinebilirsiniz.

2. Erişim Tokenı Alın

Kimlik bilgilerinizi kullanarak bir Bearer token alın. Bu token, diğer API çağrılarında kimlik doğrulama için kullanılacaktır.

curl -X POST https://api.pazarsync.com/api/auth/token \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "your_client_id",
    "client_secret": "your_client_secret",
    "grant_type": "client_credentials"
  }'

3. API İsteklerinde Tokenı Kullanın

Alınan erişim tokenını diğer API isteklerinin Authorization başlığında kullanın.

curl -X GET https://api.pazarsync.com/api/v1/products \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

Hız Sınırlaması

API isteklerinizin sayısı, abonelik planınıza göre sınırlandırılmıştır. Hız sınırları şu şekildedir:

PlanDakika Başına İstekGün Başına İstek
Temel6010,000
İşletme30050,000
Kurumsal1,000Sınırsız

Her API yanıtı, kalan istek limitinizi belirten aşağıdaki başlıkları içerir:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1631789945

API Referansı

Authentication

POST/api/auth/token

API erişim tokenı alır

Parametreler

İsimTipGerekliAçıklama
client_idstringEvetAPI istemci kimliği
client_secretstringEvetAPI istemci sırrı
grant_typestringEvetAuthorization tipi (client_credentials)

Yanıt (200)

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "bearer",
  "expires_in": 3600
}

Ürünler

GET/api/v1/products

Tüm ürünleri listeler

Parametreler

İsimTipGerekliAçıklama
pageintegerHayırSayfa numarası (varsayılan: 1)
limitintegerHayırSayfa başına öğe sayısı (varsayılan: 20, max: 100)
sortstringHayırSıralama alanı (örn: created_at)
directionstringHayırSıralama yönü (asc veya desc)
searchstringHayırÜrün adı veya SKU ile arama

Yanıt (200)

{
  "data": [
    {
      "id": "prod_123456",
      "sku": "ABC-123",
      "name": "Örnek Ürün",
      "description": "Bu bir örnek ürün açıklamasıdır",
      "stock": 150,
      "price": 149.99,
      "status": "active",
      "created_at": "2023-09-15T14:30:00Z",
      "updated_at": "2023-09-15T14:30:00Z"
    },
    {...}
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 10,
    "total_items": 200,
    "items_per_page": 20
  }
}
GET/api/v1/products/{id}

Belirli bir ürünün detaylarını getirir

Parametreler

İsimTipGerekliAçıklama
idstringEvetÜrün kimliği

Yanıt (200)

{
  "id": "prod_123456",
  "sku": "ABC-123",
  "name": "Örnek Ürün",
  "description": "Bu bir örnek ürün açıklamasıdır",
  "stock": 150,
  "price": 149.99,
  "status": "active",
  "images": [
    {
      "id": "img_1",
      "url": "https://example.com/images/product1.webp",
      "alt_text": "A front view of the product"
    }
  ],
  "categories": [
    {
      "id": "cat_456",
      "name": "Elektronik"
    },
    {...}
  ],
  "variants": [...],
  "attributes": {...},
  "created_at": "2023-09-15T14:30:00Z",
  "updated_at": "2023-09-15T14:30:00Z"
}
POST/api/v1/products

Yeni bir ürün oluşturur

Parametreler

İsimTipGerekliAçıklama
skustringEvetÜrün stok kodu
namestringEvetÜrün adı
descriptionstringHayırÜrün açıklaması
stockintegerEvetStok miktarı
pricenumberEvetÜrün fiyatı
statusstringHayırÜrün durumu (aktif, taslak, pasif)
categoriesarrayHayırKategori kimlikleri
imagesarrayHayırÜrün görselleri
attributesobjectHayırÜrün özellikleri

Yanıt (201)

{
  "id": "prod_123456",
  "sku": "ABC-123",
  "name": "Örnek Ürün",
  "description": "Bu bir örnek ürün açıklamasıdır",
  "stock": 150,
  "price": 149.99,
  "status": "active",
  "created_at": "2023-09-15T14:30:00Z",
  "updated_at": "2023-09-15T14:30:00Z"
}

Siparişler

GET/api/v1/orders

Tüm siparişleri listeler

Parametreler

İsimTipGerekliAçıklama
pageintegerHayırSayfa numarası (varsayılan: 1)
limitintegerHayırSayfa başına öğe sayısı (varsayılan: 20, max: 100)
statusstringHayırSipariş durumu ile filtreleme
from_datestringHayırBaşlangıç tarihi (ISO 8601)
to_datestringHayırBitiş tarihi (ISO 8601)

Yanıt (200)

{
  "data": [
    {
      "id": "ord_789012",
      "order_number": "ORD123456",
      "marketplace": "trendyol",
      "status": "processing",
      "total_amount": 349.98,
      "items_count": 2,
      "created_at": "2023-09-16T10:15:00Z",
      "updated_at": "2023-09-16T10:15:00Z"
    },
    {...}
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 5,
    "total_items": 87,
    "items_per_page": 20
  }
}
GET/api/v1/orders/{id}

Belirli bir siparişin detaylarını getirir

Parametreler

İsimTipGerekliAçıklama
idstringEvetSipariş kimliği

Yanıt (200)

{
  "id": "ord_789012",
  "order_number": "ORD123456",
  "marketplace": "trendyol",
  "status": "processing",
  "customer": {
    "name": "Ahmet Yılmaz",
    "email": "ahmet@example.com",
    "phone": "+905551234567"
  },
  "shipping_address": {
    "address_line1": "Örnek Mahallesi, 123 Sokak No:45",
    "address_line2": "Daire 5",
    "city": "İstanbul",
    "state": "Kadıköy",
    "postal_code": "34000",
    "country": "TR"
  },
  "items": [
    {
      "id": "item_123",
      "product_id": "prod_123456",
      "sku": "ABC-123",
      "name": "Örnek Ürün",
      "quantity": 2,
      "unit_price": 149.99,
      "total_price": 299.98
    },
    {...}
  ],
  "total_amount": 349.98,
  "shipping_fee": 50.00,
  "tax_amount": 62.99,
  "discount_amount": 0,
  "created_at": "2023-09-16T10:15:00Z",
  "updated_at": "2023-09-16T10:15:00Z"
}

Stok

PUT/api/v1/products/{id}/stock

Ürün stok miktarını günceller

Parametreler

İsimTipGerekliAçıklama
idstringEvetÜrün kimliği
stockintegerEvetYeni stok miktarı

Yanıt (200)

{
  "id": "prod_123456",
  "sku": "ABC-123",
  "stock": 150,
  "updated_at": "2023-09-17T09:45:00Z"
}
POST/api/v1/stocks/batch

Toplu stok güncellemesi yapar

Parametreler

İsimTipGerekliAçıklama
itemsarrayEvetGüncellenecek ürünler ve stok bilgileri

İstek Gövdesi

{
  "items": [
    {
      "product_id": "prod_123456",
      "stock": 150
    },
    {
      "sku": "DEF-456",
      "stock": 75
    }
  ]
}

Yanıt (200)

{
  "updated": 2,
  "failed": 0,
  "errors": []
}

API Desteği

API entegrasyonuyla ilgili sorularınız veya sorunlarınız mı var? Teknik destek ekibimiz size yardımcı olmaktan memnuniyet duyacaktır.