UNPKG

omnipartners

Version:
947 lines (946 loc) 24.4 kB
import Api from "../../lib/Api"; import { IDeal, IDealListItem, IDirectCashbackDealDetail, IDirectCashbackRedemptionInput, IDirectCashbackRedemptionRequestInput, IDirectCashbackVoucherDetail, IUserDirectCashbackDealEligiblePet, IUserEligibleDirectCashbackDeal } from "../../types"; import { IDealProduct } from "../../deal-types"; export interface IRedeemWithReceiptInput { barcode: string; receipt_date: string; mime_type: string; product_ean_code?: string; redemption_partner_extid?: string; } export interface IGetDealsListInput { partner_extid?: string; saving_product_ean?: string; saving_collection_reference?: string; benefit_product_ean?: string; benefit_collection_reference?: string; pet_search_by?: "PET_UNIVERSE" | "PET_BREED" | "PET_TYPE"; pet_search_val?: string; deal_type?: string; display_on_terminal?: 0 | 1; deal_visibility?: "all" | "public"; active_only?: 0 | 1; deal_group_handle?: string; excl_deal_group_handle?: string; } interface IUpdateSecureCodePropertiesInput { access_code: string; status?: string; referral_partner_ext_id?: string; expiry_date?: string; deal_ref?: string; } export interface ISubscribeToDealInput { user_guid: string; ref: string; partner_extid?: string; ean_code?: string; collection_ref?: string; secure_code?: string; pet_guid?: string; child_guid?: string; external_tracking_ref?: string; iban?: string; bic?: string; referral_code?: string; referral_code_type?: string; delivery_address_id?: string; lang?: string; utm_source?: string; utm_campaign?: string; utm_medium?: string; } interface ISubscribeToDealReturnPartner { name: string; street1: string; street2: string; streetnum: string; postal_code: string; city: string; region: string; country: string; id: string; extid: string; type: string; lat: string; lng: string; pub_name: string; pub_street1: string; pub_street2: string; pub_streetnum: string; pub_postal_code: string; pub_city: string; pub_region: string; pub_country: string; distance: string; ptn_status: string; } export interface ISubscribeToDealReturn { id: number; user_guid: string; external_tracking_reference: string; ts_created: string; barcode: string; secure_code: string; subs_partner_id: number; coupon_id: number; status: string; pet_guid: string; pet_status: string; ts_redeemed: string; barcode_url: string; ts_subscribe: string; product_id: string; product: string; saving_end_date: string; redeem_validity_from: string; redeem_validity_to: string; redirect_url: string; referral_partner: string[]; delivery_address: string[]; partner: ISubscribeToDealReturnPartner; deal: IDeal; } export interface ISubscribeToDirectCashbackDealInput { user_guid: string; deal_ref: string; pet_guid?: string; child_guid?: string; } export interface IDealEligiblePet { pet_guid: string; pet_name: string; } export interface IDirectCashbackVoucherListInput { user_guid: string; pet_guid?: string; child_guid?: string; from?: string; to?: string; deal_ref?: string; p_length?: string; p_page?: string; } interface IPageInfo { p_total: number; p_length: number; p_page: number; } export interface IDirectCashbackVoucherList extends IPageInfo { records: IDirectCashbackVoucherListItem[]; } export interface IDirectCashbackVoucherListItem { user_guid: string; barcode: string; pet_guid?: string; child_guid?: string; status: string; ts_created: string; benefit_id?: string; deal_ref: string; benefit_amount?: string; benefit_currency?: string; benefit_product_id?: string; redemption_request_in_progress: 0 | 1; subs_ts_subscribe: string; external_tracking_reference?: string; subs_partner_id?: string; coupon_id: number; ts_redeemed?: string; restriction_code?: string; redeem_validity_from: string; redeem_validity_to: string; num_invi_resend: number; ts_last_send?: string; invt_link?: string; } export interface IDirectCashbackRedemptionRequestListInput { user_guid: string; status?: string; barcode?: string; sort_field?: string; sort_order?: string; p_length?: string; p_page?: string; } export interface IDirectCashbackRedemptionRequestDetailInput { receipt_id?: string; } export interface IDirectCashbackRedemptionRequestDetail { id: string; image_url: string; barcode: string; payment_type: string; status: string; benefit: IDirectCashbackRedemptionRequestDetailBenefit; iban: string; bic: string; created_on: string; updated_on: string; } export interface IDirectCashbackRedemptionRequestDetailBenefit { amount: string; currency: string; } export interface IDirectCashbackDealBenefit { benefit_id: string; benefit_value: string; benefit_type: string; } export interface IDirectCashbackRedemptionRequestList extends IPageInfo { records: IDirectCashbackRedemptionRequestListItem[]; } export interface IDirectCashbackRedemptionRequestListItem { user_guid: string; image_url: string; benefit_id: string; barcode: string; status: string; iban: string; bic: string; created_on: string; updated_on: string; deal: { ref: string; }; } interface IDirectCashbackVoucherApprovalHistorySubscriptionHistory { status: string; changed_on: string; } interface IDirectCashbackVoucherApprovalHistoryRedemptionRequestHistory { id: string; created_on: string; updated_on: string; transaction_id: string; external_payment_ref: string; payment_ref: { iban: string; }; payment_id: string; estimated_delivery_date: string; status: string; image_url: string; history: { changed_on: string; old_status: string; new_status: string; message: string; error?: string; description?: string; }[]; } export interface IDirectCashbackVoucherApprovalHistory { sub_id: string; sub_barcode: string; sub_current_status: string; sub_created: string; sub_updated: string; sub_history: IDirectCashbackVoucherApprovalHistorySubscriptionHistory[]; sub_redemption_requests: IDirectCashbackVoucherApprovalHistoryRedemptionRequestHistory[]; } export declare type IDirectCashbackDealDataOptions = IDirectCashbackDealDataOption | IDirectCashbackDealDataOption[]; declare type IDirectCashbackDealDataOption = "basic_details" | "benefits" | "benefit_product_detail"; export interface IDirectCashbackDealDetailInput { ref: string; default_lang?: string; data_options?: IDirectCashbackDealDataOptions; } export declare type IDealDataOptions = IDealDataOption | IDealDataOption[]; declare type IDealDataOption = "collection_association" | "basic_details" | "products" | "product_collections" | "product_collection_images" | "product_quantity_details" | "benefits" | "benefit_product_details" | "benefit_products" | "benefit_product_collections" | "benefit_product_collection_images" | "partner_restriction_detail" | "partner_restrictions" | "groups" | "pet_restrictions" | "loyalty_reward" | "pet_tags" | "pet_stages" | "subscription_limit"; export declare type IDealSubscriptionDataOptions = IDealSubscriptionDataOption | IDealSubscriptionDataOption[]; declare type IDealSubscriptionDataOption = "partner"; export declare type DealType = "COUPON" | "PRESENT" | "SAVING" | "PAYING" | "LOYALTY" | "CASHBACK" | "DIRECT CASHBACK"; declare type IVoucherListInputDealTypes = DealType | DealType[]; export interface IVoucherListInput { user_guid?: string; pet_guid?: string; child_guid?: string; show?: "basic" | "extended"; from?: string; to?: string; redeemed_from?: string; redeemed_to?: string; barcode?: string; external_tracking_ref?: string; partner_extid?: string; deal_ref?: string; deal_types?: IVoucherListInputDealTypes; redemption_request_status?: string; deal_data_options?: IDealDataOptions; data_options?: IDealSubscriptionDataOptions; coupon_id?: string; status?: "INVITED" | "SUBSCRIBED" | "REDEEMED"; inv_resend_count?: string; sort_field?: string; sort_order?: string; q?: string; p_length?: number; p_page?: number; default_lang?: string; } export interface IVoucher { user_guid: string; pet_guid: string | null; child_guid: string | null; ts_created: string; subs_ts_subscribe: string | null; external_tracking_reference: string | null; barcode: string; subs_partner_id: number; coupon_id: number; status: string; deal_ref: string; ts_redeemed: string | null; restriction_code: string | null; redeem_validity_from: string | null; redeem_validity_to: string | null; product: string; num_invi_resend: number; ts_last_send: string; invt_link: string; partner: { name: string; street1: string; street2: string; streetnum: string; postal_code: string; city: string; region: string; country: string; id: string; extid: string; type: string; lat: string; lng: string; pub_name: string; pub_street1: string; pub_street2: string; pub_streetnum: string; pub_postal_code: string; pub_city: string; pub_region: string; pub_country: string; distance: string; ptn_status: string; }; child?: { child_birthday: string; child_added_on: string; child_updated_on: string; child_gender: string; child_guid: string; child_first_name: string; child_parent: string; child_status: string; child_ext_id: string; }; deal?: IDeal; } export interface IVoucherDetail { id: string; user_guid: string; barcode: string; status: string; pet_guid: string; ts_redeemed: string; active_redemption_request_status: string; ts_subscribed: string; redeem_validity_from: string; redeem_validity_to: string; deal: IDeal; ts_created: string; secure_code?: string; subs_partner_id?: string; coupon_id: number; is_in_redeemable_status: 0 | 1; is_redeemed: boolean; pet_status: string; redeem_partner_id?: string; redeem_partner: string[]; barcode_url?: string; product_id: string; benefit: IVoucherBenefit; } export interface IVoucherBenefit { product_id?: string; amount?: string; currency?: string; } export interface IVoucherDetailInput { barcode: string; coupon_id?: string; deal_data_options?: IDealDataOptions; data_options?: IDealSubscriptionDataOptions; } export interface IGetVisiblePartnerInput { deal_ref: string; user_guid: string; search?: string; favorite_only?: boolean; partner_lat?: string; partner_lng?: string; radius?: string; p_page?: number; p_length?: number; limit?: number; } export declare type IRegisteredPartnerDataOptions = IRegisteredPartnerDataOption | IRegisteredPartnerDataOption[]; declare type IRegisteredPartnerDataOption = "public_info" | "location" | "groups" | "logo"; export interface IGetRegisteredPartnerInput { deal_ref: string; search_term?: string; partner_lat?: string; partner_lng?: string; radius?: string; p_page: number; p_length?: number; partner_type?: string; partner_status?: string; partner_group?: string; partner_mode?: "subscription" | "redemption" | "referral"; data_options?: IRegisteredPartnerDataOptions; } export interface IDealPartner { name: string; street1?: string; street2?: string; streetnum?: string; postal_code?: string; city?: string; region?: string; country?: string; id: string; extid: string; type: string; lat?: string; lng?: string; pub_name?: string; pub_street1?: string; pub_street2?: string; pub_streetnum?: string; pub_postal_code?: string; pub_city?: string; pub_region?: string; pub_country?: string; distance?: string; ptn_status?: string; groups?: string[]; has_logo?: 0 | 1; logo?: string | null; logo_small?: string | null; logo_medium?: string | null; logo_large?: string | null; } export declare type ISecureCodeDataOptions = ISecureCodeDataOption | ISecureCodeDataOption[]; declare type ISecureCodeDataOption = "subscription" | "deals" | "referral_partner" | "expiration_date"; interface IReferralPartner { id: string; ref_name: string; extid: string; street1: string; street2: string; streetnum: string; postal_code: string; city: string; country: string; status: string; } export interface IRedeemVoucherInput { barcode?: string; secure_code?: string; user_guid?: string; pet_guid?: string; child_guid?: string; external_tracking_ref?: string; iban?: string; bic?: string; delivery_address_id?: string; ean_code?: string; ref?: string; shop_id?: string; type?: "terminal" | "extid"; referral_code?: string; referral_code_type?: string; } export interface IRedeemVoucherResult { data: { user_guid: string; ts_created: string; barcode: string; subs_partner_id: number; coupon_id: number; status: string; deal_voucher: IVoucher; subscription_status_code: number; feedback_msg: string; }; status: string; } export default class Deals extends Api { defaultHost: string; errorMap: { 1005: { message: string; }; 1006: { message: string; }; 1008: { message: string; }; 1009: { message: string; }; 1010: { message: string; }; 1024: { message: string; }; 2001: { message: string; }; 2002: { message: string; }; 2003: { message: string; }; 2006: { message: string; }; 2008: { message: string; }; 2021: { message: string; }; 3020: { message: string; }; 3022: { message: string; }; 3023: { message: string; }; 3026: { message: string; }; 3031: { message: string; }; 3033: { message: string; }; 3035: { message: string; }; 3044: { message: string; }; 3059: { message: string; }; 3051: { message: string; }; 3034: { message: string; }; 1019: { message: string; }; 3055: { message: string; }; 3027: { message: string; }; 3028: { message: string; }; 3029: { message: string; }; 3045: { message: string; }; 3049: { message: string; }; 3030: { message: string; }; 3056: { message: string; }; 3052: { message: string; }; 3053: { message: string; }; 3054: { message: string; }; 3057: { message: string; }; 3058: { message: string; }; 3060: { message: string; }; 3061: { message: string; }; 3063: { message: string; }; 3064: { message: string; }; 3069: { message: string; }; 3086: { message: string; }; 3087: { message: string; }; 3088: { message: string; }; 3091: { message: string; }; 3092: { message: string; }; 3093: { message: string; }; 3097: { message: string; }; 3098: { message: string; }; 3108: { message: string; }; 3109: { message: string; }; 3110: { message: string; }; 3111: { message: string; }; 3112: { message: string; }; 3113: { message: string; }; 3144: { message: string; }; 5000: { message: string; }; 1023: { message: string; }; 1025: { message: string; }; 1027: { message: string; }; 1029: { message: string; }; 1030: { message: string; }; 1032: { message: string; }; 1035: { message: string; }; 1036: { message: string; }; 1037: { message: string; }; 1038: { message: string; }; 1039: { message: string; }; 1040: { message: string; }; 1042: { message: string; }; 1047: { message: string; }; 1046: { message: string; }; 1048: { message: string; }; 1049: { message: string; }; 1050: { message: string; }; 1051: { message: string; }; 1052: { message: string; }; 1053: { message: string; }; 3025: { message: string; }; 3050: { message: string; }; 3062: { message: string; }; 3124: { message: string; }; 3048: { message: string; }; 3094: { message: string; }; 3096: { message: string; }; 3115: { message: string; }; 3119: { message: string; }; 3118: { message: string; }; 3120: { message: string; }; 3121: { message: string; }; 3122: { message: string; }; 3127: { message: string; }; 3128: { message: string; }; 3131: { message: string; }; 3132: { message: string; }; 3133: { message: string; }; 3134: { message: string; }; 3135: { message: string; }; 3116: { message: string; }; 3123: { message: string; }; }; getDealsList(data: IGetDealsListInput): Promise<{ data: IDealListItem[]; status: string; }>; getDeal({ data_options, ...data }: { ref: string; default_lang: string; data_options?: IDealDataOptions; }): Promise<{ data: IDeal; }>; getRegisteredPartners({ data_options, ...data }: IGetRegisteredPartnerInput): Promise<{ data: IDealPartner[]; } & IPageInfo>; getVisiblePartner(data: IGetVisiblePartnerInput): Promise<{ data: IDealPartner[]; } & IPageInfo>; checkPartnerValidity(data: { deal_ref: string; partner_extid: string; }): Promise<{ data: { is_valid: boolean; }; }>; checkDealValidity(data: { user_guid: string; deal_ref: string; } | { user_guid: string; pet_guid: string; deal_ref: string; } | { user_guid: string; child_guid: string; deal_ref: string; }): Promise<any>; subscribeToDeal(data: ISubscribeToDealInput): Promise<{ data: ISubscribeToDealReturn; }>; listVouchers(data: IVoucherListInput): Promise<{ data: IVoucher[]; status: string; } & IPageInfo>; redeemVoucher(data: IRedeemVoucherInput): Promise<IRedeemVoucherResult>; getVoucherDetail(data: IVoucherDetailInput): Promise<{ data: IVoucherDetail; }>; listEligiblePets(data: { deal_ref: string; user_guid: string; }): Promise<{ data: IDealEligiblePet[]; }>; getProductList(data: { deal_ref: string; }): Promise<{ data: IDealProduct[]; }>; checkSecureCode({ data_options, ...data }: { deal_ref?: string; code: string; data_options?: ISecureCodeDataOptions; }): Promise<{ data: { is_available: boolean; deals: string[]; referral_partner?: IReferralPartner; }; }>; getSecureCode(data: { deal_ref?: string; }): Promise<{ data: { code: string; }; }>; updateSecureCodeProperties(data: IUpdateSecureCodePropertiesInput): Promise<{ successCode: number; }>; listEligibleDirectCashbackDeals(data: { user_guid: string; pet_guid?: string; child_guid?: string; }): Promise<{ data: IUserEligibleDirectCashbackDeal[]; }>; listDirectCashbackEligiblePets(data: { deal_ref: string; user_guid: string; }): Promise<{ data: IUserDirectCashbackDealEligiblePet[]; }>; getDirectCashbackDealDetail(data: IDirectCashbackDealDetailInput): Promise<{ data: IDirectCashbackDealDetail; }>; getDirectCashbackVoucherList(data: IDirectCashbackVoucherListInput): Promise<{ data: IDirectCashbackVoucherList; }>; getDirectCashbackVoucherDetail({ deal_data_options, ...data }: { barcode: string; deal_data_options?: IDirectCashbackDealDataOptions; }): Promise<{ data: IDirectCashbackVoucherDetail; }>; getDirectCashbackDealBenefit(data: { product_ean: string; deal_ref: string; }): Promise<{ data: IDirectCashbackDealBenefit; }>; subscribeToDirectCashbackDeal(data: ISubscribeToDirectCashbackDealInput): Promise<{ barcode: string; status: number; }>; createDirectCashbackRedemptionRequest(data: IDirectCashbackRedemptionRequestInput): Promise<{ data: { presigned_url: string; tier_purchase_image_presigned_url?: string; }; }>; createDirectCashbackRedemption(data: IDirectCashbackRedemptionInput): Promise<{ statusCode: string; }>; getDirectCashbackRedemptionRequestList(data: IDirectCashbackRedemptionRequestListInput): Promise<{ data: IDirectCashbackRedemptionRequestList; }>; getDirectCashbackRedemptionRequestDetail(data: IDirectCashbackRedemptionRequestDetailInput): Promise<{ data: IDirectCashbackRedemptionRequestDetail; }>; getDirectCashbackVoucherApprovalHistory(data: { barcode: string; lang?: string; sort_field?: string; sort_order?: "DESC" | "ASC"; }): Promise<{ data: IDirectCashbackVoucherApprovalHistory; }>; getVoucherPDF(data: { barcode: string; }): Promise<{ url: string; status: string; }>; disableVoucherRedemption(data: { barcode: string; }): Promise<{}>; sendVoucher(data: { barcode: string; email?: string; default_lang?: string; }): Promise<{}>; redeemWithReceipt(data: IRedeemWithReceiptInput): Promise<{ data: { presigned_url: string; }; }>; private _call; } export {};