export type PaymentPlanTokenRequest = {sourceType: 'ZENDESK' | 'ZENDESK_CHAT' | 'INTERCOM' | 'HELP_SCOUT' | 'FRESHDESK' | 'KUSTOMER' | 'MANUAL_IMPORT' | 'BROWSER_EXTENSION' | 'AIRCALL' | 'SALESFORCE' | 'HELPSHIFT' | 'DIXA' | 'FRONT' | 'GORGIAS' | 'TALKDESK' | 'FRESHCHAT' | 'GENESYS', name?: string | undefined, subdomain?: string | undefined, token?: string | undefined, tokenSecret?: string | undefined, username?: string | undefined, clientId?: string | undefined, clientSecret?: string | undefined, redirectUri?: string | undefined, range?: ('BACK_1_DAY' | 'BACK_7_DAYS' | 'BACK_1_MONTH' | 'PREVIOUS_WEEK' | 'THIS_WEEK' | 'THIS_MONTH' | 'PREVIOUS_MONTH') | undefined, addToAllTeams?: boolean | undefined, maskClientData?: boolean | undefined, ignoreTicketFields?: Array | undefined, includeTicketTags?: Array | undefined, ignoreTicketTags?: Array | undefined, groupNameFilterList?: Array | undefined, includeGroups?: Array | undefined, ignoreGroups?: Array | undefined, mailboxNameFilterList?: Array | undefined, includeMailboxes?: Array | undefined, ignoreMailboxes?: Array | undefined, includeChannels?: Array | undefined, ignoreChannels?: Array | undefined, ignoreCsatAbove?: string | undefined, pullBodyFromIntegration?: boolean | undefined, pullSubjectFromIntegration?: boolean | undefined, removeAttachmentUrls?: boolean | undefined, intercomTeamId?: string | undefined, intercomSubdomain?: string | undefined, salesforceSandbox?: boolean | undefined, dataRetentionPeriod?: string | undefined, region?: string | undefined, codeVerifier?: string | undefined}; export type CreateApiPaymentsPaymentIdTokensArgs = {paymentId: number, 'X-Zendesk-Doorman-Auth-Response': string, body: PaymentPlanTokenRequest}; export type CreateApiPaymentsPaymentIdTokensOptions = {baseUrl?: string | undefined, zendeskAuthn?: string | undefined, fetch?: typeof fetch | undefined}; /** * POST /payments/{paymentId}/tokens */ export const createApiPaymentsPaymentIdTokens = async (args: CreateApiPaymentsPaymentIdTokensArgs, options?: CreateApiPaymentsPaymentIdTokensOptions) => { const {baseUrl = "http://api.klausapp.com", fetch: fetchFn = fetch, zendeskAuthn} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "*/*") if (args['X-Zendesk-Doorman-Auth-Response'] != null) headers.set("X-Zendesk-Doorman-Auth-Response", String(args['X-Zendesk-Doorman-Auth-Response'])) if (zendeskAuthn !== undefined) headers.set("X-Zendesk-Authn", zendeskAuthn) const url = `${baseUrl.replace(/\/+$/, '')}/payments/${encodeURIComponent(String(args.paymentId))}/tokens${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.blob() };