
Kargo ve Lojistik Entegrasyonu: E-Ticaret Teslimat Otomasyonu
WooCommerce ve OpenCart için Türkiye'de kargo firması entegrasyonu: MNG Kargo, Yurtiçi, Aras, PTT Kargo API entegrasyonu ve otomatik sipariş takibi.
Kargo ve Lojistik Entegrasyonu: E-Ticaret Teslimat Otomasyonu
Hızlı ve güvenilir kargo, e-ticaret başarısının temel taşlarından biridir. Bu rehberde Türkiye'deki kargo firmalarının API entegrasyonunu ve lojistik otomasyonunu ele alıyoruz.
Türkiye'deki Kargo Firmaları
Firma | API | WooCommerce | Fiyat (Desi başı)
---------------|-----|-------------|------------------
MNG Kargo | ✓ | Eklenti | Anlaşmalı
Yurtiçi Kargo | ✓ | Eklenti | Anlaşmalı
Aras Kargo | ✓ | Eklenti | Anlaşmalı
PTT Kargo | ✓ | Eklenti | Sabit tarife
Sürat Kargo | ✓ | Eklenti | Anlaşmalı
HepsiJet | ✓ | Eklenti | Hepsiburada bağlı
Trendyol Express| ✓ | Trendyol bağlı| Platform bağlı
MNG Kargo Entegrasyonu (WooCommerce)
<?php
// MNG Kargo API Entegrasyonu
class MNGKargoAPI {
private $username;
private $password;
private $customerCode;
private $apiUrl = 'https://api.mngkargo.com.tr/';
public function __construct($username, $password, $customerCode) {
$this->username = $username;
$this->password = $password;
$this->customerCode = $customerCode;
}
public function createShipment($orderData) {
$body = [
'CUSTOMER_CODE' => $this->customerCode,
'SHIPMENT_ORDER_TYPE_CODE' => '1',
'SENDER_NAME' => $orderData['sender']['name'],
'SENDER_ADDRESS' => $orderData['sender']['address'],
'SENDER_CITY' => $orderData['sender']['city'],
'RECEIVER_NAME' => $orderData['receiver']['name'],
'RECEIVER_ADDRESS' => $orderData['receiver']['address'],
'RECEIVER_CITY' => $orderData['receiver']['city'],
'RECEIVER_PHONE' => $orderData['receiver']['phone'],
'DESI' => $orderData['desi'],
'ORDER_NUMBER' => $orderData['order_number'],
'DESCRIPTION' => $orderData['description'],
];
$response = wp_remote_post(
$this->apiUrl . 'shipment/create',
[
'headers' => [
'Authorization' => 'Basic ' . base64_encode($this->username . ':' . $this->password),
'Content-Type' => 'application/json',
],
'body' => json_encode($body),
'timeout' => 30,
]
);
if (is_wp_error($response)) {
return false;
}
return json_decode(wp_remote_retrieve_body($response), true);
}
public function trackShipment($trackingNumber) {
$response = wp_remote_get(
$this->apiUrl . 'shipment/track/' . $trackingNumber,
[
'headers' => [
'Authorization' => 'Basic ' . base64_encode($this->username . ':' . $this->password),
],
]
);
return json_decode(wp_remote_retrieve_body($response), true);
}
}
// WooCommerce sipariş tamamlandığında otomatik kargo oluştur
add_action('woocommerce_order_status_processing', 'create_cargo_shipment');
function create_cargo_shipment($order_id) {
$order = wc_get_order($order_id);
$mng = new MNGKargoAPI(
get_option('mng_username'),
get_option('mng_password'),
get_option('mng_customer_code')
);
$result = $mng->createShipment([
'sender' => [
'name' => 'MagazaNız',
'address' => 'Depo Adres',
'city' => 'İstanbul',
],
'receiver' => [
'name' => $order->get_shipping_first_name() . ' ' . $order->get_shipping_last_name(),
'address' => $order->get_shipping_address_1(),
'city' => $order->get_shipping_city(),
'phone' => $order->get_billing_phone(),
],
'desi' => calculate_order_desi($order),
'order_number' => $order->get_order_number(),
'description' => 'Sipariş #' . $order->get_order_number(),
]);
if ($result && isset($result['TRACKING_NUMBER'])) {
$order->update_meta_data('_tracking_number', $result['TRACKING_NUMBER']);
$order->update_meta_data('_cargo_company', 'MNG');
$order->save();
$order->add_order_note('MNG Kargo takip: ' . $result['TRACKING_NUMBER']);
}
}
Desi Hesaplama
function calculate_order_desi($order) {
$total_desi = 0;
foreach ($order->get_items() as $item) {
$product = $item->get_product();
$qty = $item->get_quantity();
$weight = $product->get_weight(); // kg
$length = $product->get_length(); // cm
$width = $product->get_width(); // cm
$height = $product->get_height(); // cm
// Desi = (En x Boy x Yükseklik) / 3000
$volumetric_desi = ($length * $width * $height) / 3000;
// Ağırlık kg cinsinden
$weight_desi = $weight;
// Büyük olan desi hesaba katılır
$desi = max($volumetric_desi, $weight_desi);
$total_desi += $desi * $qty;
}
return ceil($total_desi); // Yukarı yuvarla
}
Webhook ile Kargo Durum Güncelleme
// Kargo firması webhook endpoint'i
add_action('rest_api_init', function() {
register_rest_route('magazaniz/v1', '/cargo-webhook', [
'methods' => 'POST',
'callback' => 'handle_cargo_webhook',
'permission_callback' => '__return_true',
]);
});
function handle_cargo_webhook($request) {
$data = $request->get_json_params();
$tracking_number = $data['tracking_number'];
$status = $data['status'];
// Sipariş bul
$orders = wc_get_orders([
'meta_key' => '_tracking_number',
'meta_value' => $tracking_number,
'limit' => 1,
]);
if (!empty($orders)) {
$order = $orders[0];
// Teslim edildiyse
if ($status === 'DELIVERED') {
$order->update_status('completed', 'Kargo teslim edildi.');
}
// Müşteriye bildirim
WC()->mailer()->emails['WC_Email_Customer_Note']->trigger(
$order->get_id(),
'Kargo durumunuz: ' . $status
);
}
return rest_ensure_response(['success' => true]);
}
Çoklu Kargo Fiyat Karşılaştırması
// En ucuz kargo seçeneklerini göster
function get_shipping_rates($weight, $city) {
$rates = [];
// MNG Kargo tarifesi
$rates['mng'] = [
'name' => 'MNG Kargo (1-3 İş Günü)',
'price' => calculate_mng_rate($weight, $city),
];
// Yurtiçi Kargo tarifesi
$rates['yurtici'] = [
'name' => 'Yurtiçi Kargo (1-3 İş Günü)',
'price' => calculate_yurtici_rate($weight, $city),
];
// Fiyata göre sırala
usort($rates, fn($a, $b) => $a['price'] <=> $b['price']);
return $rates;
}
Sonuç
Kargo entegrasyonu, e-ticaret operasyonlarını otomatize eder ve müşteri memnuniyetini artırır. Otomatik kargo oluşturma, webhook ile durum takibi ve çoklu kargo karşılaştırması ile profesyonel lojistik altyapısı kurabilirsiniz. Büyükweb e-ticaret hosting çözümleriyle bu entegrasyonlar sorunsuz çalışır.
Ilgili Büyükweb Hizmetleri:
- [E-ticaret VDS paketlerimizi inceleyin](MASK7)
- [Yüksek trafik icin dedicated sunucu](MASK8)
- [Tüm hosting ve sunucu paketlerimiz](MASK9)
E-Ticaret Altyapı Rehberi
Platform Seçimi
WooCommerce: Esnek, geniş eklenti. Küçük-orta işletmeler.
PrestaShop: Güçlü stok, çoklu dil.
OpenCart: Hafif, kolay kurulum.
Shopify: Hosted, teknik bilgi gerektirmez.
Odeme
iyzico, PayTR, Param sanal pos. 3D Secure zorunlu. Kapida odeme önemli. Taksit seceenekleri dönüşumu arttirir.
Marketplace Entegrasyonu
Amazon, Trendyol, Hepsiburada, N11 icin entegrator yazılimi. Stok senkronizasyonu kritik. Çoklu kanal strateji.
Performans
4 GB RAM, 2 vCPU, NVMe SSD minimum. CDN ile görsel hizi. Yüksek trafik dönemlerinde kaynak artırin.
Güvenlik
PCI DSS uyumu. Odeme bilgisi saklamayin. SSL, WAF, KVKK uyumlulugu zorunlu.
SEO
Product schema ekleyin. Görsel optimize edin. Meta bilgilerini özellestirin. Google Shopping entegrasyonu.
Sik Sorulan Sorular
Hosting mi VDS mi?
500 altında ziyaretci hosting yeterli. 1000+ veya marketplace entegrasyonu icin VDS oneriyoruz.
Marketplace entegrasyonu icin ne gerekir?
Sabit IP VDS, entegrator yazılimi, API erisimleri. Büyükweb E-Ticaret VDS bu icin tasarlanmistir.
Sonuc
Başarıli e-ticaret güçlü altyapı, dogru platform ve etkili pazarlama birlesimdir. VDS ile işletmenizi ölçeklendirin.
E-Ticaret Başlangıç Kontrol Listesi
Yasal
- Şirket/sahis kurulumu
- Vergi levhasi
- Mesafeli satis sozlesmesi
- KVKK aydinlatma metni
- Cerez politikasi
- Iade koşullari
Teknik
- Hosting/VDS seçimi
- SSL sertifikasi
- E-ticaret platformu
- Sanal pos (3D Secure)
- Kargo entegrasyonu
- E-fatura entegrasyonu
- Google Analytics + Search Console
Pazarlama
- Google Business Profile
- Sosyal medya hesaplari
- Google Shopping
- Facebook/Instagram Shop
- E-posta pazarlama
E-Ticaret VDS vs Ev Interneti
| Özellik | Ev Interneti | E-Ticaret VDS |
|---|---|---|
| IP | Dinamik | Sabit |
| Temizlik | Bilinmiyor | Temiz |
| Kesinti | Elektrik/internet | %99.8 uptime |
| Hiz | Değişken | 1 Gbps |
| Güvenlik | Düşük | DDoS korumali |
Marketplace işlemleri icin sabit ve temiz IP kritik. Ban riski en aza iner.
Hosting ve Sunucu Terimleri Sozlugu
| Terim | Açıklama |
|---|---|
| VDS | Virtual Dedicated Server - Sanal ozel sunucu |
| NVMe SSD | Non-Volatile Memory Express - En hızlı disk teknolojisi |
| LiteSpeed | Yüksek performansli web sunucu yazılimi |
| CloudLinux | Paylasimli hosting icin kaynak izolasyon işletim sistemi |
| cPanel | Populer web hosting kontrol paneli |
| Plesk | Web hosting ve sunucu yönetim paneli |
| KVM | Kernel-based Virtual Machine - Tam sanallastirma teknolojisi |
| DDoS | Distributed Denial of Service - Dagitik hizmet engelleme saldirisi |
| SSL/TLS | Veri iletişimini sifreleyen güvenlik protokolu |
| TTFB | Time to First Byte - Sunucu yanit süresi |
| CDN | Content Delivery Network - Içerik dagitim ağı |
| WAF | Web Application Firewall - Web uygulama güvenligi duvari |
| IOPS | Input/Output Operations Per Second - Disk performans ölçüsu |
| Uptime | Sunucunun kesintisiz çalışma süresi yüzdesi |
| Bandwidth | Veri transfer kapasitesi |
Bu terimleri anlamak, hosting ve sunucu hizmetlerini daha bilinçli seçmenize yardımci olur. Detaylı bilgi icin Büyükweb blog yazılarini takip edin veya teknik destek ekibimize danisIn.
Teknik Destek ve Yardım Kanallari
Büyükweb olarak müşterilerimize birden fazla destek kanali sunuyoruz:
Canli Destek (Tawk.to)
Web sitemiz üzerinden 7/24 canli destek ile aninda yardım alin. Teknik sorulariniz, fatura işlemleriniz ve genel bilgi talepleriniz icin canli destek ekibimiz hizmetinizdedir.
Telefon Destegi
0850 302 60 70 numarasindan hafta ici ve hafta sonu teknik destek alabilirsiniz. Acil durumlar ve karmasik sorunlar icin telefon destegi en hızlı çözüm yoludur.
E-posta Destegi
[email protected] adresine detaylı sorun tanımlamanizi gonderin. Ekran goruntuleri ve hata mesajlari ile birlikte gonderdiginiz talepler daha hızlı çözümlenir.
Müşteri Paneli
my.buyukweb.com üzerinden destek talepleri oluşturun, faturalarinizi yönetin ve hizmetlerinizi kontrol edin. Ticket sistemi ile tüm iletişiminiz kayıt altındadir.
Bilgi Bankasi
Blog yazılarimiz ve rehberlerimiz ile sik karşılasilan sorunlarin çözümlerini kendiniz bulabilirsiniz. WordPress kurulumu, DNS ayarlari, e-posta yapılandırmasi gibi konularda adim adim rehberler mevcuttur.
Büyükweb teknik ekibi, hosting alanında 17 yıllık tecrubesi ile her turlu sorununuza profesyonel çözüm sunar.
Türkiye Kargo Entegrasyon Pratiği
E-ticaret sitenizin kargo entegrasyonunda Türkiye operatörlerine özel notlar:
Yurt İçi Kargo API'leri
Türkiye'de yaygın kullanılan kargo firmalarının (Yurtiçi, MNG, Aras, Sürat, PTT vb.) çoğunda SOAP veya REST tabanlı entegrasyon API'si bulunur. Tipik akış:
1. Sipariş oluştur → kargo firmasından takip no al
2. Etiket bas (PDF veya ZPL formatı)
3. Webhook ile durum güncellemesi al
4. Müşteriye SMS/e-posta bildir
API entegrasyonu yapmadan önce kargo firmasıyla kurumsal sözleşme ve API erişim talebinde bulunmanız gerekir. Sözleşmesiz hesaplarda günlük limit düşüktür.
Webhook Almak için Sabit IP
Kargo firmaları webhook'ları yalnızca belirli IP'lerden gönderir; sizin tarafınızda da sabit IP olması güvenlik açısından önemlidir. Büyükweb VDS sunucu paketleri tüm paketlerde sabit Türkiye IP sunar.
Yüksek Sipariş Hacminde Sıra (Queue)
Saniyede 10+ sipariş geliyorsa kargo API'sini doğrudan çağırmak yerine queue kullanın:
// BullMQ + Redis örneği
const Queue = require('bullmq').Queue;
const cargoQueue = new Queue('cargo-creation');
cargoQueue.add('create-shipment', { orderId: 12345 });
Bu yapı:
- Kargo API rate limit'ini aşmaz
- Hata durumunda otomatik retry yapar
- Müşteri sipariş tamamlama deneyimini hızlandırır (sipariş yazıldıktan sonra arka planda etiket basılır)
Performans ve İzleme
Kargo entegrasyonunda kritik metrikler:
| Metrik | Hedef |
|---|---|
| Etiket oluşturma süresi | < 2 sn |
| Webhook gecikme | < 30 sn |
| Hata oranı | < %0.5 |
| Failover (ikinci kargo firmasına geçiş) | < 5 dk |
Bu metrikleri Zabbix veya Prometheus üzerinde dashboard olarak takip edin.
Sıkça Sorulan Sorular
Birden fazla kargo firması ile çalışmak gerekli mi?
Evet, iki firma minimum. Bir firmanın geçici problem yaşadığında alternatife geçmek müşteri deneyimini korur. WMS yazılımları genelde multi-carrier desteği sunar.
Kargo entegrasyon hosting'de mi çalışmalı?
Hosting paylaşımlı paketinde cron + webhook çalışabilir, ancak yüksek hacim için VDS önerilir. Büyükweb E-Ticaret VDS paketinde Redis + queue altyapısı için optimize kaynak ayrılır.
KVKK açısından kargo verisi nasıl tutulmalı?
Müşterinin adı, adresi, telefonu, sipariş içeriği kişisel veri kapsamındadır. KVKK 5. ve 6. maddeler gereği yurt içinde tutulmalı, 6 ay-3 yıl arasında saklama süresi politikası tanımlanmalıdır. Büyükweb Türkiye lokasyonu bu uyumu kolaylaştırır.
İlgili Büyükweb Hizmetleri
E-ticaret sitenizin yükü için ölçeklenebilir Türkiye lokasyonlu paketler:
- E-Ticaret VDS
- WooCommerce için WordPress Hosting
- VDS Sunucu
- cPanel Web Hosting
- Yüksek Hacim için Dedicated
Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.
E-Ticaret İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:

