mucan/laravel-magento-api

Magento 2 REST API包装器,用于将Magento数据导出到您的Laravel应用程序中使用。

0.8.0 2020-12-09 14:02 UTC

This package is auto-updated.

Last update: 2024-09-25 18:13:46 UTC


README

Build Status Latest Stable Version Style CI Total Downloads License

Laravel - Magento API

为Laravel应用程序提供的面向对象的Magento 2 API包装器。

安装

使用Composer安装此包

composer require grayloon/laravel-magento-api

发布配置选项

php artisan vendor:publish --provider="Mucan\Magento\MagentoServiceProvider" --tag="config"

在您的.env文件中配置您的Magento 2 API端点和令牌

MAGENTO_BASE_URL="https://mydomain.com"
MAGENTO_ACCESS_TOKEN="client_access_token_here"

# Optional Config:
MAGENTO_BASE_PATH="rest"
MAGENTO_STORE_CODE="all"
MAGENTO_API_VERSION="V1"

API使用

示例

use Mucan\Magento\Magento;

$magento = new Magento();
$response = $magento->api('products')->all();

$response->body() : string;
$response->json() : array|mixed;
$response->status() : int;
$response->ok() : bool;

在大于500的错误上抛出异常。

可用方法

管理员令牌集成(IntegrationAdminTokenServiceV1)

/V1/integration/admin/token

生成管理员令牌

Magento::api('integration')->adminToken($username, $password);

捆绑产品选项(bundleProductOptionRepositoryV1)

/V1/bundle-products/{sku}/options/all

获取捆绑产品的所有选项。

Magento::api('bundleProduct')->options($sku);

购物车

/V1/carts/mine

返回认证客户的购物车信息。必须使用单个商店代码。

Magento::api('carts')->mine();

/V1/carts/mine/coupons/{couponCode}

将优惠券应用于指定的购物车。

Magento::api('carts')->couponCode($couponCode);

购物车项(quoteCartItemRepositoryV1)

/V1/carts/mine/items/

列出分配给指定客户购物车的项目。必须有一个商店代码。

Magento::api('cartItems')->mine();

/V1/carts/mine/items/

使用客户令牌添加/更新指定的购物车项。必须有一个商店代码。

Magento::api('cartItems')->addItem($cartId, $sku, $quantity);

put - /V1/carts/mine/items/{itemId}

使用客户令牌更新指定的购物车项。必须有一个商店代码。

Magento::api('cartItems')->editItem($itemId, $body = []);

使用客户令牌删除指定的购物车项。必须有一个商店代码。

Magento::api('cartItems')->removeItem($itemId);

购物车总计(quoteCartTotalRepositoryV1)

/V1/carts/mine/totals

返回认证客户的购物车总计信息。必须使用单个商店代码。

Magento::api('cartTotals')->mine();

类别(catalogCategoryManagementV1)

/V1/categories

获取所有类别的列表

Magento::api('categories')->all($pageSize = 50, $currentPage = 1, $filters = []);

客户令牌集成(IntegrationCustomerTokenServiceV1)

/V1/integration/customer/token

生成客户令牌

Magento::api('integration')->customerToken($username, $password);

客户(多种类型)

/V1/customers/search

获取客户列表

Magento::api('customers')->all($pageSize = 50, $currentPage = 1, $filters = []);

/V1/customers/password

向客户发送带有密码重置链接的电子邮件。

Magento::api('customers')->password($email, $template, $websiteId);

/V1/customers/resetPassword

重置客户密码。

Magento::api('customers')->resetPassword($email, $resetToken, $newPassword);

访客购物车(多种类型)

/V1/guest-carts

启用客户或访客用户创建匿名客户的空购物车和报价。

Magento::api('guestCarts')->create();

/V1/guest-carts/{cartId}

返回指定购物车的信息。

Magento::api('guestCarts')->cart($cartId);

/V1/guest-carts/{cartId}/items

列出分配给指定购物车的项目。

Magento::api('guestCarts')->items($cartId);

/V1/guest-carts/{cartId}/items

添加/更新指定的购物车项。

Magento::api('guestCarts')->addItem($cartId, $sku, $quantity);

put - /V1/guest-carts/{cartId}/items/{itemId}

更新指定的购物车项。

Magento::api('guestCarts')->editItem($cartId, $itemId, $body = []);

删除指定的购物车项。

Magento::api('guestCarts')->removeItem($cartId, $itemId);

/V1/guest-carts/{cartId}/estimate-shipping-methods

通过地址估算运费,并返回可用的运费方式列表。

Magento::api('guestCarts')->estimateShippingMethods($cartId);

/V1/guest-carts/{cartId}/coupons/{couponCode}

将优惠券应用于指定的购物车。

Magento::api('guestCarts')->couponCode($cartId, $couponCode);

订单(salesOrderRepositoryV1)

列出符合指定搜索标准的订单。

/V1/orders

Magento::api('orders')->all($pageSize = 50, $currentPage = 1, $filters = []);

/V1/orders/{id}

列出指定的订单

Magento::api('orders')->show($orderId);

产品属性(catalogProductAttributeRepositoryV1)

/V1/products/attributes/{attributeCode}

检索特定产品属性信息

Magento::api('productAttributes')->show($attributeCode);

产品链接类型(catalogProductLinkTypeListV1)

/V1/products/links/types

检索有关可用产品链接类型的信息

Magento::api('productLinkType')->types();

产品(catalogProductRepositoryV1)

/V1/products

获取产品列表

Magento::api('products')->all($pageSize = 50, $currentPage = 1, $filters = []);

/V1/products/{sku}

通过产品SKU获取产品信息

Magento::api('products')->show($sku);

自定义模块

Magento模块可以有自己的API端点。例如

<route method="POST" url="/V1/my-custom-endpoint/save">
    ...
</route>
<route method="GET" url="/V1/my-custom-endpoint/get/:id">
    ...
</route>

使用这些端点,您可以直接使用get/post方法

Magento::api('my-custom-endpoint')->post('save', [...]);
Magento::api('my-custom-endpoint')->get('get/1');

架构

获取Magento 2 REST API的架构蓝图

Magento::api('schema')->show(); 

源项(inventoryApiSourceItemRepositoryV1)

/V1/inventory/source-items

获取分页排序项列表(通常用于检索数量)

Magento::api('sourceItems')->all($pageSize = 50, $currentPage = 1, $filters = []);

来源(inventoryApiSourcesRepositoryV1)

/V1/inventory/sources

获取分页来源列表。

Magento::api('sources')->all($pageSize = 50, $currentPage = 1, $filters = []);

/V1/inventory/sources/{$name}

获取指定的来源。

Magento::api('sources')->bySourceName($name);

库存(inventoryApiStocksRepositoryV1)

/V1/inventory/stocks

获取分页库存列表。

Magento::api('stocks')->all($pageSize = 50, $currentPage = 1, $filters = []);

测试

composer test

变更日志

请参阅变更日志获取最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全

如果您发现任何与安全相关的问题,请发送电子邮件至webmaster@grayloon.com,而不是使用问题跟踪器。

鸣谢

许可

MIT许可(MIT)。请参阅许可文件获取更多信息。