Package Exports
- @stadionhq/dynamic-yield-js
- @stadionhq/dynamic-yield-js/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@stadionhq/dynamic-yield-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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-js
Usage
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 data
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 build
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.