Anasayfa Geliştiriciler İçin
🖥️

Geliştiriciler İçin

Geliştiriciler için geliştirme notları
Fatih ÇELEBİ Fikret ÇİN
Tarafından Fatih ÇELEBİ and 1 diğer
2 makaleler

Oluşturulan Barkodların 3. Parti Yazılımlar ile Paylaşılması (WooCommerce)

Üçüncü parti servislerin barkod verilerine erişebilmesini sağlamak amacıyla sistemimize yeni bir hook eklenmiştir. do_action( $this->prefix . '_shippment_status_update_' . $shipment_data['status'], $shipment_data, $order ); Bu hook, gönderi (shipment) durumu güncellendiğinde çalışır ve güncellenen gönderi verilerini ($shipment_data) ve ilgili sipariş nesnesini ($order) üçüncü parti entegrasyonlara aktarır. Kullanım Örneği Örneğin, bir barkod oluşturduğunuzda ve bu barkodu siparişe belirli bir veri formatında kaydetmek istediğinizde, aşağıdaki gibi bir işlem gerçekleştirebilirsiniz: add_action('gcargo_shippment_status_update_non_processed', function($shipment_data, $order) { add_post_meta($order->get_id(), 'gl_shipment_package_barcodes', $shipment_data['barcode']); }, 10, 2); Bu örnekte: - gcargo_shippment_status_update_non_processed hook’una abone olunmaktadır. - Gönderi verisinden ($shipment_data['barcode']) barkod alınmakta ve siparişe ($order) 'gl_shipment_package_barcodes' alanı olarak kaydedilmektedir. Faydaları - Üçüncü parti servisler kolayca barkod verisine erişebilir. - Barkod bilgisi, siparişle ilişkilendirilerek süreçler daha verimli yönetilebilir. - Esnek yapı sayesinde farklı gönderi durumlarına özel işlemler yapılabilir. Bizim Hesap için Barkod Paylaşımı BİZİM Hesap gibi 3. parti yazılımlar, oluşturulan barkodlara gl_shipment_package_barcodes alanı üzerinden erişebilir. Gönderi durumu güncellendiğinde çalışan do_action hook’u sayesinde bu barkod bilgisi siparişe kaydedilir. add_action('gcargo_shippment_status_update_non_processed', function($shipment_data, $order) { add_post_meta($order->get_id(), 'gl_shipment_package_barcodes', $shipment_data['barcode']); add_post_meta($order->get_id(), 'gl_tracking_link', $shipment_data['tracking_link']); add_post_meta($order->get_id(), 'gl_tracking_number', $shipment_data['tracking_number']); }, 10, 2); Bu sayede BİZİM Hesap, siparişten gl_shipment_package_barcodes alanını okuyarak barkoda erişebilir.

Son güncelleme tarihi Dec 26, 2025

WordPress Eklentisi Kanca (Hook) Listesi

Otomatik Gönderi Mekanizmasını Özelleştirme Kargo Entegratör modülünün otomatik gönderi oluşturma davranışını aşağıdaki filtreler yardımıyla projenize özel hale getirebilirsiniz. 1. Otomatik Gönderi Tetikleyici Durumları Genişletme Varsayılan olarak modül belirli sipariş durumlarında (örneğin: processing) tetiklenir. Eğer özel bir sipariş durumu (Custom Order Status) kullanıyorsanız veya "Beklemede" (on-hold) olan siparişlerin de otomatik kargoya iletilmesini istiyorsanız bu filtreyi kullanabilirsiniz. add_filter('gcargo_auto_shipment_statuses', function($statuses) { $statuses[] = array( 'text' => 'Beklemede', 'value' => 'on-hold', ); return $statuses; }); 2. Otomatik Gönderi Zaman aşımı (Timeout) Listesini Genişletme Sipariş durumu değiştikten ne kadar süre sonra Kargo Entegratör API'sine veri gönderileceğini seçtiğiniz listeyi bu filtre ile özelleştirebilirsiniz. Bu, özellikle sipariş üzerinde son kontrolleri yapmak için zaman kazanmak isteyen mağazalar için idealdir. add_filter('gcargo_auto_shipment_timeouts', function($timeouts) { $timeouts[] = array( 'text' => '1 Saat', 'value' => 3600, ); return $timeouts; }); Kargo Entegratör Verilerini Manipüle Etme gcargo_shipment_map_wc_order_request ve gcargo_returned_map_wc_order_request filtreleri, sipariş verilerini Woo'dan alıp Kargo Entegratör API'sine iletilmeden hemen önce tetiklenir. Bu filtreler sayesinde, gönderi etiketi oluşturulmadan önce ürün adlarını, desi bilgilerini veya alıcı detaylarını programatik olarak değiştirebilirsiniz. Aşağıdaki kod bloğu; ürün adını düzenleme, özel desi hesaplama ve kargo verisine müdahale etme gibi senaryoları kapsar: add_filter('gcargo_shipment_map_wc_order_request', function($gcargo_request, $order) { // Ürün satırlarını döngüye alarak başlıkları güncelle $gcargo_request['lines'] = array_map(function($line) { // Sipariş öğesi meta verisini al $sample_meta_value = wc_get_order_item_meta($line['platform_id'], '_my_sample_meta_key', true); // Ürün adına meta değerini ekle if (!empty($sample_meta_value)) { $line['title'] = $line['title'] . ' - ' . $sample_meta_value; } return $line; }, $gcargo_request['lines']); // Kapıda ödeme (COD) ise tahsil edilecek tutara 100 TL ekle if ($order->get_payment_method() === 'cod') { $gcargo_request['total'] = $order->get_total() + 100; } return $gcargo_request; }, 10, 2);

Son güncelleme tarihi Feb 03, 2026