0.0.20 • Published 2 months ago
@stadionhq/dynamic-yield-js v0.0.20
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.
Repository
0.0.20
2 months ago
0.0.19
2 months ago
0.0.18
2 months ago
0.0.17
2 months ago
0.0.16
2 months ago
0.0.15
2 months ago
0.0.14
2 months ago
0.0.13
2 months ago
0.0.12
2 months ago
0.0.11
2 months ago
0.0.10
2 months ago
0.0.9
2 months ago
0.0.8
2 months ago
0.0.7
2 months ago
0.0.6
2 months ago
0.0.5-beta.2
2 months ago
0.0.5-beta.1
2 months ago
0.0.4
2 months ago
0.0.3
2 months ago
0.0.2
2 months ago
0.0.1
2 months ago