rdtvaacar / trendyol-php-api
Trendyol PHP API
v1.0.7
2020-08-14 06:17 UTC
This package is auto-updated.
Last update: 2024-09-15 17:19:05 UTC
README
Trendyol PHP Api
此API是为Trendyol编写的。这是为Trendyol市场编写的一个高级PHP API。此外,还有一个功能可以将Trendyol上您商店收到的订单传输到您的网站。
捐赠
如果您对我的工作感到满意,您可以通过以下方式支持我,以便我能够制作出更好和更多的内容;
- 10 TL 捐赠 > https://shipy.link/y/E92jtcP1
- 20 TL 捐赠 > https://shipy.link/y/SWCJ5bFO
- 50 TL 捐赠 > https://shipy.link/y/p2kwrO6i
- 100 TL 捐赠 > https://shipy.link/y/6QJDuAoL
贡献请求
由于时间有限,Trendyol的所有API功能尚未完成。如果您需要缺失的功能,可以将其完成并通过 pull request 发送,或者可以通过 issue 打开请求添加您需要的功能。
请记住,这个项目是免费制作的,所以不能立即完成!
变更日志
- 查看 变更日志
许可证
- 查看 许可证
快速浏览
- 安装
- 使用
- 品牌服务(Brand Service)
- 物流服务(Cargo Service)
- 分类服务(Category Service)
- 产品服务(Product Service)
- 订单服务(Order Service)
- Trendyol 订单 WebHook(Trendyol Order WebHook)
安装
您需要使用composer进行安装。如果您没有composer,可以从以下链接下载(适用于Windows):此处。
composer require ismail0234/trendyol-php-api
使用
include "vendor/autoload.php"; use Rdtvaacar\PazarYeri\Trendyol\TrendyolClient; use Rdtvaacar\PazarYeri\Trendyol\Helper\TrendyolException; $trendyol = new TrendyolClient(); $trendyol->setSupplierId(100000); $trendyol->setUsername("xxxxxxxxxxxxxxxxxxxx"); $trendyol->setPassword("xxxxxxxxxxxxxxxxxxxx");
品牌服务(Brand Service)
/** * * createProduct servisine yapılacak isteklerde gönderilecek brandId bilgisi bu servis kullanılarak alınacaktır. * Bir sayfada en fazla 500 adet brand bilgisi alınabilmektedir. * * @author Ismail Satilmis <ismaiil_0234@hotmail.com> * @param int $size * @param int $pageId * @return array * */ $trendyol->brand->getBrands(100, 0); /** * * Marka araması yapmak için kullanılır. * BÜYÜK / küçük harf ayrımına dikkat etmelisiniz. * * @author Ismail Satilmis <ismaiil_0234@hotmail.com> * @param string $brandName * @return array * */ $trendyol->brand->getBrandByName("Milla");
物流服务(Cargo Service)
/** * * Trendyol üzerindeki bütün kargo şirketlerini getirir. * * createProduct V2 servisine yapılacak isteklerde gönderilecek kargo firma bilgileri * ve bu bilgilere ait ID değerleri bu servis kullanılarak alınacaktır. * * Ürün gönderimi yaparken gönderdiğiniz kargo şirketleri, Trendyol sözleşmenizde * onayladığınız kargo firmasından farklı olmamalıdır. Bu durum ürünlerinizi yayına çıkmasını engelleyecektir. * * @author Ismail Satilmis <ismaiil_0234@hotmail.com> * @return array * */ $trendyol->cargo->getProviders(); /** * * Trendyol üzerindeki tedarikçi adreslerinizi getirir. * * createProduct V2 servisine yapılacak isteklerde gönderilecek sipariş ve sevkiyat kargo * firma bilgileri ve bu bilgilere ait ID değerleri bu servis kullanılarak alınacaktır. * * "SATICI BAŞVURU SÜRECİM" tam olarak tamamlanmadı ise bu servisi kullanmamanız gerekir. * * Ürün gönderimi yaparken adresi ID değerlerini kontrol etmelisiniz. Hatalı gönderim * yapılması halinde ürün aktarımı gerçekleşmeyecektir. * * @author Ismail Satilmis <ismaiil_0234@hotmail.com> * @return array * */ $trendyol->cargo->getSuppliersAddresses();
分类服务(Category Service)
/** * * Trendyol üzerindeki bütün kategorileri getirir. * createProduct V2 servisine yapılacak isteklerde gönderilecek categoryId * bilgisi bu servis kullanılarak alınacaktır. * * createProduct yapmak için en alt seviyedeki kategori ID bilgisi kullanılmalıdır. * Seçtiğiniz kategorinin alt kategorileri var ise bu kategori bilgisi ile ürün aktarımı yapamazsınız. * * @author Ismail Satilmis <ismaiil_0234@hotmail.com> * @return array * */ $trendyol->category->getCategoryTree(); /** * * Trendyol üzerindeki kategorinin özelliklerini döndürür. * createProduct servisine yapılacak isteklerde gönderilecek attributes bilgileri * ve bu bilgilere ait detaylar bu servis kullanılarak alınacaktır. * * createProduct yapmak için en alt seviyedeki kategori ID bilgisi kullanılmalıdır. * Seçtiğiniz kategorinin alt kategorileri var ise (leaf:true) bu kategori bilgisi ile ürün aktarımı yapamazsınız. * * @author Ismail Satilmis <ismaiil_0234@hotmail.com> * @param int $categoryId * @return array * */ $trendyol->category->getCategoryAttributes(411);
产品服务(Product Service)
/** * * Trendyol üzerindeki ürünleri filtrelemek için kullanılır. * * @author Ismail Satilmis <ismaiil_0234@hotmail.com> * @note İsteğe bağlı olarak dizideki alanların istenilen bölümleri eklenmeyebilir veya dizi hiç gönderilmeyebilir. * @return array * */ $trendyol->product->filterProducts( array( // Ürün onaylı ya da onaysız kontrolü için kullanılır. Onaylı için true gönderilmelidir 'approved' => true, // Tekil barkod sorgulamak için gönderilmelidir 'barcode' => '', // Belirli bir tarihten sonraki ürünleri getirir. Timestamp olarak gönderilmelidir. 'startDate' => time() - (86400 * 7), //Belirli bir tarihten sonraki önceki getirir. Timestamp olarak gönderilmelidir. 'endDate' => time(), //Sadece belirtilen sayfadaki bilgileri döndürür. 'page' => 0, // Tarih filtresinin çalışacağı tarih CREATED_DATE ya da LAST_MODIFIED_DATE gönderilebilir 'dateQueryType' => 'CREATED_DATE', // Bir sayfada listelenecek maksimum adeti belirtir. 'size' => 50 ) );
订单服务(Order Service)
/** * * Trendyol sistemine ilettiğiniz ürünler ile planlanın butik sonrası müşteriler tarafından verilen her siparişin bilgisini * bu method yardımıyla alabilirsiniz. Trendyol.com'da müşteriler tarafından verilen siparişler, sistem tarafından otomatik * paketlenerek sipariş paketleri oluşturulur. Bu yüzden sistem çektiğiniz bir adet OrderNumber'a karşılık birden fazla * shipmentPackageID gelebilir. * * @note İsteğe bağlı olarak dizideki alanların istenilen bölümleri eklenmeyebilir veya dizi hiç gönderilmeyebilir. * @param array * */ $trendyol->order->orderList( array( // Belirli bir tarihten sonraki siparişleri getirir. Timestamp olarak gönderilmelidir. 'startDate' => time() - (86400 * 14), // Belirtilen tarihe kadar olan siparişleri getirir. Timestamp olarak gönderilmelidir ve startDate ve endDate aralığı en fazla 2 hafta olmalıdır 'endDate' => time(), // Sadece belirtilen sayfadaki bilgileri döndürür 'page' => 0, // Bir sayfada listelenecek maksimum adeti belirtir. (Max 200) 'size' => 200, // Sadece belirli bir sipariş numarası verilerek o siparişin bilgilerini getirir 'orderNumber' => '', // Siparişlerin statülerine göre bilgileri getirir. (Created, Picking, Invoiced, Shipped, Cancelled, Delivered, UnDelivered, Returned, Repack, UnSupplied) 'status' => '', // Siparişler neye göre sıralanacak? (PackageLastModifiedDate, CreatedDate) 'orderByField' => 'CreatedDate', // Siparişleri sıralama türü? (ASC, DESC) 'orderByDirection' => 'DESC', // Paket numarasıyla sorgu atılır. 'shipmentPackagesId' => '', ) );
Trendyol 订单 WebHook(Trendyol Order WebHook)
由于Trendyol没有提供订单通知的webhook,所以这是一个为个人编写的webhook。要使用webhook,您的服务器上需要安装 sqlite pdo driver。
注意:您创建的文件需要在linux后台持续运行。为此,您可以使用 tmux 或者通过创建服务来使用。 不要使用Cronjob!
include "vendor/autoload.php"; use Rdtvaacar\PazarYeri\Trendyol\TrendyolClient; $trendyol = new TrendyolClient(); $trendyol->setSupplierId(100000); $trendyol->setUsername("xxxxxxxxxxxxxxxxxxxx"); $trendyol->setPassword("xxxxxxxxxxxxxxxxxxxx"); /** * * @description Webhook istek hızı * @param string * 'slow' => 300 saniye, * 'medium' => 180 saniye (default/taviye edilen), * 'fast' => 60 saniye * 'vfast' => 30 saniye * */ $trendyol->webhook->setRequestMode('medium'); /** * * @description Trendyol sonuçlarında kaç siparişin getirileceği * @param string * 'vmax' => 200 adet, * 'max' => 150 adet, * 'medium' => 100 adet (default/taviye edilen), * 'min' => 50 adet * */ $trendyol->webhook->setResultMode('medium'); /* Anonymous function ile siparişleri almak */ $trendyol->webhook->orderConsume(function($order){ echo "Sipariş Bilgileri"; echo "<pre>"; print_r($order); echo "</pre>"; }); /* Class ile siparişleri almak */ Class TrendyolOrders { public function consume($order) { echo "Sipariş Bilgileri"; echo "<pre>"; print_r($order); echo "</pre>"; } } $trendyol->webhook->orderConsume(array(new TrendyolOrders(), 'consume'));