UNPKG

@ikas/admin-api-client

Version:

ikas public node api client for store apps and private apps

72 lines (71 loc) 2.84 kB
import { Customer, MerchantAppPaymentStatusEnum, MerchantAppPaymentTypeEnum, MerchantAppSubscription, Order, Product, ProductAttribute, ProductAttributeOption, ProductAttributeValue, ProductStockLocation, ProductVariantType, SimpleCategory, SimpleProductBrand, SimpleProductTag, Variant, VariantType } from './index'; export declare enum WebhookScope { ORDER_CREATED = "store/order/created", ORDER_UPDATED = "store/order/updated", PRODUCT_CREATED = "store/product/created", PRODUCT_UPDATED = "store/product/updated", PRODUCT_DELETED = "store/product/deleted", CUSTOMER_CREATED = "store/customer/created", CUSTOMER_UPDATED = "store/customer/updated", CUSTOMER_STATUS_UPDATED = "store/customer/statusUpdated", CUSTOMER_FAVORITE_PRODUCTS_CREATED = "store/customerFavoriteProducts/created", CUSTOMER_FAVORITE_PRODUCTS_UPDATED = "store/customerFavoriteProducts/updated", STOCK_CREATED = "store/stock/created", STOCK_UPDATED = "store/stock/updated", APP_DELETED = "store/app/deleted", APP_PAYMENT = "store/app/payment" } export interface IkasWebhook { id: string; createdAt: string; scope: string; merchantId: string; data: string; signature: string; authorizedAppId: string; } interface IWebhookProductAttributeValue extends ProductAttributeValue { productAttribute?: ProductAttribute | null; productAttributeOption?: ProductAttributeOption | null; } interface IWebhookProductVariantType extends ProductVariantType { variantType: VariantType; } interface IWebhookVariant extends Variant { attributes?: IWebhookProductAttributeValue[] | null; } export interface IWebhookProduct extends Product { productVariantTypes?: IWebhookProductVariantType[] | null; variants: IWebhookVariant[]; attributes?: IWebhookProductAttributeValue[] | null; tags?: SimpleProductTag[] | null; brand?: SimpleProductBrand | null; categories?: SimpleCategory[] | null; } export interface IWebhookOrder extends Order { } export interface IWebhookCustomer extends Customer { } export interface IWebhookStock extends ProductStockLocation { } export type IWebhookStoreAppPaymentData = { merchantAppPayment: { _id: string; appPaymentKey: string; name: string; type: MerchantAppPaymentTypeEnum; status: MerchantAppPaymentStatusEnum; paymentDate?: Date | null; error?: string | null; }; merchantLicence: { licenceActivationDate?: Date | null; fromDate?: Date | null; toDate?: Date | null; status: string; statusUpdatedAt: Date | null; appSubscriptions?: MerchantAppSubscription[] | null; }; }; export type IWebhookData = IWebhookOrder | IWebhookCustomer | IWebhookStock | IWebhookStoreAppPaymentData | IWebhookProduct; export {};