PHP

PHP ile N11 Soap Api Kullanımı

Merhaba arkadaşlar, uzun zaman önce yazmayı düşündüğüm bir örnek yazının taslak metni ile şuanda başlamış bulunuyorum. Tek yazıdan ziyade bir kaç yazıda n11 mağazamız için soap api kullanarak her türlü işlemi size anlatmayı hedefliyorum.

Bu yazıda anlatılanları kendi mağazanız için yapabilmek adına basit düzeyde PHP bilgisine sahip olmanız yeterli.

İlerleyen zamanlarda fırsat bulursam otomatik güncelleme yapabileceğiniz basit yazılımları da sizlerle paylaşmayı hedefliyorum.

ÖNCELİKLE bu yazının devamını okumadan önce n11 mağaza paneline giriş yaparak sırasıyla Hesabım -> API Hesapları -> Yeni Hesap Oluştur diyerek API Anahtarı ve API Şifresi almalısınız.

Aynı sayfadan SOAP tabanlı n11 api dökümanına da ulaşabilirsiniz.

DİKKAT! Bu bilgiler oldukça önemli olduğu için tanımadığınız veya güvenmediğiniz kişiler ile paylaşmayın. Aksi taktirde bu bilgiler ile mağazanızdaki tüm ürünlerin silinmesi dahil her türlü işlem yapılabilir.

Entegrasyon için bir sınıfa ihtiyacımız var. Her türlü işlemi bu sınıfa fonksiyon olarak ekleyerek daha derli-toplu bir işlem yapabiliriz.

Ben anlatacağım her örnekten sonra sınıfa ekleme yaparak sınıf dosyasını oluşturacağım. Sizde güncel sınıf dosyasına bu mesajın altındaki kod alanından ulaşabilirsiniz.

Güncelleme: 09.11.2019
Ürün ekleme fonksiyonu eklendi
Ürün silme fonksiyonu eklendi

Sınıfımızı kaydettikten sonra testlerimize başlayabiliriz. Öncelikle ürün eklemeden önce o ürünü belirli bir kategoriye eklememiz gerekli. n11 deki tüm ana kategorileri alttaki kod ile bulabilirsiniz. Dizide gelen kategori idlerini not edin, birazdan ürünümüze ait uygun alt kategorileri de listeleyeceğiz.

Az önce bulduğumuz ana kategori idsi ile alt kategorileri alttaki kod ile getirebiliriz.

Kategorimizi de bulduğumuza göre artık ürün eklememizi yapabiliriz.

Ürün eklemek için SaveProduct fonksiyonunu kullanacağız. Bu alan çok fazla detay barındırıyor. Alttaki örnekte en yalın hali yer alıyor. Ne bir ürün seçeneği, ne de fiyat kampanyası var.

Sonuç;

Bu arada $n11id ile gelen değişkeni mutlaka veritabanın da kayıt altına alın, zira üründeki tüm değişiklikler, güncellemeler o id vasıtasıyla gerçekleşiyor.

Eklediğimiz ürünü silmek için ise DeleteProductById fonksiyonunu kullanabilirsiniz.

Eğer ürününüze ait seçenekleri (Beden-Renk-Yaş) de eklemek isterseniz o zaman SaveProduct da kullandığımız dizide attiribute alanını alttaki gibi değiştirebilirsiniz.

N11 de kalıp ürün seçenekleri yer almıyor siz nasıl eklerseniz o şekilde gösteriyor. Esnek bir yapısı var. Her seçime farklı stok, fiyat ekleyebilirsiniz. Mesela M beden Siyah Kot 50 TL iken S beden Siyah Kot 30 TL yapabilirsiniz.

Bunu yapmak için ise üst tarafta yer alan

kodlarını alttaki kod dizisi ile değiştirmek

Bu yapılan işlem ile $stokItem dizimiz artık ürünlere ait seçenekleri tutuyor. Dediğim gibi ürünlerin alt seçeneklerindeki adet, fiyat bilgisini tek tek sisteme işleyebilirsiniz.

Birden fazla seçenek için örnekte olduğu gibi stockItem[0] kısmını çoğaltabilirsiniz. Indis değerini de arttırmayı unutmayın. Bu işlem biraz kafa karıştırıcı oldu en kısa zamanda daha sadece bir şekle çevireceğim 🙂

Share this Story

Related Posts