UNPKG

customerio-node

Version:

A node client for the Customer.io event API. http://customer.io

36 lines (35 loc) 1.3 kB
/// <reference types="node" /> import type { RequestOptions } from 'https'; export type BasicAuth = { apikey: string; siteid: string; }; export type BearerAuth = string; export type RequestAuth = BasicAuth | BearerAuth; export type RequestData = Record<string, any> | undefined; export type RequestHandlerOptions = { method: RequestOptions['method']; uri: string; headers: RequestOptions['headers']; body?: string | null; }; export interface PushRequestData { delivery_id?: string; device_id?: string; event?: 'delivered' | 'opened' | 'converted'; timestamp?: number; } export default class CIORequest { apikey?: BasicAuth['apikey']; siteid?: BasicAuth['siteid']; appKey?: BearerAuth; auth: string; defaults: RequestOptions; constructor(auth: RequestAuth, defaults?: RequestOptions); options(uri: string, method: RequestOptions['method'], data?: RequestData): RequestHandlerOptions; handler({ uri, body, method, headers }: RequestHandlerOptions): Promise<Record<string, any>>; get(uri: string): Promise<Record<string, any>>; put(uri: string, data?: RequestData): Promise<Record<string, any>>; destroy(uri: string): Promise<Record<string, any>>; post(uri: string, data?: RequestData): Promise<Record<string, any>>; }