如何通过 Laravel 中的 API 从 Shopify 商店获取所有订单

时间:2021-05-27 18:32:46

标签: php laravel shopify

<块引用>

您好,我创建了一个 Shopify 应用程序,我正在尝试使用 Orders Shopify API 从我的 Shopify 商店获取订单列表。我正在使用 Laravel。我是这个框架的新手,到目前为止我只能通过使用相同的功能来获取产品。

拜托,我在互联网上翻来覆去,却一无所获。我希望有人帮助解决这个问题。如果还有关于如何将订单同步到数据库的建议,那就太好了。谢谢

$array = array();
    $shop = Auth::user();
    $orders = $shop->api()->rest('GET',"/admin/api/2021-04/orders.json", $array);
    $orders = json_decode($orders['response']->getBody(), JSON_PRETTY_PRINT);

2 个答案:

答案 0 :(得分:1)

要获得 Shopify 订单,您可以使用此文档: https://shopify.dev/docs/admin-api/rest/reference/orders/order

  1. 您需要创建私有应用程序并生成 api 密钥。 确保您已添加 read_orders、read_all_orders 访问您的私人应用
  2. 然后使用您的 api 密钥发送请求来接收订单列表:GET /admin/api/2021-01/orders.json?status=any

注意: 自 2018 年 6 月 6 日起,默认情况下,只能通过订单资源访问商店最近 60 天的订单。如果您想访问旧订单,则需要请求访问所有订单。如果您的应用被授予访问权限,那么您可以将 read_all_orders 范围与 read_orders 或 write_orders 一起添加到您的应用中。私有应用不受此更改的影响,会自动授予范围。

答案 1 :(得分:1)

如果您不熟悉此框架,那么最好使用第三方 API 集成解决方案 developing integration with Shopify

例如,API2Cart 提供以下选项来获取订单列表:

  • order.list 方法 - 接收来自 Shopify 商店的订单

  • 用于 order.add 事件的 webhook - 每次在 Shopify 商店上放置新订单时都会收到通知。 Webhook 有助于减少服务器负载,节省 API 请求,并接收更多最新信息