@zenky/storefront-api 0.0.22 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts
CHANGED
|
@@ -1010,6 +1010,22 @@ export interface OrderPaymentTransaction {
|
|
|
1010
1010
|
refund_failed_at: string | null;
|
|
1011
1011
|
transaction_meta: CashPaymentMeta | CloudpaymentsPaymentMeta | null;
|
|
1012
1012
|
}
|
|
1013
|
+
export interface CloudpaymentsTransactionReceipt {
|
|
1014
|
+
items: {
|
|
1015
|
+
label: string;
|
|
1016
|
+
price: number;
|
|
1017
|
+
quantity: number;
|
|
1018
|
+
amount: number;
|
|
1019
|
+
vat: number | null;
|
|
1020
|
+
measurementUnit: string;
|
|
1021
|
+
}[];
|
|
1022
|
+
email: string | null;
|
|
1023
|
+
phone: string;
|
|
1024
|
+
amounts: {
|
|
1025
|
+
eletronic: number;
|
|
1026
|
+
};
|
|
1027
|
+
taxationSystem: number;
|
|
1028
|
+
}
|
|
1013
1029
|
export interface OrderProductVariantModifier {
|
|
1014
1030
|
id: string;
|
|
1015
1031
|
modifiers_group_id: string | null;
|
|
@@ -1251,6 +1267,7 @@ export declare class OrdersResource extends AbstractResource {
|
|
|
1251
1267
|
getOrderCashbackTransaction(storeId: string, credentials: OrderCredentials): Promise<BonusesTransaction>;
|
|
1252
1268
|
dispatchPromotionsChecker(storeId: string, credentials: OrderCredentials): Promise<boolean>;
|
|
1253
1269
|
getOrderPromotionRewards(storeId: string, credentials: OrderCredentials): Promise<OrderPromotionReward>;
|
|
1270
|
+
getCloudpaymentsReceipt(storeId: string, credentials: OrderCredentials, transactionId: string): Promise<CloudpaymentsTransactionReceipt>;
|
|
1254
1271
|
}
|
|
1255
1272
|
declare class AddressesResource extends AbstractResource {
|
|
1256
1273
|
getAddressSuggestions(storeId: string, request: AddressSuggestionsRequest): Promise<AddressSuggestions>;
|
|
@@ -188,7 +188,7 @@ class f extends o {
|
|
|
188
188
|
return this.getResponse(await this.client.request("POST", a, i));
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
|
-
class
|
|
191
|
+
class v extends o {
|
|
192
192
|
getOrderUrl(e, r, s, i) {
|
|
193
193
|
const a = typeof r == "string" ? r : r.id, u = typeof r == "string" ? void 0 : r.token;
|
|
194
194
|
return this.getStoreUrl(e, `/orders/${a}${s}${u ? "?token=" + u : ""}`, i);
|
|
@@ -301,14 +301,20 @@ class S extends o {
|
|
|
301
301
|
await this.client.request("GET", s, void 0, this.getApiToken(r))
|
|
302
302
|
);
|
|
303
303
|
}
|
|
304
|
+
async getCloudpaymentsReceipt(e, r, s) {
|
|
305
|
+
const i = this.getOrderUrl(e, r, `/payments/${s}/receipt`);
|
|
306
|
+
return this.getResponse(
|
|
307
|
+
await this.client.request("GET", i, void 0, this.getApiToken(r))
|
|
308
|
+
);
|
|
309
|
+
}
|
|
304
310
|
}
|
|
305
|
-
class
|
|
311
|
+
class y extends o {
|
|
306
312
|
async getAddressSuggestions(e, r) {
|
|
307
313
|
const s = this.getStoreUrl(e, "/suggestions/address");
|
|
308
314
|
return this.getResponse(await this.client.request("POST", s, r));
|
|
309
315
|
}
|
|
310
316
|
}
|
|
311
|
-
class
|
|
317
|
+
class S extends o {
|
|
312
318
|
async getProfile(e, r, s) {
|
|
313
319
|
const i = this.getStoreUrl(e, "/me", r);
|
|
314
320
|
return this.getResponse(await this.client.request("GET", i, null, s));
|
|
@@ -407,7 +413,7 @@ class te {
|
|
|
407
413
|
n(this, "articles");
|
|
408
414
|
n(this, "feedback");
|
|
409
415
|
const s = c.build(e, r);
|
|
410
|
-
this.store = new R(s), this.auth = new P(s), this.customer = new
|
|
416
|
+
this.store = new R(s), this.auth = new P(s), this.customer = new S(s), this.categories = new k(s), this.products = new f(s), this.addresses = new y(s), this.orders = new v(s), this.collections = new U(s), this.offers = new q(s), this.articles = new w(s), this.feedback = new O(s), this.client = s;
|
|
411
417
|
}
|
|
412
418
|
setApiToken(e) {
|
|
413
419
|
return this.client.setToken(e), this;
|
|
@@ -441,7 +447,7 @@ export {
|
|
|
441
447
|
D as OrderOptionKind,
|
|
442
448
|
V as OrderPaymentTransactionStatus,
|
|
443
449
|
z as OrderPaymentTransactionType,
|
|
444
|
-
|
|
450
|
+
v as OrdersResource,
|
|
445
451
|
I as PaymentMethod,
|
|
446
452
|
T as PaymentSystemType,
|
|
447
453
|
J as ProductContextType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(n,c){typeof exports=="object"&&typeof module<"u"?c(exports):typeof define=="function"&&define.amd?define(["exports"],c):(n=typeof globalThis<"u"?globalThis:n||self,c(n.zenkyStorefrontApi={}))})(this,function(n){"use strict";var ee=Object.defineProperty;var te=(n,c,o)=>c in n?ee(n,c,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[c]=o;var a=(n,c,o)=>(te(n,typeof c!="symbol"?c+"":c,o),o);var c=(e=>(e.DADATA="dadata",e))(c||{});class o{constructor(t){this.client=t}getStoreUrl(t,r,s={}){return this.getUrl(`/store/${t}${r}`,s)}getUrl(t,r={}){if(!Object.keys(r).length)return t;const s=[];Object.keys(r).forEach(u=>{s.push(`${u}=${r[u]}`)});const i=t.includes("?")?"&":"?";return`${t}${i}${s.join("&")}`}getPaginatedResponse(t){if(!t||!Array.isArray(t.data)||!t.meta||!t.meta.pagination)throw new Error("getPaginatedResponse(): Invalid response.");const r=t.data,s=t.meta.pagination;return{items:r,pagination:s}}getResponse(t){if(!t||!t.data)throw new Error("getResponse(): Invalid response.");return t.data}}class w extends o{async getArticleCategories(t){const r=this.getStoreUrl(t,"/articles/categories");return this.getPaginatedResponse(await this.client.request("GET",r))}async getArticleCategory(t,r){const s=this.getStoreUrl(t,`/articles/categories/${r}`);return this.getResponse(await this.client.request("GET",s))}async getArticles(t,r){const s=this.getStoreUrl(t,"/articles",r);return this.getPaginatedResponse(await this.client.request("GET",s))}async getArticle(t,r,s){const i=this.getStoreUrl(t,`/articles/${r}`,s);return this.getResponse(await this.client.request("GET",i))}}class p extends o{async getCategories(t,r){const s=this.getStoreUrl(t,"/categories",r);return this.getPaginatedResponse(await this.client.request("GET",s))}async getCategoriesTree(t,r){const s=this.getStoreUrl(t,"/categories/tree",r);return this.getResponse(await this.client.request("GET",s))}async getCategory(t,r,s){const i=this.getStoreUrl(t,`/categories/${r}`,s);return this.getResponse(await this.client.request("GET",i))}async getFeaturesGroups(t,r){const s=this.getStoreUrl(t,`/categories/${r}/features/groups`);return this.getResponse(await this.client.request("GET",s))}async getFeatures(t,r){const s=this.getStoreUrl(t,`/categories/${r}/features`);return this.getResponse(await this.client.request("GET",s))}}class g extends Error{constructor(r,s){super(r);a(this,"err");this.err=s}}class k{static async build(t){const r=await t.json();switch(t.status){case 401:return new g((r==null?void 0:r.message)??"Unauthenticated.",null);default:return new g(r==null?void 0:r.message,(r==null?void 0:r.error)||null)}}}class d{constructor(t,r,s,i,u,l){a(this,"baseUrl");a(this,"token");a(this,"client");a(this,"timezone");a(this,"fetchFunction");a(this,"fetchOptions");this.baseUrl=t,this.token=r,this.client=s,this.timezone=i,this.fetchFunction=typeof u=="function"?u:fetch,this.fetchOptions=typeof l<"u"?l:{}}static build(t,r){return new d((t==null?void 0:t.baseUrl)||"https://storefront.zenky.io/v1",(t==null?void 0:t.token)||null,(t==null?void 0:t.client)||"web",(t==null?void 0:t.timezone)||"UTC",r,t==null?void 0:t.fetchOptions)}setToken(t){return this.token=t,this}async request(t,r,s,i){const u={Accept:"application/json","X-Zenky-Client":this.client,"X-Timezone":this.timezone};i?u.Authorization=`Bearer ${i}`:this.token&&(u.Authorization=`Bearer ${this.token}`);const l={method:t,mode:"cors",...this.fetchOptions};s&&(u["Content-Type"]="application/json",l.body=JSON.stringify(s)),l.headers=u;const h=await this.fetchFunction.call(null,`${this.baseUrl}${r}`,l);if(h.ok)return h.status===204?!0:h.json();throw await k.build(h)}}class R extends o{async getStore(t){const r=this.getUrl(`/store/${t}`);return this.getResponse(await this.client.request("GET",r))}async getStoreByBundleId(t){const r=this.getUrl(`/store/by-bundle/${t}`);return this.getResponse(await this.client.request("GET",r))}}class y extends o{async getCollections(t,r){const s=this.getStoreUrl(t,"/collections",r);return this.getPaginatedResponse(await this.client.request("GET",s))}async getCollection(t,r){const s=this.getStoreUrl(t,`/collections/${r}`);return this.getResponse(await this.client.request("GET",s))}}class m extends o{async getOffers(t,r){const s=this.getStoreUrl(t,"/offers",r);return this.getPaginatedResponse(await this.client.request("GET",s))}async getOffer(t,r,s){const i=this.getStoreUrl(t,`/offers/${r}`,s);return this.getResponse(await this.client.request("GET",i))}}class f extends o{async createFeedback(t,r){const s=this.getStoreUrl(t,"/feedback",r);return this.getResponse(await this.client.request("POST",s))}async createCallback(t,r){const s=this.getStoreUrl(t,"/callback",r);return await this.client.request("POST",s),!0}}class O extends o{async getProducts(t,r){const s=this.getStoreUrl(t,"/products",r);return this.getPaginatedResponse(await this.client.request("GET",s))}async getProduct(t,r,s){const i=this.getStoreUrl(t,`/products/${r}`,s);return this.getResponse(await this.client.request("GET",i))}async getProductVariantPrice(t,r,s,i){const u=this.getStoreUrl(t,`/products/${r}/variants/${s}/price`);return this.getResponse(await this.client.request("POST",u,i))}}class U extends o{getOrderUrl(t,r,s,i){const u=typeof r=="string"?r:r.id,l=typeof r=="string"?void 0:r.token;return this.getStoreUrl(t,`/orders/${u}${s}${l?"?token="+l:""}`,i)}getApiToken(t){if(!(typeof t=="string"||typeof t.api_token>"u"))return t.api_token}async getOrders(t,r,s){const i=this.getStoreUrl(t,"/orders",r);return this.getPaginatedResponse(await this.client.request("GET",i,void 0,s))}async createOrder(t,r,s){const i=this.getStoreUrl(t,"/orders");return this.getResponse(await this.client.request("POST",i,r,s))}async getOrder(t,r,s){const i=this.getOrderUrl(t,r,"",s);return this.getResponse(await this.client.request("GET",i,void 0,this.getApiToken(r)))}async getOrderSettings(t,r){const s=this.getOrderUrl(t,r,"/settings");return this.getResponse(await this.client.request("GET",s,void 0,this.getApiToken(r)))}async addProductVariantToOrder(t,r,s){const i=this.getOrderUrl(t,r,"/products");return this.getResponse(await this.client.request("POST",i,s,this.getApiToken(r)))}async removeProductVariantFromOrder(t,r,s){const i=this.getOrderUrl(t,r,"/products");return this.getResponse(await this.client.request("POST",i,s,this.getApiToken(r)))}async checkProducts(t,r){const s=this.getOrderUrl(t,r,"/products/check");return this.getResponse(await this.client.request("POST",s,void 0,this.getApiToken(r)))}async setOrderCustomer(t,r,s){const i=this.getOrderUrl(t,r,"/checkout/customer");return await this.client.request("POST",i,s,this.getApiToken(r)),!0}async setOrderDeliveryMethod(t,r,s){const i=this.getOrderUrl(t,r,"/checkout/delivery");return this.getResponse(await this.client.request("POST",i,s,this.getApiToken(r)))}async setOrderPayments(t,r,s){const i=this.getOrderUrl(t,r,"/checkout/payments");return this.getResponse(await this.client.request("POST",i,s,this.getApiToken(r)))}async getOrderBonusesPreview(t,r,s){const i=this.getOrderUrl(t,r,"/checkout/payments/bonuses",{amount:s});return this.getResponse(await this.client.request("GET",i,void 0,this.getApiToken(r)))}async getOrderTotal(t,r){const s=this.getOrderUrl(t,r,"/checkout/total");return this.getResponse(await this.client.request("GET",s,void 0,this.getApiToken(r)))}async checkoutOrder(t,r,s){const i=this.getOrderUrl(t,r,"/checkout");return this.getResponse(await this.client.request("POST",i,s,this.getApiToken(r)))}async confirmOrder(t,r,s){const i=this.getOrderUrl(t,r,"/confirm");return await this.client.request("POST",i,s,this.getApiToken(r)),!0}async resendOrderConfirmationCode(t,r){const s=this.getOrderUrl(t,r,"/confirm/resend");return await this.client.request("POST",s,void 0,this.getApiToken(r)),!0}async getOrderBonusesTransactions(t,r,s){const i=this.getOrderUrl(t,r,"/loyalty/transactions",s);return this.getPaginatedResponse(await this.client.request("GET",i,void 0,this.getApiToken(r)))}async getOrderCashbackTransaction(t,r){const s=this.getOrderUrl(t,r,"/loyalty/transactions/cashback");return this.getResponse(await this.client.request("GET",s,void 0,this.getApiToken(r)))}async dispatchPromotionsChecker(t,r){const s=this.getOrderUrl(t,r,"/loyalty/promotions/check");return this.getResponse(await this.client.request("POST",s,void 0,this.getApiToken(r))).dispatched}async getOrderPromotionRewards(t,r){const s=this.getOrderUrl(t,r,"/loyalty/promotions/rewards");return this.getResponse(await this.client.request("GET",s,void 0,this.getApiToken(r)))}}class K extends o{async getAddressSuggestions(t,r){const s=this.getStoreUrl(t,"/suggestions/address");return this.getResponse(await this.client.request("POST",s,r))}}class Y extends o{async getProfile(t,r,s){const i=this.getStoreUrl(t,"/me",r);return this.getResponse(await this.client.request("GET",i,null,s))}async updateProfile(t,r,s){const i=this.getStoreUrl(t,"/me");return this.getResponse(await this.client.request("PUT",i,r,s))}async removeProfile(t,r,s){const i=this.getStoreUrl(t,"/me");return await this.client.request("DELETE",i,r,s),!0}async getSettings(t,r){const s=this.getStoreUrl(t,"/me/settings");return this.getResponse(await this.client.request("GET",s,null,r))}async updateSettings(t,r,s){const i=this.getStoreUrl(t,"/me/settings");return this.getResponse(await this.client.request("PUT",i,r,s))}async getAddresses(t,r,s){const i=this.getStoreUrl(t,"/me/addresses",r);return this.getPaginatedResponse(await this.client.request("GET",i,null,s))}async createAddress(t,r,s){const i=this.getStoreUrl(t,"/me/addresses");return this.getResponse(await this.client.request("POST",i,r,s))}async updateAddress(t,r,s,i){const u=this.getStoreUrl(t,`/me/addresses/${r}`);return this.getResponse(await this.client.request("PUT",u,s,i))}async deleteAddress(t,r,s){const i=this.getStoreUrl(t,`/me/addresses/${r}`);return await this.client.request("DELETE",i,null,s),!0}async getPaymentMethods(t,r,s){const i=this.getStoreUrl(t,"/me/payment-methods",r);return this.getPaginatedResponse(await this.client.request("GET",i,null,s))}async deletePaymentMethod(t,r,s){const i=this.getStoreUrl(t,`/me/payment-methods/${r}`);return await this.client.request("DELETE",i,null,s),!0}async getBonusesTransactions(t,r,s){const i=this.getStoreUrl(t,"/me/loyalty/transactions",r);return this.getPaginatedResponse(await this.client.request("GET",i,null,s))}async getBonusesBalance(t){const r=this.getStoreUrl(t,"/me/loyalty/balance");return this.getResponse(await this.client.request("GET",r,null,null))}}class Q extends o{async checkPhone(t,r){const s=this.getStoreUrl(t,"/auth/check");return this.getResponse(await this.client.request("POST",s,r))}async register(t,r){const s=this.getStoreUrl(t,"/auth/register");return this.getResponse(await this.client.request("POST",s,r))}async confirmRegistration(t,r){const s=this.getStoreUrl(t,"/auth/register/confirm");return this.getResponse(await this.client.request("POST",s,r))}async resendRegistrationConfirmation(t,r){const s=this.getStoreUrl(t,"/auth/register/resend");return this.getResponse(await this.client.request("POST",s,r))}async login(t,r){const s=this.getStoreUrl(t,"/auth/login");return this.getResponse(await this.client.request("POST",s,r))}async dispatchPasswordReset(t,r){const s=this.getStoreUrl(t,"/auth/password/request");return this.getResponse(await this.client.request("POST",s,r))}async resetPassword(t,r){const s=this.getStoreUrl(t,"/auth/password/reset");return this.getResponse(await this.client.request("POST",s,r))}}class x{constructor(t,r){a(this,"client");a(this,"store");a(this,"auth");a(this,"customer");a(this,"categories");a(this,"products");a(this,"addresses");a(this,"orders");a(this,"collections");a(this,"offers");a(this,"articles");a(this,"feedback");const s=d.build(t,r);this.store=new R(s),this.auth=new Q(s),this.customer=new Y(s),this.categories=new p(s),this.products=new O(s),this.addresses=new K(s),this.orders=new U(s),this.collections=new y(s),this.offers=new m(s),this.articles=new w(s),this.feedback=new f(s),this.client=s}setApiToken(t){return this.client.setToken(t),this}}var S=(e=>(e.Female="female",e.Male="male",e.Other="other",e))(S||{}),q=(e=>(e.CloudPayments="cloudpayments",e))(q||{}),v=(e=>(e.Visa="visa",e.MasterCard="master-card",e.MIR="mir",e.Maestro="maestro",e.AmericanExpress="american-express",e.DinersClub="diners-club",e.Discover="discover",e.JCB="jcb",e.UnionPay="union-pay",e))(v||{}),P=(e=>(e.Select="select",e.MutipleSelect="mutiple_select",e.Checkboxes="checkboxes",e.Radios="radios",e.Range="range",e.Text="text",e))(P||{}),T=(e=>(e.Integer="integer",e.Float="float",e))(T||{}),b=(e=>(e.Increase="increase",e.Decrease="decrease",e))(b||{}),E=(e=>(e.Pending="pending",e.Confirmed="confirmed",e.Cancelled="cancelled",e.Rejected="rejected",e.Refunded="refunded",e.PartiallyRefunded="partially_refunded",e))(E||{}),A=(e=>(e.Manual="manual",e.Cashback="cashback",e.ReferralReward="referral_reward",e.RecruitReward="recruit_reward",e.Payment="payment",e.Cancellation="cancellation",e.Refund="refund",e.Adjustment="adjustment",e.WelcomeBonuses="welcome_bonuses",e.PromotionReward="promotion_reward",e.External="external",e))(A||{}),C=(e=>(e.Delivery="delivery",e.Pickup="pickup",e.OnPremise="on_premise",e))(C||{}),G=(e=>(e.Payment="payment",e.Refund="refund",e))(G||{}),$=(e=>(e.Cash="cash",e.CreditCard="credit-card",e.CloudPayments="cloudpayments",e.CardToken="card_token",e.Bonuses="bonuses",e))($||{}),_=(e=>(e.Pending="pending",e.Confirmed="confirmed",e.Cancelled="cancelled",e.PendingRefund="pending_refund",e.Refunding="refunding",e.Refunded="refunded",e))(_||{}),D=(e=>(e.Auth="auth",e.Charge="charge",e))(D||{}),j=(e=>(e.PersonsCount="persons_count",e.DeliveryTime="delivery_time",e))(j||{}),z=(e=>(e.PriceMismatch="price_mismatch",e.OutOfStock="out_of_stock",e.Unavailable="unavailable",e))(z||{}),V=(e=>(e.None="none",e.Cleanup="cleanup",e))(V||{}),F=(e=>(e.Piece="piece",e.Gram="gram",e.Kilogram="kilogram",e.Meter="meter",e))(F||{}),I=(e=>(e.Weight="weight",e.Width="width",e.Height="height",e.Length="length",e))(I||{}),M=(e=>(e.Netto="netto",e.Brutto="brutto",e))(M||{}),Z=(e=>(e.Color="color",e))(Z||{}),L=(e=>(e.Category="category",e.Group="group",e.VariantOption="variant_option",e.VariantOptionValue="variant_option_value",e))(L||{}),N=(e=>(e.Amount="amount",e.Percentage="percentage",e))(N||{}),W=(e=>(e.Email="email",e.Website="website",e.Vk="vk",e.Facebook="facebook",e.Instagram="instagram",e.Twitter="twitter",e.Ok="ok",e.Tiktok="tiktok",e))(W||{}),B=(e=>(e.Yes="yes",e.No="no",e.Both="both",e))(B||{}),J=(e=>(e.Disabled="disabled",e.Preauth="preauth",e.Confirmation="confirmation",e))(J||{}),X=(e=>(e.Dadata="dadata",e.Manual="manual",e))(X||{}),H=(e=>(e.Registration="registration",e.ResendRegistrationCode="resend_registration_code",e.ResetPassword="reset_password",e.OrderSubmission="order_submission",e.FeedbackRequest="feedback_request",e.CallbackRequest="callback_request",e))(H||{});n.AcquiringType=q,n.AddressSuggestionsProvider=c,n.AddressesProvider=X,n.ArticlesResource=w,n.BonusesTransactionReason=A,n.BonusesTransactionStatus=E,n.BonusesTransactionType=b,n.CategoriesResource=p,n.CloudpaymentsChargeType=D,n.CollectionsResource=y,n.ContactType=W,n.DeliveryMethod=C,n.Dimension=I,n.DimensionType=M,n.DiscountType=N,n.FeatureRange=T,n.FeatureType=P,n.FeedbackResource=f,n.Gender=S,n.OffersResource=m,n.OrderAuthenticationMethod=J,n.OrderCartCheckerResultAction=V,n.OrderCartCheckerResultReason=z,n.OrderOptionKind=j,n.OrderPaymentTransactionStatus=_,n.OrderPaymentTransactionType=G,n.OrdersResource=U,n.PaymentMethod=$,n.PaymentSystemType=v,n.ProductContextType=L,n.ProductsResource=O,n.RecaptchaAction=H,n.StoreResource=R,n.TernaryFilter=B,n.UnitType=F,n.VariantOptionType=Z,n.ZenkyError=g,n.ZenkyErrorBuilder=k,n.ZenkyStorefront=x,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(n,c){typeof exports=="object"&&typeof module<"u"?c(exports):typeof define=="function"&&define.amd?define(["exports"],c):(n=typeof globalThis<"u"?globalThis:n||self,c(n.zenkyStorefrontApi={}))})(this,function(n){"use strict";var ee=Object.defineProperty;var te=(n,c,o)=>c in n?ee(n,c,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[c]=o;var a=(n,c,o)=>(te(n,typeof c!="symbol"?c+"":c,o),o);var c=(t=>(t.DADATA="dadata",t))(c||{});class o{constructor(e){this.client=e}getStoreUrl(e,r,s={}){return this.getUrl(`/store/${e}${r}`,s)}getUrl(e,r={}){if(!Object.keys(r).length)return e;const s=[];Object.keys(r).forEach(u=>{s.push(`${u}=${r[u]}`)});const i=e.includes("?")?"&":"?";return`${e}${i}${s.join("&")}`}getPaginatedResponse(e){if(!e||!Array.isArray(e.data)||!e.meta||!e.meta.pagination)throw new Error("getPaginatedResponse(): Invalid response.");const r=e.data,s=e.meta.pagination;return{items:r,pagination:s}}getResponse(e){if(!e||!e.data)throw new Error("getResponse(): Invalid response.");return e.data}}class w extends o{async getArticleCategories(e){const r=this.getStoreUrl(e,"/articles/categories");return this.getPaginatedResponse(await this.client.request("GET",r))}async getArticleCategory(e,r){const s=this.getStoreUrl(e,`/articles/categories/${r}`);return this.getResponse(await this.client.request("GET",s))}async getArticles(e,r){const s=this.getStoreUrl(e,"/articles",r);return this.getPaginatedResponse(await this.client.request("GET",s))}async getArticle(e,r,s){const i=this.getStoreUrl(e,`/articles/${r}`,s);return this.getResponse(await this.client.request("GET",i))}}class p extends o{async getCategories(e,r){const s=this.getStoreUrl(e,"/categories",r);return this.getPaginatedResponse(await this.client.request("GET",s))}async getCategoriesTree(e,r){const s=this.getStoreUrl(e,"/categories/tree",r);return this.getResponse(await this.client.request("GET",s))}async getCategory(e,r,s){const i=this.getStoreUrl(e,`/categories/${r}`,s);return this.getResponse(await this.client.request("GET",i))}async getFeaturesGroups(e,r){const s=this.getStoreUrl(e,`/categories/${r}/features/groups`);return this.getResponse(await this.client.request("GET",s))}async getFeatures(e,r){const s=this.getStoreUrl(e,`/categories/${r}/features`);return this.getResponse(await this.client.request("GET",s))}}class g extends Error{constructor(r,s){super(r);a(this,"err");this.err=s}}class k{static async build(e){const r=await e.json();switch(e.status){case 401:return new g((r==null?void 0:r.message)??"Unauthenticated.",null);default:return new g(r==null?void 0:r.message,(r==null?void 0:r.error)||null)}}}class d{constructor(e,r,s,i,u,l){a(this,"baseUrl");a(this,"token");a(this,"client");a(this,"timezone");a(this,"fetchFunction");a(this,"fetchOptions");this.baseUrl=e,this.token=r,this.client=s,this.timezone=i,this.fetchFunction=typeof u=="function"?u:fetch,this.fetchOptions=typeof l<"u"?l:{}}static build(e,r){return new d((e==null?void 0:e.baseUrl)||"https://storefront.zenky.io/v1",(e==null?void 0:e.token)||null,(e==null?void 0:e.client)||"web",(e==null?void 0:e.timezone)||"UTC",r,e==null?void 0:e.fetchOptions)}setToken(e){return this.token=e,this}async request(e,r,s,i){const u={Accept:"application/json","X-Zenky-Client":this.client,"X-Timezone":this.timezone};i?u.Authorization=`Bearer ${i}`:this.token&&(u.Authorization=`Bearer ${this.token}`);const l={method:e,mode:"cors",...this.fetchOptions};s&&(u["Content-Type"]="application/json",l.body=JSON.stringify(s)),l.headers=u;const h=await this.fetchFunction.call(null,`${this.baseUrl}${r}`,l);if(h.ok)return h.status===204?!0:h.json();throw await k.build(h)}}class R extends o{async getStore(e){const r=this.getUrl(`/store/${e}`);return this.getResponse(await this.client.request("GET",r))}async getStoreByBundleId(e){const r=this.getUrl(`/store/by-bundle/${e}`);return this.getResponse(await this.client.request("GET",r))}}class y extends o{async getCollections(e,r){const s=this.getStoreUrl(e,"/collections",r);return this.getPaginatedResponse(await this.client.request("GET",s))}async getCollection(e,r){const s=this.getStoreUrl(e,`/collections/${r}`);return this.getResponse(await this.client.request("GET",s))}}class m extends o{async getOffers(e,r){const s=this.getStoreUrl(e,"/offers",r);return this.getPaginatedResponse(await this.client.request("GET",s))}async getOffer(e,r,s){const i=this.getStoreUrl(e,`/offers/${r}`,s);return this.getResponse(await this.client.request("GET",i))}}class f extends o{async createFeedback(e,r){const s=this.getStoreUrl(e,"/feedback",r);return this.getResponse(await this.client.request("POST",s))}async createCallback(e,r){const s=this.getStoreUrl(e,"/callback",r);return await this.client.request("POST",s),!0}}class O extends o{async getProducts(e,r){const s=this.getStoreUrl(e,"/products",r);return this.getPaginatedResponse(await this.client.request("GET",s))}async getProduct(e,r,s){const i=this.getStoreUrl(e,`/products/${r}`,s);return this.getResponse(await this.client.request("GET",i))}async getProductVariantPrice(e,r,s,i){const u=this.getStoreUrl(e,`/products/${r}/variants/${s}/price`);return this.getResponse(await this.client.request("POST",u,i))}}class U extends o{getOrderUrl(e,r,s,i){const u=typeof r=="string"?r:r.id,l=typeof r=="string"?void 0:r.token;return this.getStoreUrl(e,`/orders/${u}${s}${l?"?token="+l:""}`,i)}getApiToken(e){if(!(typeof e=="string"||typeof e.api_token>"u"))return e.api_token}async getOrders(e,r,s){const i=this.getStoreUrl(e,"/orders",r);return this.getPaginatedResponse(await this.client.request("GET",i,void 0,s))}async createOrder(e,r,s){const i=this.getStoreUrl(e,"/orders");return this.getResponse(await this.client.request("POST",i,r,s))}async getOrder(e,r,s){const i=this.getOrderUrl(e,r,"",s);return this.getResponse(await this.client.request("GET",i,void 0,this.getApiToken(r)))}async getOrderSettings(e,r){const s=this.getOrderUrl(e,r,"/settings");return this.getResponse(await this.client.request("GET",s,void 0,this.getApiToken(r)))}async addProductVariantToOrder(e,r,s){const i=this.getOrderUrl(e,r,"/products");return this.getResponse(await this.client.request("POST",i,s,this.getApiToken(r)))}async removeProductVariantFromOrder(e,r,s){const i=this.getOrderUrl(e,r,"/products");return this.getResponse(await this.client.request("POST",i,s,this.getApiToken(r)))}async checkProducts(e,r){const s=this.getOrderUrl(e,r,"/products/check");return this.getResponse(await this.client.request("POST",s,void 0,this.getApiToken(r)))}async setOrderCustomer(e,r,s){const i=this.getOrderUrl(e,r,"/checkout/customer");return await this.client.request("POST",i,s,this.getApiToken(r)),!0}async setOrderDeliveryMethod(e,r,s){const i=this.getOrderUrl(e,r,"/checkout/delivery");return this.getResponse(await this.client.request("POST",i,s,this.getApiToken(r)))}async setOrderPayments(e,r,s){const i=this.getOrderUrl(e,r,"/checkout/payments");return this.getResponse(await this.client.request("POST",i,s,this.getApiToken(r)))}async getOrderBonusesPreview(e,r,s){const i=this.getOrderUrl(e,r,"/checkout/payments/bonuses",{amount:s});return this.getResponse(await this.client.request("GET",i,void 0,this.getApiToken(r)))}async getOrderTotal(e,r){const s=this.getOrderUrl(e,r,"/checkout/total");return this.getResponse(await this.client.request("GET",s,void 0,this.getApiToken(r)))}async checkoutOrder(e,r,s){const i=this.getOrderUrl(e,r,"/checkout");return this.getResponse(await this.client.request("POST",i,s,this.getApiToken(r)))}async confirmOrder(e,r,s){const i=this.getOrderUrl(e,r,"/confirm");return await this.client.request("POST",i,s,this.getApiToken(r)),!0}async resendOrderConfirmationCode(e,r){const s=this.getOrderUrl(e,r,"/confirm/resend");return await this.client.request("POST",s,void 0,this.getApiToken(r)),!0}async getOrderBonusesTransactions(e,r,s){const i=this.getOrderUrl(e,r,"/loyalty/transactions",s);return this.getPaginatedResponse(await this.client.request("GET",i,void 0,this.getApiToken(r)))}async getOrderCashbackTransaction(e,r){const s=this.getOrderUrl(e,r,"/loyalty/transactions/cashback");return this.getResponse(await this.client.request("GET",s,void 0,this.getApiToken(r)))}async dispatchPromotionsChecker(e,r){const s=this.getOrderUrl(e,r,"/loyalty/promotions/check");return this.getResponse(await this.client.request("POST",s,void 0,this.getApiToken(r))).dispatched}async getOrderPromotionRewards(e,r){const s=this.getOrderUrl(e,r,"/loyalty/promotions/rewards");return this.getResponse(await this.client.request("GET",s,void 0,this.getApiToken(r)))}async getCloudpaymentsReceipt(e,r,s){const i=this.getOrderUrl(e,r,`/payments/${s}/receipt`);return this.getResponse(await this.client.request("GET",i,void 0,this.getApiToken(r)))}}class K extends o{async getAddressSuggestions(e,r){const s=this.getStoreUrl(e,"/suggestions/address");return this.getResponse(await this.client.request("POST",s,r))}}class Y extends o{async getProfile(e,r,s){const i=this.getStoreUrl(e,"/me",r);return this.getResponse(await this.client.request("GET",i,null,s))}async updateProfile(e,r,s){const i=this.getStoreUrl(e,"/me");return this.getResponse(await this.client.request("PUT",i,r,s))}async removeProfile(e,r,s){const i=this.getStoreUrl(e,"/me");return await this.client.request("DELETE",i,r,s),!0}async getSettings(e,r){const s=this.getStoreUrl(e,"/me/settings");return this.getResponse(await this.client.request("GET",s,null,r))}async updateSettings(e,r,s){const i=this.getStoreUrl(e,"/me/settings");return this.getResponse(await this.client.request("PUT",i,r,s))}async getAddresses(e,r,s){const i=this.getStoreUrl(e,"/me/addresses",r);return this.getPaginatedResponse(await this.client.request("GET",i,null,s))}async createAddress(e,r,s){const i=this.getStoreUrl(e,"/me/addresses");return this.getResponse(await this.client.request("POST",i,r,s))}async updateAddress(e,r,s,i){const u=this.getStoreUrl(e,`/me/addresses/${r}`);return this.getResponse(await this.client.request("PUT",u,s,i))}async deleteAddress(e,r,s){const i=this.getStoreUrl(e,`/me/addresses/${r}`);return await this.client.request("DELETE",i,null,s),!0}async getPaymentMethods(e,r,s){const i=this.getStoreUrl(e,"/me/payment-methods",r);return this.getPaginatedResponse(await this.client.request("GET",i,null,s))}async deletePaymentMethod(e,r,s){const i=this.getStoreUrl(e,`/me/payment-methods/${r}`);return await this.client.request("DELETE",i,null,s),!0}async getBonusesTransactions(e,r,s){const i=this.getStoreUrl(e,"/me/loyalty/transactions",r);return this.getPaginatedResponse(await this.client.request("GET",i,null,s))}async getBonusesBalance(e){const r=this.getStoreUrl(e,"/me/loyalty/balance");return this.getResponse(await this.client.request("GET",r,null,null))}}class Q extends o{async checkPhone(e,r){const s=this.getStoreUrl(e,"/auth/check");return this.getResponse(await this.client.request("POST",s,r))}async register(e,r){const s=this.getStoreUrl(e,"/auth/register");return this.getResponse(await this.client.request("POST",s,r))}async confirmRegistration(e,r){const s=this.getStoreUrl(e,"/auth/register/confirm");return this.getResponse(await this.client.request("POST",s,r))}async resendRegistrationConfirmation(e,r){const s=this.getStoreUrl(e,"/auth/register/resend");return this.getResponse(await this.client.request("POST",s,r))}async login(e,r){const s=this.getStoreUrl(e,"/auth/login");return this.getResponse(await this.client.request("POST",s,r))}async dispatchPasswordReset(e,r){const s=this.getStoreUrl(e,"/auth/password/request");return this.getResponse(await this.client.request("POST",s,r))}async resetPassword(e,r){const s=this.getStoreUrl(e,"/auth/password/reset");return this.getResponse(await this.client.request("POST",s,r))}}class x{constructor(e,r){a(this,"client");a(this,"store");a(this,"auth");a(this,"customer");a(this,"categories");a(this,"products");a(this,"addresses");a(this,"orders");a(this,"collections");a(this,"offers");a(this,"articles");a(this,"feedback");const s=d.build(e,r);this.store=new R(s),this.auth=new Q(s),this.customer=new Y(s),this.categories=new p(s),this.products=new O(s),this.addresses=new K(s),this.orders=new U(s),this.collections=new y(s),this.offers=new m(s),this.articles=new w(s),this.feedback=new f(s),this.client=s}setApiToken(e){return this.client.setToken(e),this}}var S=(t=>(t.Female="female",t.Male="male",t.Other="other",t))(S||{}),q=(t=>(t.CloudPayments="cloudpayments",t))(q||{}),v=(t=>(t.Visa="visa",t.MasterCard="master-card",t.MIR="mir",t.Maestro="maestro",t.AmericanExpress="american-express",t.DinersClub="diners-club",t.Discover="discover",t.JCB="jcb",t.UnionPay="union-pay",t))(v||{}),P=(t=>(t.Select="select",t.MutipleSelect="mutiple_select",t.Checkboxes="checkboxes",t.Radios="radios",t.Range="range",t.Text="text",t))(P||{}),T=(t=>(t.Integer="integer",t.Float="float",t))(T||{}),b=(t=>(t.Increase="increase",t.Decrease="decrease",t))(b||{}),E=(t=>(t.Pending="pending",t.Confirmed="confirmed",t.Cancelled="cancelled",t.Rejected="rejected",t.Refunded="refunded",t.PartiallyRefunded="partially_refunded",t))(E||{}),A=(t=>(t.Manual="manual",t.Cashback="cashback",t.ReferralReward="referral_reward",t.RecruitReward="recruit_reward",t.Payment="payment",t.Cancellation="cancellation",t.Refund="refund",t.Adjustment="adjustment",t.WelcomeBonuses="welcome_bonuses",t.PromotionReward="promotion_reward",t.External="external",t))(A||{}),C=(t=>(t.Delivery="delivery",t.Pickup="pickup",t.OnPremise="on_premise",t))(C||{}),G=(t=>(t.Payment="payment",t.Refund="refund",t))(G||{}),$=(t=>(t.Cash="cash",t.CreditCard="credit-card",t.CloudPayments="cloudpayments",t.CardToken="card_token",t.Bonuses="bonuses",t))($||{}),_=(t=>(t.Pending="pending",t.Confirmed="confirmed",t.Cancelled="cancelled",t.PendingRefund="pending_refund",t.Refunding="refunding",t.Refunded="refunded",t))(_||{}),D=(t=>(t.Auth="auth",t.Charge="charge",t))(D||{}),j=(t=>(t.PersonsCount="persons_count",t.DeliveryTime="delivery_time",t))(j||{}),z=(t=>(t.PriceMismatch="price_mismatch",t.OutOfStock="out_of_stock",t.Unavailable="unavailable",t))(z||{}),V=(t=>(t.None="none",t.Cleanup="cleanup",t))(V||{}),F=(t=>(t.Piece="piece",t.Gram="gram",t.Kilogram="kilogram",t.Meter="meter",t))(F||{}),I=(t=>(t.Weight="weight",t.Width="width",t.Height="height",t.Length="length",t))(I||{}),M=(t=>(t.Netto="netto",t.Brutto="brutto",t))(M||{}),Z=(t=>(t.Color="color",t))(Z||{}),L=(t=>(t.Category="category",t.Group="group",t.VariantOption="variant_option",t.VariantOptionValue="variant_option_value",t))(L||{}),N=(t=>(t.Amount="amount",t.Percentage="percentage",t))(N||{}),W=(t=>(t.Email="email",t.Website="website",t.Vk="vk",t.Facebook="facebook",t.Instagram="instagram",t.Twitter="twitter",t.Ok="ok",t.Tiktok="tiktok",t))(W||{}),B=(t=>(t.Yes="yes",t.No="no",t.Both="both",t))(B||{}),J=(t=>(t.Disabled="disabled",t.Preauth="preauth",t.Confirmation="confirmation",t))(J||{}),X=(t=>(t.Dadata="dadata",t.Manual="manual",t))(X||{}),H=(t=>(t.Registration="registration",t.ResendRegistrationCode="resend_registration_code",t.ResetPassword="reset_password",t.OrderSubmission="order_submission",t.FeedbackRequest="feedback_request",t.CallbackRequest="callback_request",t))(H||{});n.AcquiringType=q,n.AddressSuggestionsProvider=c,n.AddressesProvider=X,n.ArticlesResource=w,n.BonusesTransactionReason=A,n.BonusesTransactionStatus=E,n.BonusesTransactionType=b,n.CategoriesResource=p,n.CloudpaymentsChargeType=D,n.CollectionsResource=y,n.ContactType=W,n.DeliveryMethod=C,n.Dimension=I,n.DimensionType=M,n.DiscountType=N,n.FeatureRange=T,n.FeatureType=P,n.FeedbackResource=f,n.Gender=S,n.OffersResource=m,n.OrderAuthenticationMethod=J,n.OrderCartCheckerResultAction=V,n.OrderCartCheckerResultReason=z,n.OrderOptionKind=j,n.OrderPaymentTransactionStatus=_,n.OrderPaymentTransactionType=G,n.OrdersResource=U,n.PaymentMethod=$,n.PaymentSystemType=v,n.ProductContextType=L,n.ProductsResource=O,n.RecaptchaAction=H,n.StoreResource=R,n.TernaryFilter=B,n.UnitType=F,n.VariantOptionType=Z,n.ZenkyError=g,n.ZenkyErrorBuilder=k,n.ZenkyStorefront=x,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
|