SDKs
Perkamo integrations are backend-first. Your backend sends trusted events and keeps server API keys secret. Browser integrations add a frontend client only after your backend can return short-lived client tokens signed with a Perkamo signing key.
Create the Space and server key in Spaces and Server keys before wiring any SDK.
Packages
| Package | Registry | Status | Use |
|---|---|---|---|
| @perkamo/sdk | npm | Stable | Backend JavaScript or TypeScript integrations. |
| @perkamo/sdk-core | npm | Stable | Advanced runtime-neutral validation, canonical JSON and transaction ID helpers. |
| @perkamo/browser | npm | Preview | Browser-safe client and widget helpers used with backend-issued client tokens. |
| @perkamo/react | npm | Preview | React provider and hooks for customer state, events and realtime streams. |
| @perkamo/react-native | npm | Preview | React Native and Expo client and hooks with polling live updates. |
| @perkamo/nextjs | npm | Preview | Next.js route handlers, Server Components and Client Component helpers. |
| @perkamo/mcp | npm | Preview | Installable stdio MCP adapter for AI-assisted Perkamo operations. |
| perkamo/sdk | Packagist | Stable | Backend PHP integrations. |
| perkamo/symfony-bundle | Packagist | Preview | Symfony backend and browser SDK token route integration. |
Choose an integration guide
- Backend JavaScript SDK for Node.js or TypeScript
backends that emit events and read customer state.
- Browser SDK for storefronts, widgets and bundled
frontend apps. Use this with a backend token route; never put a server API key in browser code.
- React SDK for Vite, Remix, React Router and other
React apps that render customer state with hooks.
- React Native SDK for bare React Native 0.73+
and Expo mobile apps.
- Next.js SDK for App Router route handlers, Server
Components and Client Components.
- PHP SDK for backend PHP services using Composer.
- Symfony Bundle for Symfony 6.4 LTS, 7.4 LTS and 8
apps that need backend events plus browser SDK token endpoints.
- MCP connections for AI clients using managed OAuth or the
installable @perkamo/mcp stdio adapter.
Install by integration
Backend JavaScript or TypeScript integrations:
bash
npm install @perkamo/sdkBackend PHP integrations:
bash
composer require perkamo/sdkSymfony integrations:
bash
composer require perkamo/symfony-bundleBrowser integrations with a bundler:
bash
npm install @perkamo/browserReact integrations:
bash
npm install @perkamo/reactReact Native and Expo integrations:
bash
npm install @perkamo/react-nativeNext.js integrations:
bash
npm install @perkamo/nextjs @perkamo/browser @perkamo/sdkLocal stdio MCP clients:
bash
npm install --global @perkamo/mcpBrowser integrations without a bundler can load the standalone build from the free jsDelivr npm CDN:
html
<script src="https://cdn.jsdelivr.net/npm/@perkamo/browser@0.10.0/dist/perkamo-browser.global.min.js"></script>Pin the package version so production pages load a reviewed browser bundle. UNPKG serves the same npm package as an alternative: https://unpkg.com/@perkamo/browser@0.10.0/dist/perkamo-browser.global.min.js.
Security boundary
Server API keys belong only on trusted backends. For browser and embedded widget work, your frontend calls your own backend first. That backend verifies the user session and returns only a short-lived browser token or already-filtered customer state. It can self-sign the token with a Perkamo signing key or request one from Perkamo with a server key.
Read Security and keys before shipping a browser or mobile integration.