@oppulence/stripe-sync-engine-sdk
v1.10.9
Published
TypeScript SDK for Oppulence Stripe Sync Engine
Downloads
3,774
Maintainers
Readme
Oppulence Stripe Sync SDK for TypeScript
TypeScript/JavaScript SDK for interacting with the Oppulence Stripe Sync Engine API.
Installation
npm install @oppulence/stripe-sync-engine-sdkor with yarn:
yarn add @oppulence/stripe-sync-engine-sdkor with pnpm:
pnpm add @oppulence/stripe-sync-engine-sdkUsage
Basic Setup
import { Configuration, TenantsApi, SyncApi } from '@oppulence/stripe-sync-engine-sdk'
// Configure the SDK with your API credentials
const config = new Configuration({
basePath: 'https://your-sync-engine.example.com',
headers: {
'x-api-key': 'your-api-key-here',
},
})
// Initialize API clients
const tenantsApi = new TenantsApi(config)
const syncApi = new SyncApi(config)Create a Tenant
const createTenantResponse = await tenantsApi.createTenant({
createTenantRequest: {
tenantId: 'customer-123',
stripeSecretKey: 'sk_test_...',
// optional fields
webhookSecret: 'whsec_...',
metadata: { customerId: '123' },
},
})
console.log('Tenant created:', createTenantResponse)Trigger a Sync
const syncResponse = await syncApi.syncTenant({
tenantId: 'customer-123',
})
console.log('Sync initiated:', syncResponse)List Tenants
const tenants = await tenantsApi.listTenants({
limit: 100,
offset: 0,
})
console.log('Tenants:', tenants.data)Get Tenant Health
const health = await tenantsApi.getTenantHealth({
tenantId: 'customer-123',
})
console.log('Tenant health:', health)Trigger Backfill
const backfillResponse = await syncApi.syncBackfill({
tenantId: 'customer-123',
syncBackfillRequest: {
entities: ['customer', 'subscription', 'invoice'],
startDate: '2024-01-01',
endDate: '2024-12-31',
},
})
console.log('Backfill initiated:', backfillResponse)API Reference
Available APIs
- TenantsApi: Manage tenants (create, update, list, delete)
- SyncApi: Trigger sync operations
- HealthApi: Check API and tenant health status
- WebhooksApi: Process webhooks
Configuration Options
const config = new Configuration({
basePath: 'https://api.example.com', // API base URL
headers: {
'x-api-key': 'your-api-key', // API key for authentication
'Content-Type': 'application/json',
},
fetchApi: fetch, // Optional: custom fetch implementation
})Error Handling
try {
const response = await tenantsApi.createTenant({
createTenantRequest: {
/* ... */
},
})
} catch (error) {
if (error instanceof Response) {
const errorData = await error.json()
console.error('API Error:', errorData)
} else {
console.error('Unexpected error:', error)
}
}TypeScript Support
This SDK is written in TypeScript and provides full type definitions out of the box. All request and response types are exported and can be imported:
import type {
CreateTenantRequest,
CreateTenant201Response,
ListTenants200Response,
SyncBackfillRequest,
} from '@oppulence/stripe-sync-engine-sdk'Development
Building
npm run buildPublishing
This SDK is automatically published to npm when a new release is created. See the main repository documentation for release procedures.
Support
For issues and questions, please visit:
- GitHub Issues: https://github.com/Oppulence-Engineering/oppulence-sync-engine/issues
- Documentation: https://github.com/Oppulence-Engineering/oppulence-sync-engine
License
MIT
