@swirepay-developer/sparo-embed-sdk
v1.0.9
Published
SPARO embedding SDK for guest-token based iframe integration
Maintainers
Readme
SPARO Embed SDK
@swirepay-developer/sparo-embed-sdk embeds SPARO in web apps (including gateway React) using guest-token auth and an iframe.
Bitbucket: https://bitbucket.org/zetametrics/sparo-swirepay-frontend.git
Who does what
| Role | Action |
|------|--------|
| You (SDK) | Push this repo to Bitbucket (sdkmaster or release branch). Bump version in package.json for each release. |
| DevOps | Clone repo → npm ci → npm publish. See DEVOPS-NPM-PUBLISH.md. |
| Gateway developer | SDK: GATEWAY-REACT-GUIDE.md · Middleware: ../sparo-key-backend |
Until DevOps publishes, gateway will show:
Module not found: Can't resolve '@swirepay-developer/sparo-embed-sdk'
That is expected — the package is not on npm yet.
Gateway install (after DevOps publish)
npm install @swirepay-developer/sparo-embed-sdk{
"dependencies": {
"@swirepay-developer/sparo-embed-sdk": "^1.0.8"
}
}Private package: use .npmrc.example with org NPM_TOKEN (DevOps provides access).
Quick Start (Java guest-token API)
Gateway Java API (URLs from host env, not SDK):
| Environment | Guest-token URL |
|-------------|-----------------|
| Staging | https://staging-backend.swirepay.com/v1/sparo/guest-token |
| Production | https://backend.swirepay.com/v1/sparo/guest-token |
import {
embed,
createGuestTokenFetcher,
} from '@swirepay-developer/sparo-embed-sdk';
const handle = embed({
id: 'sparo-chat',
sparoDomain: process.env.REACT_APP_SPARO_DOMAIN,
mountPoint: document.getElementById('sparo'),
fetchGuestToken: createGuestTokenFetcher(
process.env.REACT_APP_SPARO_GUEST_TOKEN_URL,
{ getAuthorization: getGatewayBearerToken },
),
uiConfig: { theme: 'light' },
onReady: () => console.log('[Sparo] ready'),
onError: (err) => console.error('[Sparo]', err.code, err.message),
});getGatewayBearerToken() returns the logged-in user's gateway JWT (same as other API calls).
Docs
| Document | Audience | |----------|----------| | DEVOPS-NPM-PUBLISH.md | DevOps — publish to npm | | GATEWAY-REACT-GUIDE.md | Gateway React — SparoChat integration | | SPARO-EMBEDDING.md | Backend + architecture | | INSTALL.md | npm install / troubleshooting | | MAVEN-PUBLISH.md | Java/WebJar only (not gateway) |
Development (SDK repo only)
npm install
npm run verifyBuild outputs: dist/index.js, dist/index.mjs, dist/sparo-embed-sdk.global.js
dist/ is built during npm publish via prepublishOnly — do not commit dist/.
