@zenky/storefront-api 0.0.21 → 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
@@ -43,6 +43,7 @@ export interface Schedule {
43
43
  is_open_now: boolean;
44
44
  opening_at: string | null;
45
45
  closing_at: string | null;
46
+ day_id: string;
46
47
  days: {
47
48
  monday: ScheduleDay | null;
48
49
  tuesday: ScheduleDay | null;
@@ -1009,6 +1010,22 @@ export interface OrderPaymentTransaction {
1009
1010
  refund_failed_at: string | null;
1010
1011
  transaction_meta: CashPaymentMeta | CloudpaymentsPaymentMeta | null;
1011
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
+ }
1012
1029
  export interface OrderProductVariantModifier {
1013
1030
  id: string;
1014
1031
  modifiers_group_id: string | null;
@@ -1215,6 +1232,10 @@ export interface OrderCheckoutResult {
1215
1232
  export interface ConfirmOrderRequest {
1216
1233
  code: string | number;
1217
1234
  }
1235
+ export interface OrderConfirmationResult {
1236
+ success: boolean;
1237
+ token: string | null;
1238
+ }
1218
1239
  export interface OrderPromotionReward {
1219
1240
  id: string;
1220
1241
  promotion_id: string;
@@ -1246,6 +1267,7 @@ export declare class OrdersResource extends AbstractResource {
1246
1267
  getOrderCashbackTransaction(storeId: string, credentials: OrderCredentials): Promise<BonusesTransaction>;
1247
1268
  dispatchPromotionsChecker(storeId: string, credentials: OrderCredentials): Promise<boolean>;
1248
1269
  getOrderPromotionRewards(storeId: string, credentials: OrderCredentials): Promise<OrderPromotionReward>;
1270
+ getCloudpaymentsReceipt(storeId: string, credentials: OrderCredentials, transactionId: string): Promise<CloudpaymentsTransactionReceipt>;
1249
1271
  }
1250
1272
  declare class AddressesResource extends AbstractResource {
1251
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 S extends o {
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 v extends o {
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 y extends o {
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 y(s), this.categories = new k(s), this.products = new f(s), this.addresses = new v(s), this.orders = new S(s), this.collections = new U(s), this.offers = new q(s), this.articles = new w(s), this.feedback = new O(s), this.client = s;
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
- S as OrdersResource,
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"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenky/storefront-api",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "description": "Zenky Storefront API SDK",
5
5
  "author": "Timur Zurbaev <hello@zurbaev.ru>",
6
6
  "license": "MIT",