@tbbn/sdk-next
v0.2.2
Published
Next.js server helpers for the TBBN Platform API — a server-side client and a verified webhook parser for Route Handlers.
Maintainers
Readme
@tbbn/sdk-next
Next.js server-side helpers for the TBBN Platform API: a client for Server
Components, Route Handlers and Server Actions, and a webhook parser that verifies the signature
before your handler sees the event. For Client Components use
@tbbn/sdk-react; nothing in this package
should end up in browser JavaScript.
Install
npm install @tbbn/sdk-nextgetServerClient(overrides?)
Reads TBBN_API_BASE_URL and TBBN_API_KEY from process.env. Pass { accessToken } to act
as a signed-in user instead of with the merchant key.
// app/listings/[id]/page.tsx
import { getServerClient } from '@tbbn/sdk-next';
export default async function ListingPage(props: { params: Promise<{ id: string }> }) {
const { id } = await props.params;
const listing = await getServerClient().listings.get(id);
return <h1>{listing.title}</h1>;
}parseTbbnWebhookRequest(request, signingSecret)
Reads the raw body, verifies the X-TBBN-Signature header (HMAC-SHA256, five-minute replay
window), and returns the parsed event. Throws TbbnWebhookVerificationError on a bad signature.
// app/api/webhooks/tbbn/route.ts
import { parseTbbnWebhookRequest, TbbnWebhookVerificationError } from '@tbbn/sdk-next';
export async function POST(request: Request) {
try {
const event = await parseTbbnWebhookRequest(request, process.env.TBBN_WEBHOOK_SECRET!);
// handle event.type …
return new Response(null, { status: 200 });
} catch (err) {
if (err instanceof TbbnWebhookVerificationError) return new Response(null, { status: 401 });
throw err;
}
}Both files are in example/. Tested with Next.js 16 and React 19.
Support
Questions and bug reports: the developer community.
License
MIT © Trade By Barter Network, Inc.
