Webhook'lar

Mağazada bir şey olunca kendi sunucuna imzalı bir istek gelir. Sorgulamadan, anında.

Bir adres ver ve olayları seç; olay olduğunda MultiKolay o adrese POST atar. Siparişleri dakikada bir sorgulamak yerine webhook kullan: hem daha hızlı hem istek sınırına takılmazsın.

Aboneliği aç

Panelde Ayarlar → API anahtarları sayfasının Webhook'lar bölümünden ya da API'yle (webhook:yonet izni gerekir):

curl -X POST https://api.multikolay.com/v1/webhooklar \
  -H "Authorization: Bearer $MK_API_ANAHTARI" \
  -H "Content-Type: application/json" \
  -d '{ "adres": "https://ornek.com/multikolay/webhook", "olaylar": ["siparis.olusturuldu", "stok.degisti"] }'

Yanıttaki gizli (whsec_…) imza sırrıdır; sakla. Adres https:// ile başlamalı ve bir alan adı olmalı (IP ya da localhost olamaz).

İsteği karşıla

POST /multikolay/webhook HTTP/1.1
Content-Type: application/json
MK-Olay: siparis.olusturuldu
MK-Teslimat: whd_01M5…
MK-Imza: t=1792344310,v1=5f2c…

{
  "id": "evt_mgx3k2a1f09c4e7b2d81a6",
  "olay": "siparis.olusturuldu",
  "magaza": "gelistirici",
  "zaman": "2026-10-19T05:16:29.894Z",
  "veri": { "id": "order_01M599DZ…", "no": "6", "durum": "hazirlaniyor", "toplam": 220000, "…": "…" }
}

Önce imzayı doğrula, sonra 10 saniye içinde 2xx dön. Ağır işi kuyruğa al.

Dene

Test olayı gönder adresine test.ping olayını yollar; panelde de aynı düğme var. Test mağazasında en çok 5 abonelik açılabilir.

Gövde

AlanAçıklama
idOlayın kimliği (evt_…). Aynı olay tekrar gelirse aynıdır; tekrarları bununla ayıkla.
olayOlay adı. Bkz. Olaylar.
magazaMağazanın kimliği. Birden çok mağazayı tek adrese bağladıysan ayırt etmek için.
zamanOlayın olduğu an (ISO 8601, UTC).
veriOlay anındaki kayıt; API'nin döndüğü biçimle aynı.
ekBazı olaylarda olaya özgü bilgi, ör. siparis.kargoya_verildi'de gonderi_id.

Bu sayfada