@tbbn/sdk-typescript
v0.4.0
Published
Typed TypeScript client for the TBBN Platform API, built on @tbbn/sdk-js.
Maintainers
Readme
@tbbn/sdk-typescript
Typed TypeScript client for the TBBN Platform API. It wraps
@tbbn/sdk-js — same methods, same runtime —
and adds @tbbn/types-backed inputs and outputs, so client.listings.upsert(…) returns a
Listing and client.offers.list(…) returns Offer[].
Install
npm install @tbbn/sdk-typescriptQuick start
import { TbbnClient } from '@tbbn/sdk-typescript';
const client = new TbbnClient({
baseUrl: 'https://api.tbbnetwork.com',
apiKey: process.env.TBBN_API_KEY, // sk_sandbox_... or sk_live_...
});
const listing = await client.listings.upsert({
merchantId: '...',
merchantListingRef: 'sku-1042',
sellerId: '...',
listingType: 'BOTH',
title: 'Nike Air Max 90 — size 10, lightly worn',
category: 'Apparel',
originalPrice: 150,
requestedAmount: 25,
currency: 'USD',
visibility: 'GLOBAL',
});
const offers = await client.offers.list(listing.sellerId, 'received'); // Offer[]A complete runnable walkthrough is in example/basic.ts.
Authentication
Pass either an API key (apiKey, issued to your merchant at
merchants.tbbnetwork.com) or a session token
(accessToken, obtained through one of the auth sign-in flows). Sandbox keys
(sk_sandbox_…) work against the same API and never touch live data.
Typing
auth, merchants, apiKeys, sellers, businesses, branches, listings, offers
and tradeSessions carry full @tbbn/types signatures. The remaining resource groups are
passed straight through from @tbbn/sdk-js — fully functional, typed as unknown /
Record<string, unknown> until dedicated interfaces land.
Webhooks
Verify every inbound delivery before trusting it. Pass the raw request body exactly as received — re-serialising the JSON changes the bytes and the signature will not match. Signatures are HMAC-SHA256 with a five-minute replay window.
import { verifyWebhookSignature } from '@tbbn/sdk-typescript';
const ok = verifyWebhookSignature(rawBody, req.headers['x-tbbn-signature'], signingSecret);Errors
Every non-2xx response throws TbbnApiError with status, code, message, and requestId. Quote the request id when asking
for help with a specific call.
Support
Questions and bug reports: the developer community.
License
MIT © Trade By Barter Network, Inc.
