playfab_api
v1.2.1
Published
A practical TypeScript wrapper for the [PlayFab](https://playfab.com/) backend API, designed for use in Node.js server-side projects.
Downloads
499
Readme
playfab_api
A practical TypeScript wrapper for the PlayFab backend API, designed for use in Node.js server-side projects.
This package does not mirror the full PlayFab API — it covers the endpoints most commonly needed in practice, and is intended to grow via contributions. Browse lib/playfab_api.ts to see all available methods.
Installation
npm install playfab_apiUsage
import PlayFabClient from 'playfab_api';
import { Types } from 'playfab_api'; // All TypeScript types
const client = new PlayFabClient('your-title-id', 'your-secret-key');
const tokenResponse = await client.getEntityToken();
const entityToken = tokenResponse.data.EntityToken;The constructor takes your PlayFab Title ID and Secret Key, available in Game Manager under Settings → Secret Keys.
Tip: For server-side use (e.g. Azure Functions), create a single static instance of
PlayFabClientand reuse it across requests. See Microsoft's guidance on static clients.
Testing
Tests use Jest with Mock Service Worker (MSW) to intercept HTTP requests without a live PlayFab connection. Mock handlers for all endpoints are defined in lib/mocks/playfab_mocks.ts.
import { server, mockPlayFabTitleId, mockValidSecretKey } from 'playfab_api/lib/mocks/playfab_mocks';
beforeAll(() => server.listen());
beforeEach(() => server.resetHandlers());
afterAll(() => server.close());Use server.use(...) to override a handler for a specific test case.
npm test # Run all tests with coverage
npx jest test/playfab_api.test.ts # Run a single test file
npx jest -t "test name here" # Run a single test by nameContributing
Use the existing methods in lib/playfab_api.ts as a template. New types go in types/playfab_types.ts, and mock handlers go in lib/mocks/playfab_mocks.ts.
