API Reference

Pazar yeri entegrasyonlarını karmaşık XML/SOAP protokolleri veya farklı JSON yapılarıyla değil, tek bir temiz JSON standardı ile yönetin. HubCartGo soyutlama katmanı ile entegrasyon sürenizi haftalardan saatlere indirin.

Neden HubCartGo?

Geleneksel entegrasyonlarda her pazar yerinin farklı bir rate-limit sınırı, veri formatı ve hata kodu vardır. HubCartGo Soyutlama Katmanı (Abstraction Layer) olarak çalışır:

  • Rate-Limit Yönetimi: Saniyede 1000 stok güncellemesi yollasanız bile sistemimiz bunları pazar yerinin hız sınırına göre kuyruğa alır. Ceza yemezsiniz.
  • Güvenilir Webhooklar: Sipariş webhook'ları sunucunuza ulaşılamadığında kaybolmaz. Sistemimiz otomatik Retry dener ve Dead-Letter Queue ile siparişi korur.
  • Tek Format: Hepsiburada'nın veya Trendyol'un kargo verisini ayıklamakla uğraşmazsınız. Hepsi IStandardOrder formatında gelir.

Developer First

Built by engineers, for engineers.

Kimlik Doğrulama

API'ye yapacağınız tüm isteklerde Authorization: Bearer <token> başlığı (header) kullanılmalıdır. Token'larınızı geliştirici panelinden alabilirsiniz.

Webhook Güvenliği

Pazar yerlerinden sunucunuza ileteceğimiz webhook bildirimleri JWT yerine HMAC-SHA256 imza doğrulaması ile korunur. İstek başlığındaki (header) imzayı, panelinizden alacağınız Secret Key ile doğrulayarak verinin bizden geldiğinden emin olabilirsiniz.

cURL
curl -X GET https://api.hubcartgo.com/v1/orders \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json"

Universal Schema

Trendyol, Hepsiburada veya Amazon'dan gelen birbirinden tamamen farklı sipariş JSON'ları, HubCartGo tarafından işlenir ve sağdaki tek standart yapıya (IStandardOrder) dönüştürülür.

Böylece kendi veritabanınıza sadece bu standart formatı kaydedecek kodu yazarsınız. Pazar yerlerinin özel formatlarındaki değişiklikler sizi etkilemez.

Webhook Payload
{
  "id": "ggc_order_a1b2c3d4",
  "marketplace": "trendyol",
  "marketplaceOrderId": "TY-998877",
  "status": "pending",
  "createdAt": "2024-11-14T10:22:00Z",
  "currency": "TRY",
  "totalPrice": 299.80,
  "items": [
    {
      "sku": "8680000000001",
      "name": "Mavi Gömlek",
      "quantity": 2,
      "unitPrice": 149.90
    }
  ],
  "shippingAddress": {
    "fullName": "Ali Yılmaz",
    "line1": "Atatürk Cad. No:5",
    "city": "İstanbul",
    "country": "TR"
  },
  "cargo": {
    "providerName": "Trendyol Express",
    "trackingNumber": "7280027504111111"
  }
}

Çoklu Stok Güncelleme

Bir ürünün stoğu deponuzda değiştiğinde, bunu tek bir istekle tüm pazar yerlerine yollayabilirsiniz. HubCartGo bu isteği alır, arkada asenkron olarak işler ve pazar yerlerine güvenle dağıtır.

POST /v1/inventory/update

Bu işlem size HTTP 202 (Accepted) cevabı ve bir jobId döner. Gerçek zamanlı olarak güncellemenin hangi platformlarda başarılı olduğunu bu id ile sorgulayabilirsiniz.

Request Body
{
  "updates": [
    {
      "sku": "8680000000001",
      "marketplaces": [
        "trendyol", 
        "amazon", 
        "hepsiburada"
      ],
      "quantity": 45
    }
  ]
}