如何通过网上商店的shopify应用程序创建自定义页面

问题描述 投票:0回答:1

我正在创建一个应用程序,其功能是在在线商店中安装后创建一个新页面。

我使用 shopify CLI 创建了一个测试应用程序,并在 gdpr.js 中的 APP_UNINSTALLATION 主题上添加了一个 Webhook。我将回调 URL 附加到异步函数,以使用本指南在在线商店上创建新页面:https://shopify.dev/docs/api/admin-rest/2023-07/resources/page#post-pages 。我的代码:-

gdpr.js

  APP_UNINSTALLED: {
    deliveryMethod: DeliveryMethod.Http,
    callbackUrl: "/api/webhooks/create-new-page",
    callback: async (topic, shop, body, webhookId) => {
      const payload = JSON.parse(body);
      console.log("payload : ", payload);
    },
  }
index.js

async function createNewPageUponInstall(session) {

    const newPage = new shopify.api.rest.Page({session: session});
    newPage.title = "Dynamic App Page"
    newPage.body_html = "<p>This is a new page</p>"

    await newPage.save({
      update: true,
    });
}

app.post("/api/webhooks/create-new-page", async (_req, res) => {
  try {
    await createNewPageUponInstall(res.locals.shopify.session);
    res.sendStatus(200);
  } catch (error) {
    console.error("Error handling webhook:", error);
    res.sendStatus(500);
  }
});

该应用程序无法按照我的预期创建页面。附:我在 APP_INSTALLATION 上找不到 Webhook 主题,因此正在使用 APP_UNINSTALLATION 测试行为。任何帮助将不胜感激!

shopify shopify-app shopify-api shopify-api-node
1个回答
0
投票

创建页面的最简单方法是对为此目的指定的端点进行 API 调用。 RestAPI 有一个您可以使用的。

https://shopify.dev/docs/api/admin-rest/2023-07/resources/page

从中可以看到要发送的参数,以及预期的结果。

© www.soinside.com 2019 - 2024. All rights reserved.