@stadionhq/dynamic-yield-js
v0.0.27
Published
Dynamic Yield API client for JavaScript
Readme
Dynamic Yield JavaScript Client
A TypeScript/JavaScript client for the Dynamic Yield API, providing a simple and type-safe way to interact with Dynamic Yield's services.
Installation
# Using npm
npm install @stadionhq/dynamic-yield-js
# Using yarn
yarn add @stadionhq/dynamic-yield-js
# Using bun
bun add @stadionhq/dynamic-yield-jsUsage
import { DynamicYieldClient } from '@stadionhq/dynamic-yield-js';
// Initialize the client
const client = new DynamicYieldClient({
apiKey: 'your-api-key',
dataCenter: 'us', // or 'eu', defaults to 'us'
version: 'v2', // optional, defaults to 'v2'
extraHeaders: {} // optional additional headers
});
// Example: Choose variations
const variations = await client.chooseVariations({
user: { id: 'user123' },
context: { page: 'home' },
options: {
variations: [{ id: 'variation1' }]
}
});
// Example: Track pageview
await client.trackPageviews({
user: { id: 'user123' },
context: { page: 'product' }
});Available Methods
The client provides methods for all Dynamic Yield API endpoints:
chooseVariations()- Choose variations for a usertrackPageviews()- Track page viewstrackEngagement()- Track user engagementsearch()- Perform search operationstrackEvents()- Track custom eventsupdateProductFeed()- Update product feedtrackTransactionStatusSpecificItem()- Track transaction status for specific itemstrackTransactionStatusWholeTransaction()- Track transaction status for whole transactionsupdateBranchFeed()- Update branch feedreportOutages()- Report outagesuserDataApi()- User data operationsexternalEventsApi()- Track external eventsprofileAnywhere()- Access user profile datasetActiveConsentAccepted()- Set user consent status
Configuration
The client accepts the following configuration options:
interface DYApiConfig {
apiKey: string; // Your Dynamic Yield API key
dataCenter?: 'us' | 'eu'; // Data center to use (defaults to 'us')
version?: string; // API version (defaults to 'v2')
extraHeaders?: Record<string, string>; // Additional headers to include
}Error Handling
All API calls will throw an error if the request fails. The error message will include the HTTP status code:
try {
await client.chooseVariations({/*...*/});
} catch (error) {
console.error('API call failed:', error.message);
}Development
# Install dependencies
yarn install
# Run tests
yarn test
# Run tests in watch mode
yarn test:watch
# Build the project
yarn buildLicense
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
