@ikas/admin-api-client
Version:
ikas public node api client for store apps and private apps
72 lines (71 loc) • 2.84 kB
TypeScript
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 {};