How to register orders create webhooks to new shopify cli app

this is my OrderWebhookHandlers.js

import { DeliveryMethod } from "@shopify/shopify-api";

export default {
  ORDERS_CREATE: {
    deliveryMethod: DeliveryMethod.Http,
    callbackUrl: "/api/webhooks",
    callback: async (topic, shop, body, webhookId) => {
      const payload = JSON.parse(body);
    },
  },
};

and this is my index.js

import GDPRWebhookHandlers from "./gdpr.js";
import OrderWebhookHandlers from "./OrderWebhookHandlers.js";

app.post(
  shopify.config.webhooks.path,
  shopify.processWebhooks({ webhookHandlers: GDPRWebhookHandlers }),
);

app.post(
  shopify.config.webhooks.path,
  shopify.api.webhooks.register({ webhookHandlers: OrderWebhookHandlers})
);

the ORDERS_CREATE is not registering. what am I doing wrong? any solution?

Hi, did you find a solution, I’m using the same official boilertemplate as you and it doesn’t register this webhook.

Ty

There was a similarish post I found and answered there.

https://community.shopify.com/c/shopify-apps/create-webhook-with-new-shopify-cli/m-p/2124324/highlight/true#M65036

There is an “official” way to register webhooks after installation.

https://github.com/Shopify/shopify-api-js/blob/main/docs/guides/webhooks.md

2 Likes

The docs changed here is the new webhooks link

https://github.com/Shopify/shopify-api-js/blob/main/packages/shopify-api/docs/guides/webhooks.md