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 imzaX-SpyDash-Timestamp— Unix saniyeX-SpyDash-Nonce— istek başına benzersiz rastgele değerContent-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 eventPOST /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_type | scope |
|---|---|
order.created | ingest:orders |
order.updated | ingest:orders |
order.refunded | ingest:orders |
product.upsert | ingest:products |
inventory.snapshot | ingest:inventory |
expense.recorded | ingest:expenses |
sale.recorded | ingest:sales |
fulfillment.updated | ingest:fulfillment |
SpyDash dış sistemlere hiçbir zaman yazmaz; tüm entegrasyonlar salt okunurdur. Güvenlik.