afosto / shopctrl
Afosto ShopCtrl 客户端
3.0.0
2022-09-28 08:24 UTC
Requires
- afosto/bp: ^2.0
- doctrine/inflector: v1.0.1
- guzzlehttp/guzzle: ^6.2
- psr/cache: ^2.0
Requires (Dev)
- filp/whoops: ^2
- symfony/console: ^3.2
- symfony/css-selector: ^3.2
- symfony/dom-crawler: ^3.2
- symfony/var-dumper: ^3.0
- dev-master
- 3.0.0
- 2.0.0
- 1.4.8
- 1.4.7
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.1
- 1.0.0
- 0.1.1
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-Hotfix/invalid-validation-configuration
- dev-hotfix/send-invitation
- dev-hotfix/checksum
- dev-hotfix/exception-handling
This package is auto-updated.
Last update: 2024-08-28 12:29:48 UTC
README
使用此客户端方便地与 ShopCtrl 交互。本 PHP 软件包由 Afosto 开发,用于在 Afosto(零售软件)和 ShopCtrl 之间建立可靠连接,并提供以下功能:
- 从 ShopCtrl 获取产品数据
- 从 ShopCtrl 获取订单数据
- 在 ShopCtrl 中创建新订单
入门指南
只需遵循安装说明。您需要一个 ShopCtrl 账户,该账户已为您设置好以供使用。
先决条件
您需要安装哪些软件以及如何安装它们
- PHP5.5+
- Composer(用于安装)
安装
通过 Composer 安装非常简单。
composer require afosto/shopctrl
示例
现在,要获取 ShopCtrl 的产品数据,请使用以下代码。
首先设置一些配置参数
$settings = new Settings();
使用从 ShopCtrl 获取的数据定义设置
$settings->shopId = ''; $settings->baseUrl = ''; $settings->username = ''; $settings->password = ''; $settings->cultureId = '';
初始化应用程序
App::init($settings);
获取一个产品(从商店上下文)
运行 ProductSelections 的 foreach 循环以获取与商店上下文相关的数据和属于 ProductSelection 数据的全产品
foreach (ProductSelection::model()->findAll() as $productSelection) { $product = Product::model()->find($productSelection->productId); //Use the product data dump($productSelection, $product); }
生成订单
要创建订单,请使用以下示例。首先设置联系数据。
$contact = new ContactInfo(); $contact->streetAddress = 'Grondzijl'; $contact->streetAddressNumber = 16; $contact->city = 'Groningen'; $contact->countryCode = 'NL'; $contact->companyName = 'Afosto SaaS BV'; $contact->eMail = 'peter@afosto.com'; $contact->firstName = 'Peter'; $contact->lastName = 'Bakker'; $contact->postalCode = '9731DG'; $contact->phone = '0507119519';
创建订单行。
$orderRow = new OrderRow(); $orderRow->orderRowKey = 1; $orderRow->itemQuantity = 1; $orderRow->productName = 'TestProduct'; $orderRow->productCode = 'ProductSku'; $orderRow->productDescription = 'Description test product'; $orderRow->itemPriceIncVat = 5.00; $orderRow->rowDiscountIncVat = 0; $orderRow->vatperc = 21; $orderRow->rowTotalIncVat = 5;
创建订单。
$order = new Order(); $order->id = 0; $order->shipToContact = $contact; $order->billToContact = $contact; $order->date = (new DateTime())->format('Y/m/d H:i:s'); $order->viewModusIncVAT = true; $order->paymentFeeIncVat = 0; $order->shippingCostsIncVat = 0; $order->customerNote = ''; $order->syncSource = 'Afosto'; $order->discountIncVat = 0; $order->orderRows[] = $orderRow; $order->orderCode = 'test' . time(); $order->orderTotalIncVat = 5.00; $order->currencyId = 1; $order->currencyCode = 'EUR';
根据上下文/设置设置订单的一些特定数据
$order->paymentTypeId = App::getInstance()->getSettings()->getPaymentTypeId('iDeal'); $order->cultureId = App::getInstance()->getSetting('cultureId'); $order->shopId = App::getInstance()->getSetting('shopId'); $order->mainStatusId = App::getInstance()->getSettings()->getOrderStatus('Active');
现在创建订单
$order->create();
现在使用新数据(模型已更新为来自服务器的结果)
$order->id;
其他示例
在示例目录中,您可以找到此项目的更多示例。
版本管理
我们使用 SemVer 进行版本管理。有关可用版本,请参阅此存储库的 标签。
许可证
本项目采用 Apache License 2.0 许可 - 请参阅 LICENSE.md 文件以获取详细信息