@uninspired/plunk-client
Version:
JS client for the Plunk HTTP API
22 lines (21 loc) • 2.12 kB
TypeScript
import type { CreateCampaignReq, CreateCampaignRes, CreateContactReq, CreateContactResParsed, DeleteCampaignReq, DeleteCampaignRes, DeleteContactReq, DeleteContactResParsed, GetAllContactsResParsed, GetContactByIdResParsed, GetNumberOfContactsRes, SendCampaignReq, SendEmailReq, SendEmailRes, SubscribeContactReq, SubscribeContactRes, TrackEventReq, TrackEventRes, UnsubscribeContactReq, UnsubscribeContactRes, UpdateCampaignReq, UpdateCampaignRes, UpdateContactReq, UpdateContactResParsed } from "./types";
export declare class PlunkApiClient {
#private;
constructor(baseUrl: string, apiKey: string);
trackEvent: <Data extends Record<string, string>>(req: TrackEventReq<Data>) => Promise<TrackEventRes>;
sendEmail: (req: SendEmailReq) => Promise<SendEmailRes>;
sendCampaign: (id: SendCampaignReq["id"], options?: Omit<SendCampaignReq, "id">) => Promise<void>;
createCampaign: (req: CreateCampaignReq) => Promise<CreateCampaignRes>;
updateCampaign: (id: UpdateCampaignReq["id"], body: Omit<UpdateCampaignReq, "id">) => Promise<UpdateCampaignRes>;
deleteCampaign: (id: DeleteCampaignReq["id"]) => Promise<DeleteCampaignRes>;
getContactById: <Data extends Record<string, string>>(id: string) => Promise<GetContactByIdResParsed<Data>>;
getAllContacts: <Data extends Record<string, string>>() => Promise<GetAllContactsResParsed<Data>>;
getNumberOfContacts: () => Promise<GetNumberOfContactsRes>;
createContact: <Data extends Record<string, string> = Record<string, string>>(req: CreateContactReq<Data>) => Promise<CreateContactResParsed<Data>>;
subscribeContact: (req: SubscribeContactReq) => Promise<SubscribeContactRes>;
unsubscribeContact: (req: UnsubscribeContactReq) => Promise<UnsubscribeContactRes>;
updateContact: <Data extends Record<string, string> = Record<string, string>>(req: UpdateContactReq<Data>) => Promise<UpdateContactResParsed<Data>>;
deleteContact: <Data extends Record<string, string> = Record<string, string>>(req: DeleteContactReq) => Promise<DeleteContactResParsed<Data>>;
}
export default PlunkApiClient;
export type * from "./types";