【问题标题】:Shopify Events api - doesn't return order timeline eventsShopify Events api - 不返回订单时间线事件
【发布时间】:2019-03-14 03:10:23
【问题描述】:

我正在尝试为我的 shopify 应用获取商店的所有订单事件。什么是最好的可扩展方式?

我尝试了 Events API,Events API 的文档说使用 GET /admin/events.json 来检索商店的所有事件列表,但它不会返回所有订单事件,只返回订单确认事件。

我可以使用GET /admin/orders/#{order_id}/events.json 查看与订单关联的所有事件,但此解决方案可能不适用于我的用例。使用此端点,我需要先获取所有订单的列表,然后遍历这些订单 ID 以获取这些订单的事件。它在订单 ID 级别对我来说是不可扩展的,如果我可以通过事件级别的一个端点获取所有订单事件,那将是完美的。

有人知道解决这个问题的最佳方法吗?

【问题讨论】:

    标签: shopify shopify-app


    【解决方案1】:

    有办法。我会这样做:

    • 下载所有订单
    • 迭代这些订单,寻找事件
    • 以订单 ID 作为键来持久化事件。

    现在,当您的商家客户想要查看与订单相关联的事件时,他们只导航到订单会很不方便,使用订单 ID 调用您的应用程序可以在您保存事件时快速报告事件.

    如果您收听订单更新,您可以扫描添加的新事件。

    因此,您的扩展问题并不是真正的问题,因为您只需获取一次旧订单。继续前进,只听订单/更新将保持更新,而不会产生大量开销。

    【讨论】:

      【解决方案2】:

      如果您专门寻找订单时间线事件,您可以使用 Shopify GraphQL Admin API 获取此信息。像这样的查询将返回特定订单的前 100 个事件。

      # simple query to get top 10 messages from order timeline
      query {
        order(id: "gid://shopify/Order/618806837270") {
          events(first: 100) {
            edges {
              node {
                __typename message
                createdAt
                id
              }
            }
          }
        }
      }
      

      这将返回类似的结果

      [
        {
          "order": {
            "events": {
              "edges": [
                {
                  "node": {
                    "__typename": "BasicEvent",
                    "message": "Order was placed on XXXXXXX.",
                    "createdAt": "2018-11-08T22:16:54Z",
                    "id": "gid://shopify/BasicEvent/9349083824150"
                  }
                },
                {
                  "node": {
                    "__typename": "BasicEvent",
                    "message": "Received new order <a href=\"https://XXXXXXX.myshopify.com/admin/orders/618806837270\">#1183</a>.",
                    "createdAt": "2018-11-08T22:16:55Z",
                    "id": "gid://shopify/BasicEvent/9349083856918"
                  }
                },
                {
                  "node": {
                    "__typename": "BasicEvent",
                    "message": "XXXXXXX fulfilled 1 item from Shopify.",
                    "createdAt": "2019-02-04T17:26:00Z",
                    "id": "gid://shopify/BasicEvent/14072023547926"
                  }
                },
                {
                  "node": {
                    "__typename": "BasicEvent",
                    "message": "This order was archived.",
                    "createdAt": "2019-02-04T17:26:00Z",
                    "id": "gid://shopify/BasicEvent/14072023580694"
                  }
                },
                {
                  "node": {
                    "__typename": "CommentEvent",
                    "message": "this is a comment",
                    "createdAt": "2019-02-04T17:26:15Z",
                    "id": "gid://shopify/CommentEvent/14072023875606"
                  }
                }
              ]
            }
          }
        },
        {
          "cost": {
            "requestedQueryCost": 103,
            "actualQueryCost": 8,
            "throttleStatus": {
              "maximumAvailable": 1000,
              "currentlyAvailable": 992,
              "restoreRate": 50
            }
          }
        }
      ]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多