İçeriğe geç

Olaylar ve payload'lar

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.

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.

{
"orderId": "5b1e…",
"orderNumber": "SEY-100482",
"status": "Paid",
"customerEmail": "[email protected]",
"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.

{
"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" }
{
"customerId": "41a7…",
"email": "[email protected]",
"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.

{
"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.

{
"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ı.

{
"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.

{
"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.