Geliştiriciler — Universal Connector

Özel yazılımlı sitenden SpyDash’e salt okunur veri gönder. Anahtar yalnızca SpyDash’in raporlama veritabanına yazar; dış sistemini değiştiremez.

1. API anahtarı oluştur

Ayarlar → API anahtarları ekranından kapsam seçerek bir anahtar üret. Token yalnızca bir kez gösterilir; SHA-256 karması saklanır.

Kapsamlar: ingest:ordersingest:productsingest:inventoryingest:expensesingest:salesingest:fulfillment

2. İsteği imzala

Her istek için gövdeyi ham metin olarak imzala:

signature = hex( HMAC-SHA256( api_key_token, "${timestamp}.${rawBody}" ) )

Başlıklar

  • X-SpyDash-Signature — yukarıdaki hex imza
  • X-SpyDash-Timestamp — Unix saniye
  • X-SpyDash-Nonce — istek başına benzersiz rastgele değer
  • Content-Type: application/json

Zaman damgası sunucu saatinden en fazla 300 saniye sapabilir; nonce tekrarları reddedilir. idempotency_key en az 8 karakter olmalı; aynı anahtar tekrar gönderilirse event yok sayılır.

Uç noktalar

  • POST /api/v1/ingest/events — Tek event
  • POST /api/v1/ingest/batches — Toplu (en fazla 500 event) ({ "batch_id": "...", "events": [ ... ] })
BODY='{"event_id":"evt_1","event_type":"order.created","schema_version":"1.0","source":"my-shop-backend","occurred_at":"2026-10-15T14:32:00+03:00","idempotency_key":"order-1001-v1","data":{"external_id":"1001","occurred_at":"2026-10-15T14:32:00+03:00","lines":[{"sku":"SKU-001","name":"Tuval","quantity":1,"unit_price":"1890.00"}]}}' TS=$(date +%s) NONCE=$(openssl rand -hex 12) SIG=$(printf '%s.%s' "$TS" "$BODY" | openssl dgst -sha256 -hmac "$SPYDASH_API_KEY" | sed 's/^.* //') curl -X POST "$SPYDASH_URL/api/v1/ingest/events" \ -H "Content-Type: application/json" \ -H "X-SpyDash-Signature: $SIG" \ -H "X-SpyDash-Timestamp: $TS" \ -H "X-SpyDash-Nonce: $NONCE" \ --data-binary "$BODY"

3. Event zarfı

Her event aynı zarf alanlarını taşır; data alanı event_type’a göre şemalanır.

{
  "event_id": "evt_01HZX...",
  "event_type": "order.created",
  "schema_version": "1.0",
  "source": "my-shop-backend",
  "occurred_at": "2026-10-15T14:32:00+03:00",
  "currency": "TRY",
  "idempotency_key": "order-1001-v1",
  "data": {
    "external_id": "1001",
    "status": "completed",
    "occurred_at": "2026-10-15T14:32:00+03:00",
    "currency": "TRY",
    "discounts": "50.00",
    "shipping_income": "80.00",
    "transaction_fees": "42.10",
    "customer_ref": "c_8812",
    "lines": [{ "sku": "SKU-001", "name": "Tuval 50x70", "quantity": 1, "unit_price": "1890.00" }]
  }
}

Event türleri

event_typescope
order.createdingest:orders
order.updatedingest:orders
order.refundedingest:orders
product.upsertingest:products
inventory.snapshotingest:inventory
expense.recordedingest:expenses
sale.recordedingest:sales
fulfillment.updatedingest:fulfillment

SpyDash dış sistemlere hiçbir zaman yazmaz; tüm entegrasyonlar salt okunurdur. Güvenlik.