@jokoor/sdk
Version:
Jokoor SMS API SDK for JavaScript/TypeScript
123 lines • 2.19 kB
TypeScript
/**
* Jokoor SDK Types
* Additional types and interfaces for the SDK
*/
export type PaymentMode = 'test' | 'live';
export type APIKeyType = 'secret' | 'publishable' | 'service';
export interface JokoorConfig {
/**
* API base URL (default: https://api.jokoor.com)
*/
baseURL?: string;
/**
* Request timeout in milliseconds (default: 30000)
*/
timeout?: number;
/**
* Maximum number of retry attempts (default: 3)
*/
maxRetries?: number;
/**
* Enable debug logging (default: false)
*/
debug?: boolean;
}
export interface SendSMSParams {
/**
* Recipient phone number (with country code)
*/
to: string;
/**
* SMS message content
*/
message: string;
/**
* Schedule delivery time (ISO 8601 format)
*/
scheduledAt?: string;
/**
* Campaign ID to associate this message with
*/
campaignId?: string;
/**
* Custom metadata
*/
metadata?: Record<string, any>;
}
export interface WebhookEvent {
/**
* Event ID
*/
id: string;
/**
* Event type
*/
type: string;
/**
* Event data
*/
data: any;
/**
* Event creation timestamp
*/
created: string;
/**
* API version
*/
apiVersion: string;
}
export interface PaginationParams {
/**
* Page number (1-based)
*/
page?: number;
/**
* Items per page
*/
perPage?: number;
/**
* Sort field
*/
sortBy?: string;
/**
* Sort direction
*/
sortOrder?: 'asc' | 'desc';
}
export interface ListResponse<T> {
/**
* Array of items
*/
data: T[];
/**
* Total number of items
*/
total: number;
/**
* Current page
*/
page: number;
/**
* Items per page
*/
perPage: number;
/**
* Total number of pages
*/
totalPages: number;
}
export interface ErrorResponse {
/**
* Error message
*/
error: string;
/**
* Error code
*/
code?: string;
/**
* Additional error details
*/
details?: any;
}
//# sourceMappingURL=types.d.ts.map