deniztezcan/laravel-bolcom-retailer-api

Laravel 对 Bol.com v5 零售商 API 的包

2.3.1 2023-07-12 13:08 UTC

README

Latest Stable Version Total Downloads Latest Unstable Version License Maintainability

一个 Laravel 对 Bol.com v5 零售商 API 的包。基于不完整的 jasperverbeet/bolcom-retailer-api-v3-php 包。

安装

composer require deniztezcan/laravel-bolcom-retailer-api

将 ServiceProvider 添加到 config/app.php 中的 providers 数组

    'providers' => [
    	//other things here

    	DenizTezcan\BolRetailer\BolServiceProvider::class,
    ];

将外观添加到 facades 数组

    'aliases' => [
    	//other things here

    	'BolRetailerAPI' => DenizTezcan\BolRetailer\Facades\BolRetailerAPI::class,
    ];

最后,发布配置文件

php artisan vendor:publish --provider="DenizTezcan\BolRetailer\BolServiceProvider"

配置

请在 config/bolcom-retailer.php 中设置您的 API:keysecret

如何使用

佣金

批量

为了批量获取佣金,我们需要批量发送 EAN。

$request = BolRetailerAPI::commissions()->getCommissions([['ean' => '3615674428738'], ['ean' => '0958054542376'], ['ean' => '1863180850327']]);
$commissions = $request->commissions;

单个

为了获取单个 EAN 的佣金。

$commission = BolRetailerAPI::commissions()->getCommission('3615674428738');

产品优惠

创建

可以通过 v3 API 创建优惠

BolRetailerAPI::offers()->createOffer(
	$ean,
	$conditionName, //  "NEW" "AS_NEW" "GOOD" "REASONABLE" "MODERATE",
	$conditionCategory, // "NEW" "SECONDHAND"
	$referenceCode, // Your internal SKU or other ID
	$onHoldByRetailer,
	$unknownProductTitle, 
	$price,
	$stockAmount,
	$stockManagedByRetailer, //False incase you want Bol to remove the stock automatically from their system based on orders
	$fulfilmentType, //"FBB" "FBR" (FBB - Fulfilment By Bol) (FBR - Fulfilment by Retailer)
	$fulfilmentDeliveryCode //"24uurs-23" "24uurs-22" "24uurs-21" "24uurs-20" "24uurs-19" "24uurs-18" "24uurs-17" "24uurs-16" "24uurs-15" "24uurs-14" "24uurs-13" "24uurs-12" "1-2d" "2-3d" "3-5d" "4-8d" "1-8d" "MijnLeverbelofte" 
);

CSV 导出

为了以 CSV 格式获取所有优惠列表

$event = BolRetailerAPI::offers()->requestDump();
sleep(120); //it takes some time for bol to generate the CSV a sleep is needed to make sure the CSV is ready
$csv = BolRetailerAPI::offers()->handleDumpRequest((string) $event->entityId);

通过优惠 ID 获取优惠

您可以通过其优惠 ID 获取特定的优惠

$offer = BolRetailerAPI::offers()->getOffer($offerId);

更新履约承诺

您可以通过其优惠 ID 更新优惠的履约承诺

BolRetailerAPI::offers()->updateOffer(
	$offerId,
	$referenceCode,
	$onHoldByRetailer,
	$unknownProductTitle,
	$fulfilmentType, //"FBB" "FBR" (FBB - Fulfilment By Bol) (FBR - Fulfilment by Retailer)
	$fulfilmentDeliveryCode //"24uurs-23" "24uurs-22" "24uurs-21" "24uurs-20" "24uurs-19" "24uurs-18" "24uurs-17" "24uurs-16" "24uurs-15" "24uurs-14" "24uurs-13" "24uurs-12" "1-2d" "2-3d" "3-5d" "4-8d" "1-8d" "MijnLeverbelofte" 
);

更新优惠价格

您可以通过其优惠 ID 更新优惠的价格

BolRetailerAPI::offers()->updateOfferPrice(
	$offerId,
	[
		[
			'quantity' => 1,
			'price' => 1.00
		]
	]
);

更新优惠库存

您可以通过其优惠 ID 更新优惠的库存

BolRetailerAPI::offers()->updateOfferStock(
	$offerId,
	$amount,
	$managedByRetailer
);

订单

获取开放订单

$orders = BolRetailerAPI::orders()->getOrders();

通过订单 ID 获取订单

$order = BolRetailerAPI::orders()->getOrder($orderId);

通过订单项 ID 取消订单

BolRetailerAPI::orders()->cancelOrderItem(
	$orderItemId,
	$reasonCode //"OUT_OF_STOCK" "REQUESTED_BY_CUSTOMER" "BAD_CONDITION" "HIGHER_SHIPCOST" "INCORRECT_PRICE" "NOT_AVAIL_IN_TIME" "NO_BOL_GUARANTEE" "ORDERED_TWICE" "RETAIN_ITEM" "TECH_ISSUE" "UNFINDABLE_ITEM" "OTHER"
);

通过订单项 ID 发货

BolRetailerAPI::orders()->cancelOrderItem(
	$shipOrderItem,
	$shipmentReference, //optional only for internal purposes
	$transporterCode, // TNT for PostNL
	$trackAndTrace, // Track and Trace number
);

功能

以下功能可用(- 表示该功能已计划,但尚未包含)