UNPKG

omnisend-node-sdk

Version:

🔹 Typesafe Omnisend API SDK for Node.js

166 lines (165 loc) • 6.24 kB
import type { HttpClient, RequestParams } from "../http-client"; export declare class Events<SecurityDataType = unknown, SafeMode extends true | false = false> { http: HttpClient<SecurityDataType, SafeMode>; constructor(http: HttpClient<SecurityDataType, SafeMode>); /** * @description Get custom event, created in Omnisend app. * * @tags Events * @name GetEventsEventId * @summary Get custom event * @request GET:/events/{eventID} * @secure */ getEventsEventId: (eventId: string, params?: RequestParams) => Promise<SafeMode extends true ? { success: false; error?: string | undefined; } | { success: true; data: { eventID?: string | undefined; name?: string | undefined; systemName?: string | undefined; enabled?: boolean | undefined; /** @format date-time */ createdAt?: string | undefined; /** @format date-time */ updatedAt?: string | undefined; /** @format date-time */ launchedAt?: string | undefined; fields?: { name?: string | undefined; systemName?: string | undefined; type?: string | undefined; required?: boolean | undefined; }[] | undefined; }; } : { eventID?: string | undefined; name?: string | undefined; systemName?: string | undefined; enabled?: boolean | undefined; /** @format date-time */ createdAt?: string | undefined; /** @format date-time */ updatedAt?: string | undefined; /** @format date-time */ launchedAt?: string | undefined; fields?: { name?: string | undefined; systemName?: string | undefined; type?: string | undefined; required?: boolean | undefined; }[] | undefined; }>; /** * @description Trigger custom event to Omnisend. To make your custom automation flow to work you need: 1. Create a custom event in the [Omnisend application](https://app.omnisend.com) while adding custom `fields`. 2. Create flow(s) with that custom event. 3. Pass all required fields (`eventID`, `email`, `phone`), including the required custom `fields`, that you created in Step 2. * * @tags Events * @name PostEventsEventId * @summary Trigger custom event * @request POST:/events/{eventID} * @secure */ postEventsEventId: (eventId: string, data: { /** * Email or phone number is required * @format email */ email?: string; /** Email or phone number is required */ phone?: string; /** customFields - pass only fields defined in Omnisend app. You can check defined fields, their types and requisiteness by using GET /events endpoint. */ fields?: { key?: string; }; }, params?: RequestParams) => Promise<SafeMode extends true ? { success: false; error?: string | undefined; } | { success: true; data: void; } : void>; /** * @description Get custom events, created in Omnisend app. * * @tags Events * @name GetEvents * @summary List custom events * @request GET:/events * @secure */ getEvents: (params?: RequestParams) => Promise<SafeMode extends true ? { success: false; error?: string | undefined; } | { success: true; data: { eventID?: string | undefined; name?: string | undefined; systemName?: string | undefined; enabled?: boolean | undefined; /** @format date-time */ createdAt?: string | undefined; /** @format date-time */ updatedAt?: string | undefined; /** @format date-time */ launchedAt?: string | undefined; fields?: { name?: string | undefined; systemName?: string | undefined; type?: string | undefined; required?: boolean | undefined; }[] | undefined; }[]; } : { eventID?: string | undefined; name?: string | undefined; systemName?: string | undefined; enabled?: boolean | undefined; /** @format date-time */ createdAt?: string | undefined; /** @format date-time */ updatedAt?: string | undefined; /** @format date-time */ launchedAt?: string | undefined; fields?: { name?: string | undefined; systemName?: string | undefined; type?: string | undefined; required?: boolean | undefined; }[] | undefined; }[]>; /** * @description Trigger (by event’s system name) or create event. If custom event doesn’t exist - it will be created with passed event’s fields. Custom event field types will be determined automatically*. If existing custom event will be triggered with additional fields - they will be added to custom event fields. If triggered existing custom event's field types will differ from existing ones, you’ll get an error. **Note:** numbers like 10, 10.00, 10.0 will be interpreted as **integers**. If you want custom event field to be interpreted as **float**, pass **10.01** or etc (number not with leading zeros). * * @tags Events * @name PostEvents * @summary Trigger or create custom event * @request POST:/events * @secure */ postEvents: (data: { /** Event name */ name?: string; /** Event system name */ systemName: string; /** * Email or phone number is required * @format email */ email?: string; /** Email or phone number is required */ phone?: string; /** Event custom fields */ fields?: { fieldSystemName?: string; }; }, params?: RequestParams) => Promise<SafeMode extends true ? { success: false; error?: string | undefined; } | { success: true; data: void; } : void>; }