apirocket 0.13.0 → 0.13.2

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/README.md CHANGED
@@ -3,10 +3,10 @@
3
3
  ```
4
4
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/apirocket@_VERSION_/dist/ecommerce.css">
5
5
  <script src="https://cdn.jsdelivr.net/npm/apirocket@_VERSION/dist/ecommerce.js" defer></script>
6
- ````
6
+ ```
7
7
 
8
8
 
9
- ## Inicializar el ecommerce
9
+ ### Inicializar el ecommerce
10
10
 
11
11
  ```javascript
12
12
 
@@ -16,6 +16,15 @@
16
16
  });
17
17
  ```
18
18
 
19
+ ### Actions
20
+
21
+ - cart-add-item
22
+ - cart-open
23
+ - customer-account
24
+ - checkout-open
25
+ - sales-account
26
+
27
+
19
28
  ### EcommerceReadyEvent
20
29
 
21
30
  ```javascript
@@ -29,7 +38,7 @@ interface EcommerceReadyEvent extends Event {
29
38
 
30
39
  ```javascript
31
40
  type PublicEcommerceService = {
32
- customer: any,
41
+ customer: CustomerService,
33
42
  cart: any,
34
43
  config: (value: EcommerceConfig) => void,
35
44
  updateEvents: () => void
@@ -71,6 +80,295 @@ type LegalLink = {
71
80
  }
72
81
  ```
73
82
 
83
+
84
+ ### CustomerService
85
+
86
+ ```javascript
87
+ interface ReadOnly <CustomerService> {
88
+ acceptEmailMarketing: boolean;
89
+ firstName: string;
90
+ id: number;
91
+ phone: string;
92
+ type: 'B2B' | 'B2C';
93
+ isLogged: boolean;
94
+
95
+ myAccount: () => Promise <CustomerAccount>;
96
+ price: (productId: number) => Promise <ProductPrice>;
97
+ orders: (filter: OrdersFilter = {}) => Promise <CustomerOrders>;
98
+ order: (id: number) => Promise <Order>;
99
+ subscribe: (cb: (customer: CustomerService) => void)
100
+ }
101
+
102
+ ```
103
+
104
+ ### Tipos
105
+
106
+ ```javascript
107
+ interface CustomerAccount {
108
+ acceptEmailMarketing?: boolean;
109
+ billingAddress?: Array <AccountBillingAddress>;
110
+ custom?: any;
111
+ email?: string
112
+ firstName?: string;
113
+ lastName?: string;
114
+ phone?: string;
115
+ shippingAddress?: Array <AccountShippingAddress>;
116
+ }
117
+ ```
118
+
119
+ ```javascript
120
+ interface AccountBillingAddress {
121
+ address: string;
122
+ address2: string;
123
+ city: string;
124
+ country: {
125
+ id: number;
126
+ name: string;
127
+ }
128
+ default: boolean;
129
+ description: string;
130
+ id: number;
131
+ name: string;
132
+ phone: string;
133
+ postalCode: string;
134
+ state: {
135
+ name: string;
136
+ id: number;
137
+ }
138
+ taxCode: string;
139
+ }
140
+ ```
141
+
142
+
143
+ ```javascript
144
+ interface AccountShippingAddress {
145
+ address: string;
146
+ address2: string;
147
+ city: string;
148
+ country: CountryRecord;
149
+ default: boolean;
150
+ description: string;
151
+ firstName: string;
152
+ id: number;
153
+ lastName: string;
154
+ name: string;
155
+ phone: string;
156
+ postalCode: string;
157
+ state: {
158
+ name: string;
159
+ id: number;
160
+ }
161
+ }
162
+ ```
163
+
164
+
165
+ ```javacript
166
+ interface ProductPrice {
167
+ comparePrice: number;
168
+ comparePriceTaxBase: number;
169
+ comparePriceTaxAmmount: number;
170
+ taxAmount: number;
171
+ taxBase: number;
172
+ taxes: Array <any>;
173
+ }
174
+ ```
175
+
176
+
177
+ ```javascript
178
+ type CustomerOrders = Array <CustomerOrder>;
179
+
180
+ interface CustomerOrder {
181
+ date: string;
182
+ id: number;
183
+ number: string;
184
+ payment: OrderPayment;
185
+ status: OrderStatus;
186
+ total: number;
187
+ }
188
+ ```
189
+
190
+
191
+ ```javascript
192
+ interface Order extends CustomerOrder {
193
+ billingAddres; OrderBillingAddress;
194
+ cartTaxAmount: number;
195
+ cartTaxBase: number;
196
+ customer: OrderCustomer;
197
+ customerOrder: string;
198
+ date: string;
199
+ discount: Array <OrderDiscount>;
200
+ geolocation: OrderGeolocation;
201
+ items: Array <OrderItem>;
202
+ notes: string;
203
+ payment: OrderPayment;
204
+ pricesTaxIncluded: boolean;
205
+ shippingAddress: OrderShippingAddress;
206
+ shippingMethod: OrderShippingMethod;
207
+ status: OrderStatus;
208
+ totalTaxAmount: number;
209
+ totalTaxBase: number;
210
+ }
211
+ ```
212
+
213
+
214
+ ```javascript
215
+ interface OrderBillindAddress {
216
+ address?: string;
217
+ address2?: string;
218
+ city?: string;
219
+ country?: CountryRecord;
220
+ description?: string;
221
+ id?: number;
222
+ name?: string;
223
+ phone?: string;
224
+ postalCode?: string;
225
+ state?: { id: number; name: string };
226
+ taxCode?: string
227
+ }
228
+ ```
229
+
230
+
231
+ ```javascript
232
+ interface OrderCustomer {
233
+ code: string;
234
+ email: string;
235
+ id: number;
236
+ isLogged: boolean;
237
+ name: string;
238
+ phone: string;
239
+ priceList: { id: number; name: string }
240
+ type: 'B2B' | 'B2C';
241
+ }
242
+ ```
243
+
244
+
245
+ ```javascript
246
+ interface OrderDiscount {
247
+ codes: Array <any>;
248
+ taxAmount: number;
249
+ taxBase: number;
250
+ total: number;
251
+ }
252
+ ```
253
+
254
+
255
+ ```javascript
256
+ interface OrderGeolocation {
257
+ browser: { name: string, version: string };
258
+ city: string;
259
+ continent: string;
260
+ country: string;
261
+ device: { type: string; model: string; vendor: string };
262
+ ip: string;
263
+ lat: number;
264
+ lon: number;
265
+ os: { name: string; version: string };
266
+ postalCode: string;
267
+ region: string;
268
+ remoteAddress: string;
269
+ timeZone: string;
270
+ userAgent: string;
271
+ userIsp: string;
272
+ }
273
+ ```
274
+
275
+ ```javascript
276
+ interface OrderItem {
277
+ id: number;
278
+ price: number;
279
+ priceTaxAmount: number;
280
+ priceTaxBase: number;
281
+ product: OrderProduct;
282
+ quantity: number;
283
+ taxes: any;
284
+ }
285
+ ```
286
+
287
+
288
+ ```javascript
289
+ type OrderPayment = {
290
+ authorization: string;
291
+ method: {
292
+ id: number;
293
+ name: string;
294
+ type: PaymentType;
295
+ notes: string;
296
+ description: string;
297
+ }
298
+ total: number;
299
+ }
300
+ ```
301
+
302
+
303
+ ```javascript
304
+ interface OrderProduct {
305
+ barcode: string;
306
+ category: {
307
+ id: number,
308
+ name: string
309
+ },
310
+ description: string;
311
+ id: number;
312
+ image: string;
313
+ name: string;
314
+ noShippingCost: boolean,
315
+ sku: string,
316
+ stockManagement: boolean,
317
+ url?: string;
318
+ weight: number;
319
+ }
320
+ ```
321
+
322
+ ```javascript
323
+ type OrdersFilter = {
324
+ page?: number;
325
+ perPage?: number;
326
+ }
327
+ ```
328
+
329
+
330
+ ```javascript
331
+ interface OrderShippingAddress {
332
+ address?: string;
333
+ address2?: string;
334
+ city?: string;
335
+ country?: CountryRecord;
336
+ description?: string;
337
+ email?: string;
338
+ firstName?: string;
339
+ id?: number;
340
+ lastName?: string;
341
+ phone?: string;
342
+ postalCode?: string;
343
+ state?: { id: number; name: string };
344
+ }
345
+ ```
346
+
347
+
348
+ ```javascript
349
+ interface OrderShippingMethod {
350
+ description: string;
351
+ id: number;
352
+ name: string;
353
+ taxAmount: number;
354
+ taxBase: number;
355
+ taxes: Array <any>;
356
+ total: number;
357
+ }
358
+ ```
359
+
360
+
361
+ ```javascript
362
+ type OrderStatus = {
363
+ id: number;
364
+ name: string;
365
+ color: string;
366
+ }
367
+ ```
368
+
369
+
370
+ ###
371
+
74
372
  ### Ejemplo
75
373
 
76
374
  ```javascript