UNPKG

meta-cloud-api

Version:
216 lines (212 loc) 7.52 kB
import { f as TemplateFormat, d as TemplateRequestBody } from '../../TemplateApi-xGgIZt89.js'; export { C as CatalogButton, g as ComponentTypes, h as CopyCodeButton, F as FlowButton, M as MPMButton, q as MediaCarouselCard, O as OTPButton, P as PhoneNumberButton, r as ProductCarouselCard, Q as QuickReplyButton, S as SPMButton, T as TemplateApi, i as TemplateBody, j as TemplateButton, k as TemplateButtons, l as TemplateCarousel, a as TemplateClass, b as TemplateDeleteParams, m as TemplateFooter, c as TemplateGetParams, n as TemplateHeader, o as TemplateHeaderExample, p as TemplateLimitedTimeOffer, e as TemplateResponse, U as URLButton, T as default } from '../../TemplateApi-xGgIZt89.js'; import { L as LanguagesEnum, i as CurrencyCodesEnum, a as CategoryEnum } from '../../enums-BZd9T2ul.js'; import '../../base-CdGDdVEl.js'; import '../../types/config.js'; import '../../request-vYMaEfk5.js'; interface TextParameter { type: 'text'; value: string; } interface CurrencyParameter { type: 'currency'; amount_1000: number; code: CurrencyCodesEnum; fallback_value: string; } interface DateTimeParameter { type: 'date_time'; fallback_value: string; } interface MediaParameter { type: 'image' | 'video' | 'document'; handle?: string; link?: string; } interface LocationParameter { type: 'location'; latitude?: number; longitude?: number; name?: string; address?: string; } interface ProductParameter { type: 'product'; product_retailer_id: string; } type TemplateParameter = TextParameter | CurrencyParameter | DateTimeParameter | MediaParameter | LocationParameter | ProductParameter; interface HeaderOptions { format: TemplateFormat; text?: string; parameters?: TemplateParameter[]; example?: { header_text?: string[]; header_text_named_params?: Array<{ param_name: string; example: string; }>; header_handle?: string[]; }; } interface BodyOptions { text: string; parameters?: TemplateParameter[]; example?: { body_text?: string[][]; body_text_named_params?: Array<{ param_name: string; example: string; }>; }; } interface FooterOptions { text: string; } interface ButtonOptions { phone_number?: { text: string; phone_number: string; }; url?: { text: string; url: string; example?: string; }; quick_reply?: { text: string; }[]; copy_code?: { example: string; }; flow?: { text: string; flow_id?: string; flow_name?: string; flow_json?: string; flow_action?: 'navigate' | 'data_exchange'; navigate_screen?: string; }; mpm?: boolean; otp?: boolean; spm?: boolean; } interface CarouselCard { image?: string; video?: string; product?: string; body?: string; bodyParameters?: TemplateParameter[]; buttons?: ButtonOptions; } interface CarouselOptions { cards: CarouselCard[]; } interface LimitedTimeOfferOptions { expiration_time_ms: number; } interface ProductSection { title?: string; product_items: Array<{ product_retailer_id: string; }>; } interface TemplateOptions { name: string; language: LanguagesEnum; category: CategoryEnum; header?: HeaderOptions; body?: BodyOptions; footer?: FooterOptions; buttons?: ButtonOptions; carousel?: CarouselOptions; limitedTimeOffer?: LimitedTimeOfferOptions; } interface OTPTemplateOptions { name: string; language: LanguagesEnum; code_expiration_minutes?: number; add_security_recommendation?: boolean; } interface AuthenticationTemplateOptions { name: string; language: LanguagesEnum; code_expiration_minutes?: number; add_security_recommendation?: boolean; copy_code_button?: boolean; } interface CatalogTemplateOptions { name: string; language: LanguagesEnum; header?: Omit<HeaderOptions, 'format'>; body: BodyOptions; footer?: FooterOptions; thumbnail_product_retailer_id: string; } interface CouponTemplateOptions { name: string; language: LanguagesEnum; header?: Omit<HeaderOptions, 'format'>; body: BodyOptions; footer?: FooterOptions; coupon_code: string; } interface LimitedTimeOfferTemplateOptions { name: string; language: LanguagesEnum; header?: Omit<HeaderOptions, 'format'>; body: BodyOptions; footer?: FooterOptions; expiration_time_ms: number; } interface MediaCardCarouselTemplateOptions { name: string; language: LanguagesEnum; cards: Array<{ header: { format: 'IMAGE' | 'VIDEO'; example: { header_handle: string[]; }; }; body: BodyOptions; buttons?: ButtonOptions; }>; } interface MPMTemplateOptions { name: string; language: LanguagesEnum; header?: Omit<HeaderOptions, 'format'>; body: BodyOptions; footer?: FooterOptions; thumbnail_product_retailer_id: string; sections: ProductSection[]; } interface ProductCardCarouselTemplateOptions { name: string; language: LanguagesEnum; header?: Omit<HeaderOptions, 'format'>; body: BodyOptions; footer?: FooterOptions; cards: Array<{ product_retailer_id: string; }>; } interface SPMTemplateOptions { name: string; language: LanguagesEnum; header?: Omit<HeaderOptions, 'format'>; body: BodyOptions; footer?: FooterOptions; product_retailer_id: string; } declare function createTemplate(options: TemplateOptions): TemplateRequestBody; declare function createOTPTemplate(options: OTPTemplateOptions): TemplateRequestBody; declare function createAuthenticationTemplate(options: AuthenticationTemplateOptions): TemplateRequestBody; declare function createCatalogTemplate(options: CatalogTemplateOptions): TemplateRequestBody; declare function createCouponTemplate(options: CouponTemplateOptions): TemplateRequestBody; declare function createLimitedTimeOfferTemplate(options: LimitedTimeOfferTemplateOptions): TemplateRequestBody; declare function createMediaCardCarouselTemplate(options: MediaCardCarouselTemplateOptions): TemplateRequestBody; declare function createMPMTemplate(options: MPMTemplateOptions): TemplateRequestBody; declare function createProductCardCarouselTemplate(options: ProductCardCarouselTemplateOptions): TemplateRequestBody; declare function createSPMTemplate(options: SPMTemplateOptions): TemplateRequestBody; export { type AuthenticationTemplateOptions, type BodyOptions, type ButtonOptions, type CarouselCard, type CarouselOptions, type CatalogTemplateOptions, type CouponTemplateOptions, type CurrencyParameter, type DateTimeParameter, type FooterOptions, type HeaderOptions, type LimitedTimeOfferOptions, type LimitedTimeOfferTemplateOptions, type LocationParameter, type MPMTemplateOptions, type MediaCardCarouselTemplateOptions, type MediaParameter, type OTPTemplateOptions, type ProductCardCarouselTemplateOptions, type ProductParameter, type ProductSection, type SPMTemplateOptions, TemplateFormat, type TemplateOptions, type TemplateParameter, TemplateRequestBody, type TextParameter, createAuthenticationTemplate, createCatalogTemplate, createCouponTemplate, createLimitedTimeOfferTemplate, createMPMTemplate, createMediaCardCarouselTemplate, createOTPTemplate, createProductCardCarouselTemplate, createSPMTemplate, createTemplate };