@zenky/storefront-api 0.0.24 → 0.0.25
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
|
@@ -1273,6 +1273,7 @@ export declare class OrdersResource extends AbstractResource {
|
|
|
1273
1273
|
addProductVariantToOrder(storeId: string, credentials: OrderCredentials, request: OrderProductVariantRequest): Promise<Order>;
|
|
1274
1274
|
removeProductVariantFromOrder(storeId: string, credentials: OrderCredentials, request: OrderProductVariantRequest): Promise<Order>;
|
|
1275
1275
|
checkProducts(storeId: string, credentials: OrderCredentials): Promise<OrderCartCheckerResult>;
|
|
1276
|
+
getOrderCheckoutUrl(storeId: string, credentials: OrderCredentials, redirectUrl?: string): Promise<string>;
|
|
1276
1277
|
setOrderCustomer(storeId: string, credentials: OrderCredentials, request: SetOrderCustomerRequest): Promise<boolean>;
|
|
1277
1278
|
setOrderDeliveryMethod(storeId: string, credentials: OrderCredentials, request: SetOrderDeliveryRequest): Promise<Order>;
|
|
1278
1279
|
setOrderPayments(storeId: string, credentials: OrderCredentials, request: SetOrderPaymentsRequest): Promise<Order>;
|
|
@@ -81,7 +81,7 @@ class h extends Error {
|
|
|
81
81
|
this.err = s;
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
class
|
|
84
|
+
class R {
|
|
85
85
|
static async build(e) {
|
|
86
86
|
const r = await e.json();
|
|
87
87
|
switch (e.status) {
|
|
@@ -131,10 +131,10 @@ class c {
|
|
|
131
131
|
const l = await this.fetchFunction.call(null, `${this.baseUrl}${r}`, u);
|
|
132
132
|
if (l.ok)
|
|
133
133
|
return l.status === 204 ? !0 : l.json();
|
|
134
|
-
throw await
|
|
134
|
+
throw await R.build(l);
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
class
|
|
137
|
+
class m extends o {
|
|
138
138
|
async getStore(e) {
|
|
139
139
|
const r = this.getUrl(`/store/${e}`);
|
|
140
140
|
return this.getResponse(await this.client.request("GET", r));
|
|
@@ -174,7 +174,7 @@ class v extends o {
|
|
|
174
174
|
return await this.client.request("POST", s), !0;
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
class
|
|
177
|
+
class O extends o {
|
|
178
178
|
async getProducts(e, r) {
|
|
179
179
|
const s = this.getStoreUrl(e, "/products", r);
|
|
180
180
|
return this.getPaginatedResponse(await this.client.request("GET", s));
|
|
@@ -188,7 +188,7 @@ class y extends o {
|
|
|
188
188
|
return this.getResponse(await this.client.request("POST", a, i));
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
|
-
class
|
|
191
|
+
class y 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);
|
|
@@ -235,6 +235,12 @@ class O extends o {
|
|
|
235
235
|
await this.client.request("POST", s, void 0, this.getApiToken(r))
|
|
236
236
|
);
|
|
237
237
|
}
|
|
238
|
+
async getOrderCheckoutUrl(e, r, s) {
|
|
239
|
+
const i = this.getOrderUrl(e, r, "/checkout/url");
|
|
240
|
+
return this.getResponse(
|
|
241
|
+
await this.client.request("POST", i, { redirect_url: s }, this.getApiToken(r))
|
|
242
|
+
).url;
|
|
243
|
+
}
|
|
238
244
|
async setOrderCustomer(e, r, s) {
|
|
239
245
|
const i = this.getOrderUrl(e, r, "/checkout/customer");
|
|
240
246
|
return await this.client.request("POST", i, s, this.getApiToken(r)), !0;
|
|
@@ -308,13 +314,13 @@ class O extends o {
|
|
|
308
314
|
);
|
|
309
315
|
}
|
|
310
316
|
}
|
|
311
|
-
class
|
|
317
|
+
class S extends o {
|
|
312
318
|
async getAddressSuggestions(e, r) {
|
|
313
319
|
const s = this.getStoreUrl(e, "/suggestions/address");
|
|
314
320
|
return this.getResponse(await this.client.request("POST", s, r));
|
|
315
321
|
}
|
|
316
322
|
}
|
|
317
|
-
class
|
|
323
|
+
class f extends o {
|
|
318
324
|
async getProfile(e, r, s) {
|
|
319
325
|
const i = this.getStoreUrl(e, "/me", r);
|
|
320
326
|
return this.getResponse(await this.client.request("GET", i, null, s));
|
|
@@ -413,7 +419,7 @@ class te {
|
|
|
413
419
|
n(this, "articles");
|
|
414
420
|
n(this, "feedback");
|
|
415
421
|
const s = c.build(e, r);
|
|
416
|
-
this.store = new
|
|
422
|
+
this.store = new m(s), this.auth = new P(s), this.customer = new f(s), this.categories = new k(s), this.products = new O(s), this.addresses = new S(s), this.orders = new y(s), this.collections = new U(s), this.offers = new q(s), this.articles = new w(s), this.feedback = new v(s), this.client = s;
|
|
417
423
|
}
|
|
418
424
|
setApiToken(e) {
|
|
419
425
|
return this.client.setToken(e), this;
|
|
@@ -447,17 +453,17 @@ export {
|
|
|
447
453
|
D as OrderOptionKind,
|
|
448
454
|
V as OrderPaymentTransactionStatus,
|
|
449
455
|
I as OrderPaymentTransactionType,
|
|
450
|
-
|
|
456
|
+
y as OrdersResource,
|
|
451
457
|
z as PaymentMethod,
|
|
452
458
|
T as PaymentSystemType,
|
|
453
459
|
J as ProductContextType,
|
|
454
|
-
|
|
460
|
+
O as ProductsResource,
|
|
455
461
|
K as RecaptchaAction,
|
|
456
|
-
|
|
462
|
+
m as StoreResource,
|
|
457
463
|
Y as TernaryFilter,
|
|
458
464
|
M as UnitType,
|
|
459
465
|
Z as VariantOptionType,
|
|
460
466
|
h as ZenkyError,
|
|
461
|
-
|
|
467
|
+
R as ZenkyErrorBuilder,
|
|
462
468
|
te as ZenkyStorefront
|
|
463
469
|
};
|
|
@@ -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 y{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 y.build(h)}}class k 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 R 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 U 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 O 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)))}async getCloudpaymentsReceipt(t,r,s){const i=this.getOrderUrl(t,r,`/payments/${s}/receipt`);return this.getResponse(await this.client.request("GET",i,void 0,this.getApiToken(r)))}}class Y extends o{async getAddressSuggestions(t,r){const s=this.getStoreUrl(t,"/suggestions/address");return this.getResponse(await this.client.request("POST",s,r))}}class K 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 k(s),this.auth=new Q(s),this.customer=new K(s),this.categories=new p(s),this.products=new U(s),this.addresses=new Y(s),this.orders=new O(s),this.collections=new R(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||{}),v=(e=>(e.CloudPayments="cloudpayments",e))(v||{}),q=(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))(q||{}),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.DeliveryIntervals="delivery_intervals",e))(j||{}),z=(e=>(e.PriceMismatch="price_mismatch",e.OutOfStock="out_of_stock",e.Unavailable="unavailable",e))(z||{}),I=(e=>(e.None="none",e.Cleanup="cleanup",e))(I||{}),V=(e=>(e.Piece="piece",e.Gram="gram",e.Kilogram="kilogram",e.Meter="meter",e))(V||{}),F=(e=>(e.Weight="weight",e.Width="width",e.Height="height",e.Length="length",e))(F||{}),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=v,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=R,n.ContactType=W,n.DeliveryMethod=C,n.Dimension=F,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=I,n.OrderCartCheckerResultReason=z,n.OrderOptionKind=j,n.OrderPaymentTransactionStatus=_,n.OrderPaymentTransactionType=G,n.OrdersResource=O,n.PaymentMethod=$,n.PaymentSystemType=q,n.ProductContextType=L,n.ProductsResource=U,n.RecaptchaAction=H,n.StoreResource=k,n.TernaryFilter=B,n.UnitType=V,n.VariantOptionType=Z,n.ZenkyError=g,n.ZenkyErrorBuilder=y,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 p 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 w 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 y 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 R 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 U 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 O 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 getOrderCheckoutUrl(e,r,s){const i=this.getOrderUrl(e,r,"/checkout/url");return this.getResponse(await this.client.request("POST",i,{redirect_url:s},this.getApiToken(r))).url}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 Y extends o{async getAddressSuggestions(e,r){const s=this.getStoreUrl(e,"/suggestions/address");return this.getResponse(await this.client.request("POST",s,r))}}class K 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 y(s),this.auth=new Q(s),this.customer=new K(s),this.categories=new w(s),this.products=new U(s),this.addresses=new Y(s),this.orders=new O(s),this.collections=new R(s),this.offers=new m(s),this.articles=new p(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||{}),v=(t=>(t.CloudPayments="cloudpayments",t))(v||{}),q=(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))(q||{}),T=(t=>(t.Select="select",t.MutipleSelect="mutiple_select",t.Checkboxes="checkboxes",t.Radios="radios",t.Range="range",t.Text="text",t))(T||{}),P=(t=>(t.Integer="integer",t.Float="float",t))(P||{}),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.DeliveryIntervals="delivery_intervals",t))(j||{}),z=(t=>(t.PriceMismatch="price_mismatch",t.OutOfStock="out_of_stock",t.Unavailable="unavailable",t))(z||{}),I=(t=>(t.None="none",t.Cleanup="cleanup",t))(I||{}),V=(t=>(t.Piece="piece",t.Gram="gram",t.Kilogram="kilogram",t.Meter="meter",t))(V||{}),F=(t=>(t.Weight="weight",t.Width="width",t.Height="height",t.Length="length",t))(F||{}),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=v,n.AddressSuggestionsProvider=c,n.AddressesProvider=X,n.ArticlesResource=p,n.BonusesTransactionReason=A,n.BonusesTransactionStatus=E,n.BonusesTransactionType=b,n.CategoriesResource=w,n.CloudpaymentsChargeType=D,n.CollectionsResource=R,n.ContactType=W,n.DeliveryMethod=C,n.Dimension=F,n.DimensionType=M,n.DiscountType=N,n.FeatureRange=P,n.FeatureType=T,n.FeedbackResource=f,n.Gender=S,n.OffersResource=m,n.OrderAuthenticationMethod=J,n.OrderCartCheckerResultAction=I,n.OrderCartCheckerResultReason=z,n.OrderOptionKind=j,n.OrderPaymentTransactionStatus=_,n.OrderPaymentTransactionType=G,n.OrdersResource=O,n.PaymentMethod=$,n.PaymentSystemType=q,n.ProductContextType=L,n.ProductsResource=U,n.RecaptchaAction=H,n.StoreResource=y,n.TernaryFilter=B,n.UnitType=V,n.VariantOptionType=Z,n.ZenkyError=g,n.ZenkyErrorBuilder=k,n.ZenkyStorefront=x,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
|