creatorly-sdk
v1.0.1
Published
SDK for tracking promo code attributions with Creatorly
Maintainers
Readme
Creatorly SDK
Track promo code attributions for influencer marketing campaigns.
Installation
npm install creatorly-sdkQuick Start
import { Creatorly } from 'creatorly-sdk';
const creatorly = new Creatorly({
publicKey: 'pk_live_xxxxx' // Get this from your Creatorly dashboard
});
// Track attribution after user signup
const result = await creatorly.trackAttribution({
userId: 'user_123',
userEmail: '[email protected]', // optional
promoCode: 'JOHN20',
metadata: { source: 'ios_app' } // optional
});
if (result.success) {
console.log('Attribution tracked!');
console.log('Influencer:', result.influencer?.handle);
}API Reference
new Creatorly(config)
Create a new Creatorly client instance.
Config Options
| Option | Type | Required | Default | Description |
|--------|------|----------|---------|-------------|
| publicKey | string | Yes | - | Your Creatorly public API key |
| baseUrl | string | No | https://creatorly-production.up.railway.app | API base URL |
| timeout | number | No | 10000 | Request timeout in ms |
creatorly.trackAttribution(params)
Track a promo code attribution.
Parameters
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| userId | string | Yes | Unique user identifier in your system |
| userEmail | string | No | User's email address |
| promoCode | string | Yes | The promo code entered by the user |
| metadata | object | No | Additional data to attach |
Returns
{
success: boolean;
attributionId?: string;
influencer?: {
handle: string | null;
platform: 'instagram' | 'tiktok' | 'youtube' | null;
} | null;
error?: string;
}Error Handling
import { Creatorly, CreatorlyError } from 'creatorly-sdk';
try {
await creatorly.trackAttribution({
userId: 'user_123',
promoCode: 'JOHN20'
});
} catch (error) {
if (error instanceof CreatorlyError) {
console.error('Creatorly error:', error.message);
console.error('Status code:', error.statusCode);
}
}Duplicate Attributions
If you try to track the same user + promo code combination twice, the SDK will return:
{
success: false,
error: 'Attribution already exists for this user and promo code'
}This is not thrown as an error - check result.success to handle this case.
TypeScript
This package includes TypeScript definitions. All types are exported:
import {
Creatorly,
CreatorlyConfig,
TrackAttributionParams,
AttributionResult,
CreatorlyError
} from 'creatorly-sdk';License
MIT
