Backend
Next.js
Add Vox to your Next.js project.
To add the backend integration to your Next.js project, you need to create a new file app/api/feedback/route.ts
(App Router) or pages/api/feedback.ts
(Pages Router) and add the following code:
App Router
import { createFeedbackHandler } from "voxjs/server";
import { NextRequest } from "next/server";
import { getServerSession } from "next-auth";
import { env } from "@/env";
export async function POST(request: NextRequest) {
const session = await getServerSession(); // Your custom auth logic.
if (!session) {
return Response.json({ error: "Unauthorized" }, { status: 401 });
}
return createFeedbackHandler({
apiKey: env.FEEDBACK_KEY, // Your Vox API key.
tags: {
app: "my-app", // Your app name.
user: session.user?.email,
},
})(request);
}
Pages Router
import { createFeedbackHandler } from "voxjs/server";
import { NextApiRequest, NextApiResponse } from "next";
import { getServerSession } from "next-auth";
import { env } from "@/env";
export default async function handler(
req: NextApiRequest,
res: NextApiResponse
) {
if (req.method !== "POST") {
return res.status(405).json({ error: "Method not allowed" });
}
const session = await getServerSession({ req, res }); // Your custom auth logic.
if (!session) {
return res.status(401).json({ error: "Unauthorized" });
}
return createFeedbackHandler({
apiKey: env.FEEDBACK_KEY, // Your Vox API key.
tags: {
app: "my-app", // Your app name.
user: session.user?.email,
},
})(req);
}