Olaylar ve payload'lar
Bir olayı almak, verisinin scope’unu gerektirir
Bölüm başlığı “Bir olayı almak, verisinin scope’unu gerektirir”Abonelik oluşturmak write_webhooks gerektirir. Bir olayı almak ise taşıdığı verinin okuma scope’unu
(yetkisini) gerektirir; bu, her teslimatta kurulumunuzun o anda sahip olduklarına göre denetlenir:
| Olay ailesi | Almak için gereken scope |
|---|---|
order.* |
read_orders (write_orders bunu kapsar) |
product.* |
read_products |
customer.* |
read_customers |
form.submitted |
read_forms |
blog_post.* |
read_blogs (write_blogs bunu kapsar) |
metaobject.* |
read_metaobjects (write_metaobjects bunu kapsar) |
page.* |
read_content (write_content bunu kapsar) |
Aşağıda kişisel veri olarak işaretlenen alanlar, kurulumunuz ayrıca read_customer_pii’ye sahip değilse
gövdeden çıkarılır. Tüccar bir scope’u geri çekerse sonraki olay size teslim edilmez. Alamayacağınız bir olaya
abone olmak, gereken scope’u adıyla belirten bir 400 ile reddedilir.
Katalog
Bölüm başlığı “Katalog”| Olay | Abone olunabilir | Bugün gönderiliyor |
|---|---|---|
order.created |
evet | evet — sipariş oluştuğunda (ödeme sayfası, kanal aktarımı), hangi durumda başlarsa |
order.paid |
evet | evet |
order.processing |
evet | evet |
order.fulfilled |
evet | evet — bir kez, siparişin tamamı mağazadan ilk çıktığında (Shipped ya da Shipped olmadan Delivered) |
order.partially_fulfilled |
evet | evet — bir kez, parça parça gönderilen bir siparişin ilk kolisi çıktığında ve hâlâ gönderilecek ürün varken; son koliyle order.fulfilled gelir |
order.shipped |
evet | evet |
order.delivered |
evet | evet |
order.cancelled |
evet | evet |
order.refunded |
evet | evet |
product.created / product.updated / product.deleted |
evet | evet — kaydedilen her katalog değişikliğinde, varyant değişiklikleri dahil |
customer.created / customer.updated |
evet | evet — kayıtta, içe aktarmada ya da mağaza sahibi eklediğinde; her profil veya adres defteri değişikliğinde |
form.submitted |
evet | evet |
blog_post.created / blog_post.updated / blog_post.published / blog_post.deleted |
evet | evet — yazıyı hangi yazıcı değiştirirse değiştirsin her işlenen blog değişikliğinde; published bir kayıt yazıyı yayına aldığında ve zamanlanmış yazının saati geldiğinde. Bkz. blog yazıları |
metaobject.created / metaobject.updated / metaobject.published / metaobject.deleted |
evet | evet — kaydı hangi yazıcı değiştirirse değiştirsin (yönetim paneli, bir uygulama, içe aktarma) her işlenen özel veri kaydı değişikliğinde; published bir kayıt girdiyi yayına aldığında (kendiliğinden yayına giren zamanlanmış kayıt olay göndermez) |
page.created / page.updated / page.published / page.deleted |
evet | evet — her işlenen sayfa değişikliğinde; published bir kayıt sayfayı yayına aldığında (saatle yayına giren zamanlanmış sayfa olay göndermez) |
Katalogdaki her olay gönderilir. Olaylar değişiklik kaydedildikten sonra, genellikle birkaç saniye içinde çıkar.
Zarf (envelope) yoktur: gövde olay nesnesinin kendisidir, camelCase JSON. Olay türü Ciqra-Event
header’ında, olay id’si ise Ciqra-Event-Id’de taşınır.
order.*
Bölüm başlığı “order.*”{ "orderId": "5b1e…", "orderNumber": "SEY-100482", "status": "Paid", "occurredAt": "2026-09-22T10:15:03.412+00:00"}| Alan | Notlar |
|---|---|
orderId |
UUID. |
orderNumber |
Tüccarın ve alışverişçinin gördüğü numara. |
status |
Siparişin geçtiği durum: Paid, Shipped, Cancelled veya Refunded. |
customerEmail |
Kişisel veri — yalnızca read_customer_pii ile bulunur. |
occurredAt |
Geçişin kaydedildiği zaman. |
Olay id’si {orderId}:{status} biçimindedir; dolayısıyla bir sipariş, durum başına en fazla bir olay üretir.
Gövde bilerek minimal tutulmuştur. Satır kalemleri, tutarlar veya adresler için sipariş API’si gerekir; o da henüz uygulamalara açık değildir — bkz. sınırlamalar.
product.*
Bölüm başlığı “product.*”{ "productId": "9c2d…", "name": "Ceramic Mug", "slug": "ceramic-mug", "status": "Active", "kind": "Physical", "tags": ["kitchen"], "publishedAt": "2026-09-20T08:00:00+00:00", "createdAt": "2026-09-01T12:00:00+00:00", "updatedAt": "2026-09-22T10:15:03+00:00", "deleted": false, "variants": [ { "variantId": "…", "sku": "MUG-01", "price": 22.50, "compareAtPrice": null, "currency": "USD" } ], "occurredAt": "2026-09-22T10:15:03.412+00:00"}| Alan | Notlar |
|---|---|
productId |
UUID. |
status, kind |
Ürünün durumu (Active, Draft, …) ve türü (Physical, Digital, …). |
variants |
Her varyant: kimlik, SKU, fiyat, karşılaştırma fiyatı ve para birimi. |
occurredAt |
Değişikliğin kaydedildiği an. |
product.updated, ürünün ya da varyantlarından birinin her değişikliğinde gönderilir. Yalnızca satış veya
puan sayaçlarının değişmesi bir güncelleme sayılmaz. Stok seviyeleri bu olayda yer almaz.
product.deleted yalnızca kimliği ve silinme anını taşır:
{ "productId": "9c2d…", "deleted": true, "deletedAt": "2026-09-22T10:15:03+00:00", "occurredAt": "2026-09-22T10:15:03.412+00:00" }customer.*
Bölüm başlığı “customer.*”{ "customerId": "41a7…", "firstName": "Ada", "lastName": "Lovelace", "phone": "+15555550123", "emailConfirmed": true, "isActive": true, "tags": ["vip"], "preferredLanguage": "en", "createdAt": "2026-09-01T12:00:00+00:00", "updatedAt": "2026-09-22T10:15:03+00:00", "closedAt": null, "occurredAt": "2026-09-22T10:15:03.412+00:00"}| Alan | Notlar |
|---|---|
email, firstName, lastName, phone |
Kişisel veri — yalnızca read_customer_pii ile bulunur. |
isActive, closedAt |
Hesabın oturum açıp açamayacağı ve kapatıldığı an (açıkken null). |
customer.updated, profilin ya da adres defterinin her değişikliğinde gönderilir. Parola değişikliği veya
oturum açma bir güncelleme sayılmaz.
form.submitted
Bölüm başlığı “form.submitted”{ "formId": "…", "formName": "Contact", "submissionId": "…", "languageCode": "tr", "submittedAt": "2026-09-22T10:15:03+00:00", "values": { "name": "…", "email": "…", "message": "…" }}| Alan | Notlar |
|---|---|
values |
Kişisel veri — yalnızca read_customer_pii ile bulunur. Tüccarın tanımladığı, formun kendi alan anahtarlarıyla anahtarlanır; alışverişçinin ne yazdıysa onu içerir. |
Yalnızca read_forms ile bir formun gönderildiğini, hangisinin, ne zaman ve hangi dilde gönderildiğini öğrenirsiniz.
blog_post.*
Bölüm başlığı “blog_post.*”{ "postId": "5b1e…", "slug": "bathrobe-or-towel", "title": "Bornoz mu havlu mu?", "status": "published", "publishedAt": "2026-10-15T08:00:00+00:00", "editions": [ { "locale": "en", "slug": "bathrobe-or-towel-en" } ], "categoryIds": [ "…" ], "deleted": false, "occurredAt": "2026-10-15T08:00:02+00:00"}| Alan | Notlar |
|---|---|
status |
draft, scheduled veya published. |
editions |
Yazının bulunduğu her dil; slug, o dil yazının adresini izliyorsa null. |
deleted |
blog_post.deleted olayında true; yalnızca postId, deleted, deletedAt, occurredAt ve hâlâ okunabiliyorsa slug ile title taşır. |
Kişisel veri ve gövde metni yoktur: yükün tamamını yalnızca read_blogs alır. blog_post.published, bir kayıt yazıyı yayına aldığında gönderilir; ayrıca zamanlanmış bir yazının saati geldiğinde (publishedAt sonrası en geç bir iki dakika içinde) bir kez daha gönderilir. Ayrıntı: blog yazıları.
metaobject.*
Bölüm başlığı “metaobject.*”{ "entryId": "9c2a…", "type": "tour", "handle": "bosphorus-sunset", "status": "published", "publishedAt": "2026-11-01T08:00:00+00:00", "locales": null, "deleted": false, "occurredAt": "2026-11-01T08:00:02+00:00"}| Alan | Notlar |
|---|---|
type |
Kaydın bağlı olduğu türün (tanımın) tanıtıcısı. |
locales |
Kaydın kısıtlandığı diller; her dil için null. |
deleted |
metaobject.deleted olayında true; yalnızca entryId, type, handle, deleted, deletedAt, occurredAt taşır. |
Alan değerleri yükte asla yer almaz (bir alan, mağaza sahibinin yazdığı her şeyi taşıyabilir): read_metaobjects ile okuyun. Kişisel veri yoktur; yükün tamamını yalnızca read_metaobjects alır.
page.*
Bölüm başlığı “page.*”{ "pageId": "31d0…", "slug": "about-us", "title": "Hakkımızda", "status": "published", "publishedAt": "2026-11-01T08:00:00+00:00", "locales": [ "en" ], "deleted": false, "occurredAt": "2026-11-01T08:00:02+00:00"}status: draft, scheduled veya published; locales çevrilmiş sürümleri listeler. page.deleted yalnızca pageId, slug, title (hâlâ okunabiliyorsa), deleted, deletedAt, occurredAt taşır. Gövde metni ve kişisel veri yoktur; yükün tamamını yalnızca read_content alır.