@jokoor/sdk
Version:
Jokoor SMS API SDK for JavaScript/TypeScript
79 lines • 2.48 kB
TypeScript
/**
* Type-safe response interfaces with camelCase fields
*/
import type { KeysToCamelCase } from './case-conversion';
import type { V1SMSResponse as ApiSMSResponse, V1ContactResponse as ApiContactResponse, V1ContactGroupResponse as ApiContactGroupResponse, V1CampaignResponse as ApiCampaignResponse, V1TemplateResponse as ApiTemplateResponse, V1CampaignStats as ApiCampaignStats, V1SMSMessage as ApiSMSMessage } from '../generated/api';
export type { Result } from '../types/result';
export { ok, err, isOk, isErr, unwrap, unwrapOr, map, chain, fromPromise, all } from '../types/result';
export type SMSResponse = KeysToCamelCase<ApiSMSResponse>;
export type SMSMessage = KeysToCamelCase<ApiSMSMessage>;
export type ContactResponse = KeysToCamelCase<ApiContactResponse>;
export type ContactGroupResponse = KeysToCamelCase<ApiContactGroupResponse>;
export type CampaignResponse = KeysToCamelCase<ApiCampaignResponse>;
export type CampaignStats = KeysToCamelCase<ApiCampaignStats>;
export type TemplateResponse = KeysToCamelCase<ApiTemplateResponse>;
export interface SMSSendParams {
to?: string;
message?: string;
scheduledAt?: string;
isDraft?: boolean;
contactId?: string;
templateId?: string;
templateParams?: {
[key: string]: string;
};
}
export interface CampaignCreateParams {
name: string;
message?: string;
templateId?: string;
contactIds?: string[];
contactGroupIds?: string[];
scheduledAt?: string;
isDraft?: boolean;
senderIdConfigId?: string;
templateParams?: {
[key: string]: string;
};
}
export interface CampaignUpdateParams {
name?: string;
message?: string;
scheduledAt?: string;
}
export interface ContactCreateParams {
phoneNumber: string;
firstName?: string;
lastName?: string;
email?: string;
metadata?: {
[key: string]: any;
};
}
export interface ContactUpdateParams {
phoneNumber?: string;
firstName?: string;
lastName?: string;
email?: string;
metadata?: {
[key: string]: any;
};
}
export interface ContactGroupCreateParams {
name: string;
description?: string;
}
export interface ContactGroupUpdateParams {
name?: string;
description?: string;
}
export interface TemplateCreateParams {
name: string;
body: string;
}
export interface TemplateUpdateParams {
name?: string;
body?: string;
description?: string;
}
//# sourceMappingURL=responses.d.ts.map