Package Exports
- @oppulence/stripe-sync-engine-sdk
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