@apihawk/billia-sdk
Version:
The ApiHawk Billia SDK
128 lines • 4.95 kB
TypeScript
import { IApihawkSession } from '@apihawk/connector';
import { BilliaSDKServiceBase } from '../lib/billia-sdk-service-base';
import { IAffiliateCommissionEntity, IAffiliateEntity, IAffiliateMultiTierLevelEntity, IDiscountProductEntity, IDiscountPromocodeEntity } from './billia-sdk-affiliate.types';
import { IRestPaginatedResource } from '../types/common';
export declare class BilliaSDKAffiliate extends BilliaSDKServiceBase {
/**
* Get affiliate status
* @param {IApihawkSession} session
* @returns {Promise<IAffiliateEntity>}
*/
getStatus(session: IApihawkSession): Promise<IAffiliateEntity>;
/**
* Get affiliate commissions
* @param {IApihawkSession} session
* @param query
* @returns {Promise<IRestPaginatedResource<IAffiliateCommissionEntity>>}
*/
getAffiliateCommission(session: IApihawkSession, query?: {
page?: number;
page_size?: number;
}): Promise<IRestPaginatedResource<IAffiliateCommissionEntity>>;
/**
* Get affiliate multi-tier level
* @param {IApihawkSession} session
* @param query
* @returns {Promise<IRestPaginatedResource<IAffiliateMultiTierLevelEntity>>}
*/
getAffiliateMultiTierLevel(session: IApihawkSession, query?: {
page?: number;
page_size?: number;
type?: string;
level?: number;
productIds?: number[];
}): Promise<IRestPaginatedResource<IAffiliateMultiTierLevelEntity>>;
/**
* Sign up for affiliate program
* @param {IApihawkSession} session
* @param {number} userId
* @returns {Promise<IAffiliateEntity>}
*/
signUp(session: IApihawkSession, userId: number): Promise<IAffiliateEntity>;
/**
* Get promocode
* @param {IApihawkSession} session
* @param {string} promocode
* @returns {Promise<IDiscountPromocodeEntity>}
*/
getPromocode(session: IApihawkSession, promocode: string): Promise<IDiscountPromocodeEntity>;
/**
* Get affiliate promocodes
* @param {IApihawkSession} session
* @param query
* @returns {Promise<IRestPaginatedResource<IDiscountPromocodeEntity>>}
*/
getAffiliatePromocodes(session: IApihawkSession, query?: {
page?: number;
page_size?: number;
affiliate_id?: number;
affiliate_type?: string;
affiliate_level?: number;
}): Promise<IRestPaginatedResource<IDiscountPromocodeEntity>>;
/**
* Create promocode
* @param {IApihawkSession} session
* @param {IDiscountPromocodeEntity} data
* @param {any[]} products
* @returns {Promise<IDiscountPromocodeEntity>}
*/
createPromocode(session: IApihawkSession, data: IDiscountPromocodeEntity, products?: any[]): Promise<IDiscountPromocodeEntity>;
/**
* Update promocode
* @param {IApihawkSession} session
* @param {IDiscountPromocodeEntity} data
* @param {any[]} products
* @param {any[]} productsToRemove
* @returns {Promise<IDiscountPromocodeEntity>}
*/
updatePromocode(session: IApihawkSession, data: IDiscountPromocodeEntity, products?: any[], productsToRemove?: any[]): Promise<IDiscountPromocodeEntity>;
/**
* Create discounts for the provided products with promocode and amount
* @param {IApihawkSession} session
* @param {any[]} products
* @param {string} promocode
* @returns {Promise<IDiscountProductEntity[]>}
*/
createDiscounts(session: IApihawkSession, products: any[], promocode?: string): Promise<IDiscountProductEntity[]>;
/**
* Remove discounts
* @param {IApihawkSession} session
* @param {any[]} data
* @returns {Promise<IDiscountProductEntity[]>}
*/
deleteDiscounts(session: IApihawkSession, data: any[]): Promise<IDiscountProductEntity[]>;
/**
* Update discount amount
* @param {IApihawkSession} session
* @param data
* @returns {Promise<IDiscountProductEntity>}
*/
updateDiscountProduct(session: IApihawkSession, data: {
discount_id: string;
discount: string;
}): Promise<IDiscountProductEntity>;
/**
* Get promocode products
* @param {IApihawkSession} session
* @param {string[]} promocodes
* @param affiliateType
* @param affiliateLevel
* @returns {Promise<IRestPaginatedResource<IDiscountPromocodeProductsEntity>>}
*/
private getPromocodeProducts;
/**
* Get catalog products fitered by product_id
* @param {IApihawkSession} session
* @param {Array<string | number>} productIds
* @returns {Promise<IZendRestPaginatedResource<ICatalogProduct>>}
*/
private getCatalogProducts;
/**
* Get promocode discounts filtered by discount_id
* @param {IApihawkSession} session
* @param {Array<string | number>} discountIds
* @returns {Promise<any>}
*/
private getPromocodeDiscounts;
}
//# sourceMappingURL=billia-sdk-affiliate.d.ts.map