Olaylar ve anlamları
| Olay | Anlamı | Yöntem |
|---|---|---|
| CreateOrder | Yeni sipariş oluştu | POST |
| OrderCancel | Sipariş ya da kalem iptal edildi | POST |
| Intransit | Paket kargoya verildi, yolda | POST |
| Deliver | Paket teslim edildi | POST |
| Undeliver | Paket teslim edilemedi | POST |
| CreatePackages | Paket oluşturuldu | POST |
| ChangeShippingAddress | Teslimat adresi değişti | POST |
| Unpack | Paket bozuldu | PUT |
Olayı gövdeden tanımak
Önce gövdede olay adını taşıyan bir alan arayın. Saystok bunun için type, eventType ve notificationType alanlarına bakar. Bu alanlar yoksa olay, gövdede hangi alanların bulunduğuna göre tanınır.
| Gövdede görülen alan | Tanınan olay |
|---|---|
| items dizisi ve kalemlerde orderNumber | CreateOrder |
| shippedDate | Intransit |
| receivedDate | Deliver |
| undeliveredDate | Undeliver |
| cancelDate ve id | OrderCancel |
| orderNumber ve addressId | ChangeShippingAddress |
| packageNumber | CreatePackages |
Bu eşleme Saystok'un tanıma kuralıdır; Hepsiburada'nın gövde şemaları için resmî dokümana bakın. Tanınmayan olayı yok saymayın; kaydedin ki yeni bir olay tipi eklendiğinde fark edilsin.
Her olayda ne yapılmalı?
- CreateOrder: siparişleri hemen okuyun ve stoğu diğer kanallarda düşürün. Bildirimdeki kalem kimliği ile sipariş numarasını kısa süreli saklamak, sonraki işlemleri hızlandırır.
- OrderCancel: iptal listesini okuyun, düşülen adedi geri ekleyin.
- Undeliver: teslim edilemeyen paketi işleyin; stok kuralınızı uygulayın.
- Intransit ve Deliver: yalnız durumu güncelleyin; stok değişmez.
- CreatePackages: paket numarasını alın; etiket ve fatura işlemleri bu numarayla yapılır.
- ChangeShippingAddress: adresi sipariş detayından yeniden okuyun; kargo etiketi basıldıysa kontrol edin.
- Unpack: kalemleri yeniden paketlenecek sayın, eski paket numarasını geçersizleyin.
Sıra ve tekrar
Bildirimler her zaman olayların gerçekleştiği sırayla gelmeyebilir ve aynı bildirim birden fazla gelebilir. Bu iki gerçeğe göre tasarlayın:
- Her bildirimi bir tetikleyici sayın; güncel durumu API'den okuyun.
- Stok değiştiren işlemleri sipariş ve olay bazında tekilleştirin.
- Teslim bildirimi kargo bildiriminden önce gelirse son durumu esas alın.
- Bildirimleri kaydedin; sorun çıktığında olay geçmişini görebilmek hata ayıklamayı kısaltır.
Sık hatalar ve çözümleri
| Belirti | Olası neden | Çözüm |
|---|---|---|
| Bazı olaylar Unknown olarak kaydediliyor | Gövde beklenen alanları taşımıyor | Gövdeyi kaydedip tanıma kuralını güncelleyin |
| İptalde stok geri gelmiyor | OrderCancel yalnız kaydediliyor, işlenmiyor | Bildirimde sipariş işlemeyi tetikleyin |
| Bildirim gelen sipariş stok düşürmedi | Bildirim siparişi işlendi saydı ama stok düşmedi | Stok düşümünü tek bir işleme akışına bırakın |
| Unpack hiç görülmüyor | PUT kabul edilmiyor | Aynı adreste PUT kabul edin |
Sık sorulanlar
Hepsiburada webhook hangi olayları gönderir?
CreateOrder, OrderCancel, Intransit, Deliver, Undeliver, CreatePackages, ChangeShippingAddress ve Unpack.
Olay tipini nasıl anlarım?
Önce gövdedeki tür alanına bakın. Yoksa shippedDate, receivedDate, cancelDate gibi ayırt edici alanlardan tanıyın.
Unpack olayı neden POST değil?
Hepsiburada paket bozma bildirimini PUT ile gönderir. Alıcınız aynı adreste PUT kabul etmelidir.
Bildirimdeki veriyle stok düşürebilir miyim?
Önerilmez. Bildirimi tetikleyici sayın, siparişi API'den okuyup stok düşümünü tek bir akışta yapın.
Bilinmeyen bir olay gelirse ne yapmalıyım?
Kaydedin ve 200 dönün. Gövdeyi inceleyip tanıma kuralınızı güncelleyin; Hepsiburada yeni bir olay tipi eklemiş ya da gövde yapısını değiştirmiş olabilir.
Kaynaklar
İlgili Hepsiburada API konuları
Son güncelleme: 27.10.2026 · Hepsiburada API rehberinin tamamı


