Get started
Step 1: Identify the Events to Monitor
The first step is to determine the events you want to receive notifications for. You can find a list of available events here.
Step 2: Set up a Webhook Endpoint
Create an HTTP endpoint to receive unauthenticated webhook requests using the POST method.
import { NextApiRequest, NextApiResponse } from 'next'
export default async function webhook(
req: NextApiRequest,
res: NextApiResponse,
): Promise<void> {
// ... get and process the event
res.status(200).end()
}
Step 3: Handle Requests from Liteflow
To process events from Liteflow's webhooks, install the @nft/webhook
library.
npm i @nft/webhook
The library will parse and verify the incoming requests to ensure they are coming from the Liteflow infrastructure. To secure the communication between your application and the Liteflow infrastructure, you will need your Liteflow secret.
import { parseAndVerifyRequest } from '@nft/webhook'
import { NextApiRequest, NextApiResponse } from 'next'
export default async function webhook(
req: NextApiRequest,
res: NextApiResponse,
): Promise<void> {
const { data, timestamp, type } = await parseAndVerifyRequest<SELECTED_EVENT>(
req,
process.env.LITEFLOW_WEBHOOK_SECRET,
)
// ...do something with the event
res.status(200).end()
}
export const config = {
api: {
bodyParser: false,
},
}
Built-in Retry Mechanisms
The Liteflow infrastructure will retry the webhook up to 5 times for any status code not 200
.
Step 4: Register Your HTTPS URL
To connect your webhook to your Liteflow backend, go to your dashboard and add your newly created endpoint in the webhook section.
Local Development Considerations
Webhooks must be publicly accessible with an https
url and cannot be hosted on localhost
. To test webhooks locally, you can use tools such as ngrok (opens in a new tab) or localtunnel (opens in a new tab).