turkmvc / n11-php-api
N11 PHP API
dev-main
2021-01-31 14:55 UTC
This package is auto-updated.
Last update: 2024-09-29 05:56:16 UTC
README
此API是为N11编写的。为N11编写的先进PHP集成API。此外,还有一个函数可以将N11上到达您商店的订单传输到您的网站。
快速浏览
- 安装
- 使用
- 城市服务(CityService)
- 运输公司服务(ShipmentCompanyService)
- 分类服务(CategoryService)
- 产品服务(ProductService)
- 产品销售状态服务(ProductSellingService)
- 产品库存服务(ProductStockService)
- 订单服务(Order Service)
- N11 订单通知 WebHook(N11 订单 WebHook 测试版)
安装
安装时需要使用Composer。如果您没有Composer,可以从这里下载Windows版本。
composer require turkmvc/n11-php-api
使用
use turkmvc\PazarYeri\N11\N11Client; include "vendor/autoload.php"; $client = new N11Client(); $client->setApiKey('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'); $client->setApiPassword('xxxxxxxxxxxxxxxx');
城市服务(CityService)
/** * * @description N11 Üzerindeki bütün şehirlerin listesini döndürür. * */ $client->city->getCities(); /** * * @description Şehir hakkında birkaç bilgi döndürür. * @param int Şehir Id - Zorunlu * */ $client->city->getCity(34); /** * * @description Plaka kodu verilen şehre ait ilçelerinin listelenmesi için kullanılır. * @param int Şehir Id - Zorunlu * */ $client->city->getDistrict(34); /** * * @description İlçe kodu verilen semt/mahallelerin listelenmesi için kullanılır. * @param int İlçe Id - Zorunlu * */ $client->city->getNeighborhoods(22569);
运输公司服务(ShipmentCompanyService)
/** * * @description N11 Üzerinde tanımlı olan tüm kargo şirketlerini listeler * */ $client->shipmentcompany->getShipmentCompanies();
发货模板服务(ShipmentService)
/** * * @description Oluşturulan teslimat şablonu bilgilerini listelemek için kullanılan metoddur. * */ $client->shipment->getShipmentTemplateList(); /** * * @description Teslimat şablon ismi ile aratılan şablonun bilgilerini döndürür. * @param string Şablon Adı - Zorunlu * */ $client->shipment->getShipmentTemplate('Ücretsiz Kargo');
分类服务(CategoryService)
/** * * @description N11 üzerinde tanımlanmış tüm üst seviye kategorileri döndürür. * */ $client->category->getTopLevelCategories(); /** * * @description İstenilen kategori, üst seviye kategori veya diğer seviye kategorilerden olabilir, bu kategorilere ait olan özelliklerin * ve bu özelliklere ait değerlerin listelenmesi için kullanılan metottur. * @param int Kategori Id - Zorunlu * @param array Sayfalama - İsteğe Bağlı * */ $client->category->getCategoryAttributes(1002841, array('currentPage' => 1, 'pageSize' => 20)); /** * * @description İstenilen kategori, üst seviye kategori veya diğer seviye kategorilerden olabilir, * bu kategorilere ait olan özelliklerin listelenmesi için kullanılan metoddur. * @param int Kategori Id - Zorunlu * */ $client->category->getCategoryAttributesId(1002841); /** * * @description Özelliğe sistemimizde verilen id bilgisini (category.attributeList.attribute.id) girdi vererek, * o özelliğe ait değerleri listeler. * @param int Kategori Id - Zorunlu * @param array Sayfalama - İsteğe Bağlı * */ $client->category->getCategoryAttributeValue(354080997, array('currentPage' => 0, 'pageSize' => 20)); /** * * @description Kodu verilen kategorinin birinci seviye üst kategorilerine ulaşmak için bu metot kullanılmalıdır. İkinci seviye üst * kategorilere ulaşmak için (Örn. “Deri ayakkabı -> Ayakkabı -> Giysi” kategori ağacında “Giysi “ bilgisi) * birinci seviye üst kategorinin (Örn. Ayakkabı) kodu verilerek tekrar servis çağırılmalıdır. * */ $client->category->getParentCategory(1000717); /** * * @description Kodu verilen kategorinin birinci seviye alt kategorilerine ulaşmak için bu metot kullanılmalıdır. İkinci seviye alt * kategorilere ulaşmak için (Örn. “Giysi -> Ayakkabı -> Deri ayakkabı” kategori ağacında “Deri ayakkabı” bilgisi) * birinci Seviye alt kategorinin (Örn. Ayakkabı) kodu verilerek tekrar servis çağırılmalıdır. * */ $client->category->getSubCategories(1002841);
产品服务(ProductService)
/** * * @description N11 ürün ID sini kullanarak sistemde kayıtlı olan ürünün bilgilerini getirir. * */ $client->product->getProductByProductId(359620750); /** * * @description Mağaza ürün kodunu kullanarak sistemde kayıtlı olan ürünün bilgilerini getirir. * */ $client->product->getProductBySellerCode('IS-20014'); /** * * @description N11 Üzerindeki ürünleri listelemek için kullanılır. * @param array Sayfalama - İsteğe Bağlı * */ $client->product->getProductList(array('currentPage' => 0, 'pageSize' => 20)); /** * * @description Kayıtlı olan bir ürünü N11 Id si kullanarak silmek için kullanılır. * @param int N11 Ürün Id - Zorunlu * */ $client->product->deleteProductById(1234567890); /** * * @description Kayıtlı olan bir ürünü mağaza ürün kodu kullanılarak silmek için kullanılır. * @param string N11 Ürünün Mağazadaki Ürün Kodu - Zorunlu * */ $client->product->deleteProductBySellerCode(1234567890);
产品销售状态服务(ProductSellingService)
/** * * @description Satışta olan ürünün n11 ürün ID si kullanılarak satışa kapatılması için kullanılır. * @param int N11 Ürün Id - Zorunlu * */ $client->selling->stopSellingProductByProductId(1234567890); /** * * @description Satışta olmayan bir ürünün N11 ürün ID si kullanılarak satışa başlanması için kullanılır. * @param string N11 Ürün Mağaza Id - Zorunlu * */ $client->selling->startSellingProductBySellerCode('IS-20014'); /** * * @description Satışta olmayan bir ürünün N11 ürün ID si kullanılarak satışa başlanması için kullanılır. * @param int N11 Ürün Id - Zorunlu * */ $client->selling->startSellingProductByProductId(1234567890); /** * * @description Satışta olan ürünün mağaza ürün kodu kullanılarak satışının durdurulması için kullanılır. * @param string N11 Ürün Mağaza Id - Zorunlu * */ $client->selling->stopSellingProductBySellerCode('IS-20014');
产品库存服务(ProductStockService)
/** * * @description Sistemde kayıtlı olan ürünün N11 ürün ID si ile ürün stok bilgilerini getiren metottur. * Cevap içinde stok durumunun “version” bilgisi de vardır, ürün stoklarında değişme olduysa * bu versiyon bilgisi artacaktır, çağrı yapan taraf versiyon bilgisini kontrol ederek N11 e * verilen stok bilgilerinde değişim olup olmadığını anlayabilir. * @param int N11 Ürün Id - Zorunlu * */ $client->stock->getProductStockByProductId(1234567890);
订单服务(Order Service)
/** * * @description Bu metot sipariş ile ilgili özet bilgileri listelemek için kullanılır. * @note İsteğe bağlı olarak dizideki alanların istenilen bölümleri eklenmeyebilir veya dizi hiç gönderilmeyebilir. * @param array Arama Sorgusu - İsteğe Bağlı * */ $client->order->orderList( array( // Ürün ID Numarası 'productId' => 1234567890, // Sipariş Durumu => New, Approved, Rejected, Shipped, Delivered, Completed, Claimed, LATE_SHIPMENT 'status' => 'New', // Alıcı Adı 'buyerName' => 'cuma', // Sipariş Numarası 'orderNumber' => 1234567890, // Ürün Mağaza Kodu 'productSellerCode' => 'IS-20014', // Teslim alacak kişinin adı 'recipient' => 'cuma', // Sipariş oluşturma tarihi başlangıç 'period' => array( // Başlangıç Tarihi => d/m/Y H:i:s 'startDate' => '28/06/2019', // Bitiş Tarihi => d/m/Y H:i:s 'endDate' => '01/07/2019' ), // Güncellenen Siparişleri Listeler 'sortForUpdateDate' => false, // Sayfalama 'pagingData' => array( // Şuanki Sayfa 'currentPage' => 0, // Gösterilecek nesne 'pageSize' => 20 ) ) ); /** * * @description Sipariş N11 ID bilgisi kullanarak sipariş detaylarını almak için kullanılır, * sipariş N11 ID bilgisine orderList metotlarıyla ulaşılabilir. * @param int Sipariş ID Numarası - Zorunlu * */ $client->order->orderDetail(123456789);
N11 订单通知 WebHook(N11 订单 WebHook 测试版)
由于N11没有提供用于订单通知的webhook,因此这个webhook是为个人编写的。要使用webhook,您需要在服务器上安装sqlite pdo驱动程序。
注意:您创建的此文件需要在Linux下后台持续运行。为此,您可以使用tmux或通过创建服务来使用。请勿使用Cronjob!
请记住,这个Webhook仍在测试版阶段!
include "vendor/autoload.php"; use turkmvc\PazarYeri\N11\N11Client; $client = new N11Client(); $client->setApiKey('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'); $client->setApiPassword('xxxxxxxxxxxxxxxx'); /** * * @description Webhook istek hızı * @param string * 'slow' => 300 saniye, * 'medium' => 180 saniye (default/taviye edilen), * 'fast' => 60 saniye * 'vfast' => 30 saniye * */ $client->webhook->setRequestMode('medium'); /** * * @description N11 sonuçlarında kaç siparişin getirileceği * @param string * 'vmax' => 100 adet, * 'max' => 75 adet, * 'medium' => 50 adet (default/taviye edilen), * 'min' => 30 adet * */ $client->webhook->setResultMode('medium'); /** * * @description Sipariş bildirimlerinde geçmiş siparişler kontrol edilsinmi? * @param bool * true => Evet (default/Tavsiye edilen), * false => Hayır, * */ // Uyarı! Bu fonksiyon versiyon 1.1.0'dan itibaren kaldırılmıştır. // $client->webhook->setOldConsumeMode(true); /* Anonymous function ile siparişleri almak */ $client->webhook->orderConsume(function($order){ echo "Sipariş Bilgileri"; echo "<pre>"; print_r($order); echo "</pre>"; }); /* Class ile siparişleri almak */ Class N11Orders { public function consume($order) { echo "Sipariş Bilgileri"; echo "<pre>"; print_r($order); echo "</pre>"; } } $client->webhook->orderConsume(array(new N11Orders(), 'consume'));