@accon/connect 0.2.0 → 0.3.1

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.
@@ -3,7 +3,7 @@ export type IntegrationEventType = 'INTEGRATION_INITIATED' | 'INTEGRATION_REQUES
3
3
  export interface IntegrationEvent {
4
4
  integrationName: string;
5
5
  integrationType: IntegrationType;
6
- orderId: string;
6
+ orderId: number;
7
7
  eventType: IntegrationEventType;
8
8
  externalId?: string;
9
9
  description: string;
@@ -8,6 +8,7 @@ export type Order = {
8
8
  id: string;
9
9
  type: 'DELIVERY' | 'TAKEOUT' | 'INDOOR';
10
10
  displayId: string;
11
+ externalId: string;
11
12
  sourceAppId?: string;
12
13
  salesChannel?: string;
13
14
  virtualBrand?: string;
@@ -30,6 +30,7 @@ let FoodyOrderOutput = FoodyOrderOutput_1 = class FoodyOrderOutput {
30
30
  }
31
31
  async onOrderCreated(payload, config) {
32
32
  const { order } = payload;
33
+ const orderId = parseInt(order.externalId);
33
34
  this.logger.verbose('onOrderCreated: iniciando integração');
34
35
  if (order.type != 'DELIVERY') {
35
36
  this.logger.verbose('Ignorando pedido com tipo diferente de DELIVERY');
@@ -38,12 +39,12 @@ let FoodyOrderOutput = FoodyOrderOutput_1 = class FoodyOrderOutput {
38
39
  try {
39
40
  this.dispatchEvent({
40
41
  eventType: 'INTEGRATION_INITIATED',
41
- orderId: order.id,
42
+ orderId,
42
43
  });
43
44
  this.logger.debug(`onOrderCreated: Transformando o pedido com id: ${order.id}`);
44
45
  this.dispatchEvent({
45
46
  eventType: 'INTEGRATION_PROCESSING',
46
- orderId: order.id,
47
+ orderId,
47
48
  });
48
49
  const body = this.transformOrder(order);
49
50
  this.logger.debug('onOrderCreated: Pedido transformado', body);
@@ -54,7 +55,7 @@ let FoodyOrderOutput = FoodyOrderOutput_1 = class FoodyOrderOutput {
54
55
  this.logger.debug('onOrderCreated: Resposta do Foody', data);
55
56
  this.dispatchEvent({
56
57
  eventType: 'INTEGRATION_COMPLETED',
57
- orderId: order.id,
58
+ orderId,
58
59
  metadata: { data },
59
60
  });
60
61
  }
@@ -63,14 +64,14 @@ let FoodyOrderOutput = FoodyOrderOutput_1 = class FoodyOrderOutput {
63
64
  this.logger.error('onOrderCreated: falha ao realizar requisição no Foody', JSON.stringify(error.response?.data));
64
65
  this.dispatchEvent({
65
66
  eventType: 'INTEGRATION_FAILED',
66
- orderId: order.id,
67
+ orderId,
67
68
  metadata: { error: error.response?.data },
68
69
  });
69
70
  }
70
71
  else {
71
72
  this.dispatchEvent({
72
73
  eventType: 'INTEGRATION_FAILED',
73
- orderId: order.id,
74
+ orderId,
74
75
  metadata: { error },
75
76
  });
76
77
  this.logger.error('onOrderCreated: falha ao criar pedido no Foody', error);
@@ -1 +1 @@
1
- {"version":3,"file":"foody.order-output.js","sourceRoot":"","sources":["../../../lib/logistics/foody/foody.order-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foody.order-output.js","sourceRoot":"","sources":["../../../lib/logistics/foody/foody.order-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { FromSchema } from 'json-schema-to-ts';
2
+ export declare const ACCON_WEBHOOK_CONFIG_SCHEMA: {
3
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
4
+ readonly title: "Accon Webhook Configuration";
5
+ readonly type: "object";
6
+ readonly properties: {
7
+ readonly onCreatedURL: {
8
+ readonly type: "string";
9
+ readonly title: "URL Pedido Criado";
10
+ readonly description: "URL para ser enviado a notificação de novo pedido";
11
+ };
12
+ readonly onUpdatedURL: {
13
+ readonly type: "string";
14
+ readonly title: "URL Pedido Atualizado";
15
+ readonly description: "URL para ser enviado a notificação de atualização do pedido";
16
+ };
17
+ readonly onCanceledURL: {
18
+ readonly type: "string";
19
+ readonly title: "URL Pedido Cancelado";
20
+ readonly description: "URL para ser enviado a notificação de cancelamento do pedido";
21
+ };
22
+ };
23
+ readonly required: readonly ["onCreatedURL"];
24
+ };
25
+ export type AcconWebhookConfig = FromSchema<typeof ACCON_WEBHOOK_CONFIG_SCHEMA>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ACCON_WEBHOOK_CONFIG_SCHEMA = void 0;
4
+ exports.ACCON_WEBHOOK_CONFIG_SCHEMA = {
5
+ $schema: 'http://json-schema.org/draft-07/schema#',
6
+ title: 'Accon Webhook Configuration',
7
+ type: 'object',
8
+ properties: {
9
+ onCreatedURL: {
10
+ type: 'string',
11
+ title: 'URL Pedido Criado',
12
+ description: 'URL para ser enviado a notificação de novo pedido',
13
+ },
14
+ onUpdatedURL: {
15
+ type: 'string',
16
+ title: 'URL Pedido Atualizado',
17
+ description: 'URL para ser enviado a notificação de atualização do pedido',
18
+ },
19
+ onCanceledURL: {
20
+ type: 'string',
21
+ title: 'URL Pedido Cancelado',
22
+ description: 'URL para ser enviado a notificação de cancelamento do pedido',
23
+ },
24
+ },
25
+ required: ['onCreatedURL'],
26
+ };
27
+ //# sourceMappingURL=accon-webhook.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accon-webhook.config.js","sourceRoot":"","sources":["../../../lib/order/accon/accon-webhook.config.ts"],"names":[],"mappings":";;;AAEa,QAAA,2BAA2B,GAAG;IACzC,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,6BAA6B;IACpC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,mDAAmD;SACjE;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACT,6DAA6D;SAChE;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,8DAA8D;SACjE;KACF;IACD,QAAQ,EAAE,CAAC,cAAc,CAAC;CACG,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { Order, OrderOutputIntegration, IntegrationPayload, EventsService } from '../../core/index.js';
2
+ import { AcconWebhookConfig } from './accon-webhook.config';
3
+ import { PaymentDto, ProductDto, StatusDto, WebhookBodyDto } from './dto/accon-webhook';
4
+ import { HttpService } from '@nestjs/axios';
5
+ import { OrderEvent } from '../../core/types/order-event.type';
6
+ type HookType = 'onOrderCreated' | 'onOrderUpdated' | 'onOrderCanceled';
7
+ export declare class AcconWebhookOrderOutput implements OrderOutputIntegration<AcconWebhookConfig> {
8
+ private readonly httpService;
9
+ readonly eventsService: EventsService;
10
+ private readonly dispatchEvent;
11
+ private readonly logger;
12
+ constructor(httpService: HttpService, eventsService: EventsService);
13
+ onOrderCreated(payload: IntegrationPayload, config: AcconWebhookConfig): Promise<void>;
14
+ onOrderUpdated?(payload: IntegrationPayload, config: AcconWebhookConfig): Promise<void>;
15
+ onOrderCanceled?(payload: IntegrationPayload, config: AcconWebhookConfig): Promise<void>;
16
+ callHook(type: HookType, payload: IntegrationPayload, config: AcconWebhookConfig): Promise<void>;
17
+ transformOrder(payload: IntegrationPayload): WebhookBodyDto;
18
+ transformProducts(order: Order): ProductDto[];
19
+ transformVoucher(order: Order): {
20
+ rede: string;
21
+ stores: string[];
22
+ fidelity: boolean;
23
+ name: string;
24
+ text: string;
25
+ products: never[];
26
+ is_active: boolean;
27
+ value: number;
28
+ percent: boolean;
29
+ recurrent: boolean;
30
+ }[];
31
+ transformEvents(events: OrderEvent[]): StatusDto[];
32
+ transformPayment(order: Order): PaymentDto;
33
+ }
34
+ export {};
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var AcconWebhookOrderOutput_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.AcconWebhookOrderOutput = void 0;
14
+ const core_1 = require("../../core/index.js");
15
+ const common_1 = require("@nestjs/common");
16
+ const accon_webhook_config_1 = require("./accon-webhook.config");
17
+ const invalid_payload_exception_1 = require("../../core/exceptions/invalid-payload.exception");
18
+ const axios_1 = require("@nestjs/axios");
19
+ const rxjs_1 = require("rxjs");
20
+ const axios_2 = require("axios");
21
+ const order_event_type_1 = require("../../core/types/order-event.type");
22
+ let AcconWebhookOrderOutput = AcconWebhookOrderOutput_1 = class AcconWebhookOrderOutput {
23
+ httpService;
24
+ eventsService;
25
+ dispatchEvent;
26
+ logger = new common_1.Logger(AcconWebhookOrderOutput_1.name);
27
+ constructor(httpService, eventsService) {
28
+ this.httpService = httpService;
29
+ this.eventsService = eventsService;
30
+ this.dispatchEvent = eventsService.createDispatcherFor('Accon Webhook', 'OrderOutput');
31
+ }
32
+ onOrderCreated(payload, config) {
33
+ return this.callHook('onOrderCreated', payload, config);
34
+ }
35
+ onOrderUpdated(payload, config) {
36
+ return this.callHook('onOrderUpdated', payload, config);
37
+ }
38
+ onOrderCanceled(payload, config) {
39
+ return this.callHook('onOrderCanceled', payload, config);
40
+ }
41
+ async callHook(type, payload, config) {
42
+ const key = {
43
+ onOrderCreated: 'onCreatedURL',
44
+ onOrderUpdated: 'onUpdatedURL',
45
+ onOrderCanceled: 'onCanceledURL',
46
+ };
47
+ const url = config[key[type]];
48
+ if (typeof url !== 'string') {
49
+ this.logger.warn(`${type}: Configuração de URL ausente`);
50
+ return;
51
+ }
52
+ const { order } = payload;
53
+ const orderId = parseInt(order.externalId);
54
+ this.dispatchEvent({
55
+ eventType: 'INTEGRATION_INITIATED',
56
+ orderId,
57
+ });
58
+ this.logger.debug(`${type}: Transformando o pedido com id: ${order.id}`);
59
+ this.dispatchEvent({
60
+ eventType: 'INTEGRATION_PROCESSING',
61
+ orderId,
62
+ });
63
+ const body = this.transformOrder(payload);
64
+ this.logger.debug(`${type}: Pedido transformado`, body);
65
+ try {
66
+ const { status, data } = await (0, rxjs_1.firstValueFrom)(this.httpService.post(url, body, { timeout: 5000 }));
67
+ this.dispatchEvent({
68
+ eventType: 'INTEGRATION_COMPLETED',
69
+ orderId,
70
+ metadata: { data, status },
71
+ });
72
+ }
73
+ catch (error) {
74
+ if ((0, axios_2.isAxiosError)(error)) {
75
+ const errorData = error.response?.data ?? error.message;
76
+ this.logger.error(`${type}: falha ao enviar para ${url}`, errorData);
77
+ this.dispatchEvent({
78
+ eventType: 'INTEGRATION_FAILED',
79
+ orderId,
80
+ metadata: { error: error.response?.data },
81
+ });
82
+ }
83
+ else {
84
+ this.dispatchEvent({
85
+ eventType: 'INTEGRATION_FAILED',
86
+ orderId,
87
+ metadata: { error },
88
+ });
89
+ this.logger.error(`${type}: ${error.message}`, error);
90
+ }
91
+ }
92
+ }
93
+ transformOrder(payload) {
94
+ const { order, merchant, events } = payload;
95
+ if (!merchant) {
96
+ throw new invalid_payload_exception_1.InvalidPayloadException('Os dados do estabelecimento são obrigatórios para integração', 'merchant');
97
+ }
98
+ if (!order.customer) {
99
+ throw new core_1.InvalidOrderException('O pedido não possui cliente', 'customer');
100
+ }
101
+ const deliveryFee = order.otherFees.find(({ type }) => type === 'DELIVERY_FEE');
102
+ const { delivery } = order;
103
+ const changeFor = order.payments.methods?.reduce((acc, method) => {
104
+ return acc + (method.changeFor ?? 0);
105
+ }, 0);
106
+ return {
107
+ _id: order.id,
108
+ delivery: order.type === 'DELIVERY',
109
+ canceled: events?.some(({ eventType }) => eventType === order_event_type_1.OrderEventType.CANCELLED) || false,
110
+ scheduled: order.orderTiming === 'SCHEDULED',
111
+ sequential: order.displayId,
112
+ store: {
113
+ _id: order.merchant.id,
114
+ name: order.merchant.name,
115
+ address: {
116
+ address: merchant.address.street,
117
+ number: merchant.address.number,
118
+ complement: merchant.address.complement ?? undefined,
119
+ city: merchant.address.city,
120
+ state: merchant.address.state,
121
+ zip: merchant.address.postalCode,
122
+ latlng: {
123
+ lat: parseFloat(merchant.address.latitude.toString()),
124
+ lng: parseFloat(merchant.address.longitude.toString()),
125
+ },
126
+ },
127
+ details: {
128
+ document: merchant.document,
129
+ email: merchant.contactEmails[0],
130
+ phone: merchant.commercialNumber,
131
+ socialName: merchant.corporateName,
132
+ storePhone: merchant.commercialNumber,
133
+ },
134
+ deliveryTime: '40',
135
+ toGoTime: '30',
136
+ },
137
+ deliveryTax: deliveryFee?.price?.value || 0,
138
+ address: delivery?.deliveryAddress
139
+ ? {
140
+ address: delivery.deliveryAddress.street,
141
+ number: delivery.deliveryAddress.number,
142
+ complement: delivery.deliveryAddress.complement,
143
+ city: delivery.deliveryAddress.city,
144
+ state: delivery.deliveryAddress.state,
145
+ zip: delivery.deliveryAddress.postalCode,
146
+ latlng: {
147
+ lat: parseFloat(delivery.deliveryAddress.coordinates.latitude.toString()),
148
+ lng: parseFloat(delivery.deliveryAddress.coordinates.longitude.toString()),
149
+ },
150
+ }
151
+ : undefined,
152
+ date: order.createdAt,
153
+ scheduledDate: order.schedule?.scheduledDateTimeStart,
154
+ subtotal: order.total.itemsPrice.value,
155
+ discount: order.total.discount.value,
156
+ total: order.total.orderAmount.value,
157
+ status: this.transformEvents(events ?? []),
158
+ user: {
159
+ _id: order.customer.id,
160
+ name: order.customer.name,
161
+ phone: order.customer.phone.number,
162
+ email: order.customer.email,
163
+ document: order.customer.documentNumber,
164
+ totalOrders: order.customer.ordersCountOnMerchant,
165
+ },
166
+ notes: order.extraInfo,
167
+ change: changeFor,
168
+ source: order.salesChannel ?? 'ecommerce',
169
+ network: '000000000000000000000000',
170
+ payment: this.transformPayment(order),
171
+ voucher: this.transformVoucher(order),
172
+ products: this.transformProducts(order),
173
+ };
174
+ }
175
+ transformProducts(order) {
176
+ return order.items.map((item, index) => ({
177
+ id: item.id,
178
+ name: item.name,
179
+ notes: item.specialInstructions ?? '',
180
+ quantity: item.quantity,
181
+ total: item.totalPrice.value,
182
+ modifiers: (item.options ?? []).map((modifier) => ({
183
+ id: modifier.id,
184
+ name: modifier.name,
185
+ price: {
186
+ actualPrice: modifier.unitPrice.value,
187
+ originalPrice: 0,
188
+ starterPrice: 0,
189
+ },
190
+ quantity: modifier.quantity,
191
+ group: index.toString(),
192
+ externalVendorCode: modifier.externalCode,
193
+ })),
194
+ group: index.toString(),
195
+ externalVendorCode: item.externalCode,
196
+ }));
197
+ }
198
+ transformVoucher(order) {
199
+ return order.discounts
200
+ .filter((discount) => discount.sponsorshipValues.length > 0)
201
+ .map((discount) => {
202
+ const sponsorship = discount.sponsorshipValues[0];
203
+ return {
204
+ rede: '000000000000000000000000',
205
+ stores: [order.merchant.id],
206
+ fidelity: sponsorship?.discountCode === 'CASHBACK',
207
+ name: sponsorship?.name ?? '',
208
+ text: sponsorship?.discountCode ?? '',
209
+ products: [],
210
+ is_active: true,
211
+ value: discount.amount.value,
212
+ percent: false,
213
+ recurrent: false,
214
+ };
215
+ });
216
+ }
217
+ transformEvents(events) {
218
+ if (!events.length) {
219
+ return [
220
+ {
221
+ name: 'Realizado',
222
+ obs: '',
223
+ date: new Date().toISOString(),
224
+ },
225
+ ];
226
+ }
227
+ const ACCON_ALLOWED_STATUS = [
228
+ order_event_type_1.OrderEventType.CREATED,
229
+ order_event_type_1.OrderEventType.CONFIRMED,
230
+ order_event_type_1.OrderEventType.READY_FOR_PICKUP,
231
+ order_event_type_1.OrderEventType.DISPATCHED,
232
+ order_event_type_1.OrderEventType.CONCLUDED,
233
+ order_event_type_1.OrderEventType.CANCELLED,
234
+ ];
235
+ const allowedEvents = events.filter((event) => ACCON_ALLOWED_STATUS.includes(event.eventType));
236
+ return allowedEvents
237
+ .map((event) => ({
238
+ date: new Date(event.createdAt).toISOString(),
239
+ obs: '',
240
+ name: ((eventType) => {
241
+ switch (eventType) {
242
+ case order_event_type_1.OrderEventType.CREATED:
243
+ return 'Realizado';
244
+ case order_event_type_1.OrderEventType.CONFIRMED:
245
+ return 'confirmado';
246
+ case order_event_type_1.OrderEventType.DISPATCHED:
247
+ case order_event_type_1.OrderEventType.READY_FOR_PICKUP:
248
+ return 'pronto';
249
+ case order_event_type_1.OrderEventType.DELIVERED:
250
+ case order_event_type_1.OrderEventType.CONCLUDED:
251
+ return 'finalizado';
252
+ case order_event_type_1.OrderEventType.CANCELLED:
253
+ return 'cancelado';
254
+ default:
255
+ throw new Error(`Invalid status eventType: ${eventType}`);
256
+ }
257
+ })(event.eventType),
258
+ }))
259
+ .sort((a, b) => a.date.localeCompare(b.date));
260
+ }
261
+ transformPayment(order) {
262
+ if (order.payments.methods.length !== 1) {
263
+ throw new core_1.InvalidOrderException('O pedido deve possuír apenas um método de pagamento', 'payments');
264
+ }
265
+ const { type, method, brand, transaction } = order.payments.methods[0];
266
+ const online = type === 'PREPAID';
267
+ const METHOD_NAMES = new Map([
268
+ ['PIX', 'Pix'],
269
+ ['CASH', 'Dinheiro'],
270
+ ['CREDIT', 'Crédito'],
271
+ ['DEBIT', 'Débito'],
272
+ ['MEAL_VOUCHER', 'Voucher'],
273
+ ['FOOD_VOUCHER', 'Carteira Digital'],
274
+ ['DIGITAL_WALLET', 'Carteira Digital'],
275
+ ['CREDIT_DEBIT', 'Cartão de Crédito/Débito'],
276
+ ['COUPON', 'Cupom'],
277
+ ['REDEEM', 'Outros'],
278
+ ['PREPAID_REDEEM', 'Outros'],
279
+ ['OTHER', 'Outros'],
280
+ ]);
281
+ const CARD_METHODS = [
282
+ 'CREDIT',
283
+ 'CREDIT_DEBIT',
284
+ 'DEBIT',
285
+ ];
286
+ return {
287
+ cod: online ? '5c51aeba22c5d6596c5ac4b0' : '64554e3809a8eead82e2d4f2',
288
+ online,
289
+ pix: online && method === 'PIX',
290
+ tid: transaction?.authorizationCode,
291
+ authorizationCode: transaction?.authorizationCode,
292
+ name: CARD_METHODS.includes(method) && brand
293
+ ? brand
294
+ : (METHOD_NAMES.get(method) ?? 'Outros'),
295
+ };
296
+ }
297
+ };
298
+ exports.AcconWebhookOrderOutput = AcconWebhookOrderOutput;
299
+ exports.AcconWebhookOrderOutput = AcconWebhookOrderOutput = AcconWebhookOrderOutput_1 = __decorate([
300
+ (0, core_1.RegistryIntegration)({
301
+ id: 'accon-webhook',
302
+ type: 'OrderOutput',
303
+ title: 'Accon 1.0 Webhook',
304
+ category: 'POS',
305
+ description: 'Integre pedidos via Webhook utilizando o formato da Accon 1.0',
306
+ logoUrl: 'https://accon.com.br/wp-content/uploads/2024/08/Accon-Logo-Roxa.webp',
307
+ websiteUrl: 'https://accon.com.br/',
308
+ configSchema: accon_webhook_config_1.ACCON_WEBHOOK_CONFIG_SCHEMA,
309
+ }),
310
+ (0, common_1.Injectable)(),
311
+ __metadata("design:paramtypes", [axios_1.HttpService,
312
+ core_1.EventsService])
313
+ ], AcconWebhookOrderOutput);
314
+ //# sourceMappingURL=accon-webhook.order-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accon-webhook.order-output.js","sourceRoot":"","sources":["../../../lib/order/accon/accon-webhook.order-output.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,oCASmB;AACnB,2CAAoD;AACpD,iEAGgC;AAOhC,8FAAyF;AACzF,yCAA4C;AAC5C,+BAAsC;AACtC,iCAAqC;AACrC,uEAA8E;AAgBvE,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAMf;IACR;IAJM,aAAa,CAA6B;IAC1C,MAAM,GAAG,IAAI,eAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;IACnE,YACmB,WAAwB,EAChC,aAA4B;QADpB,gBAAW,GAAX,WAAW,CAAa;QAChC,kBAAa,GAAb,aAAa,CAAe;QAErC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,mBAAmB,CACpD,eAAe,EACf,aAAa,CACd,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,OAA2B,EAC3B,MAA0B;QAE1B,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,cAAc,CACZ,OAA2B,EAC3B,MAA0B;QAE1B,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,eAAe,CACb,OAA2B,EAC3B,MAA0B;QAE1B,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,IAAc,EACd,OAA2B,EAC3B,MAA0B;QAE1B,MAAM,GAAG,GAA+C;YACtD,cAAc,EAAE,cAAc;YAC9B,cAAc,EAAE,cAAc;YAC9B,eAAe,EAAE,eAAe;SACjC,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,+BAA+B,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC;YACjB,SAAS,EAAE,uBAAuB;YAClC,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,oCAAoC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,CAAC;YACjB,SAAS,EAAE,wBAAwB;YACnC,OAAO;SACR,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,uBAAuB,EAAE,IAAI,CAAC,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,qBAAc,EAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CACpD,CAAC;YACF,IAAI,CAAC,aAAa,CAAC;gBACjB,SAAS,EAAE,uBAAuB;gBAClC,OAAO;gBACP,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,0BAA0B,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;gBACrE,IAAI,CAAC,aAAa,CAAC;oBACjB,SAAS,EAAE,oBAAoB;oBAC/B,OAAO;oBACP,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;iBAC1C,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC;oBACjB,SAAS,EAAE,oBAAoB;oBAC/B,OAAO;oBACP,QAAQ,EAAE,EAAE,KAAK,EAAE;iBACpB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CAAC,OAA2B;QACxC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,mDAAuB,CAC/B,8DAA8D,EAC9D,UAAU,CACX,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,4BAAqB,CAC7B,6BAA6B,EAC7B,UAAU,CACX,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CACtC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,cAAc,CACtC,CAAC;QACF,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAE3B,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC/D,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,EAAE;YACb,QAAQ,EAAE,KAAK,CAAC,IAAI,KAAK,UAAU;YACnC,QAAQ,EACN,MAAM,EAAE,IAAI,CACV,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,KAAK,iCAAc,CAAC,SAAS,CAC1D,IAAI,KAAK;YACZ,SAAS,EAAE,KAAK,CAAC,WAAW,KAAK,WAAW;YAC5C,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,KAAK,EAAE;gBACL,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACtB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gBACzB,OAAO,EAAE;oBACP,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;oBAChC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;oBAC/B,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,SAAS;oBACpD,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;oBAC3B,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;oBAC7B,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAChC,MAAM,EAAE;wBACN,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACrD,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;qBACvD;iBACF;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;oBAChC,KAAK,EAAE,QAAQ,CAAC,gBAAgB;oBAChC,UAAU,EAAE,QAAQ,CAAC,aAAa;oBAClC,UAAU,EAAE,QAAQ,CAAC,gBAAgB;iBACtC;gBACD,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,IAAI;aACf;YACD,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;YAC3C,OAAO,EAAE,QAAQ,EAAE,eAAe;gBAChC,CAAC,CAAC;oBACE,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM;oBACxC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM;oBACvC,UAAU,EAAE,QAAQ,CAAC,eAAe,CAAC,UAAU;oBAC/C,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI;oBACnC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,KAAK;oBACrC,GAAG,EAAE,QAAQ,CAAC,eAAe,CAAC,UAAU;oBACxC,MAAM,EAAE;wBACN,GAAG,EAAE,UAAU,CACb,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CACzD;wBACD,GAAG,EAAE,UAAU,CACb,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC1D;qBACF;iBACF;gBACH,CAAC,CAAC,SAAS;YACb,IAAI,EAAE,KAAK,CAAC,SAAS;YACrB,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,sBAAsB;YACrD,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK;YACtC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK;YACpC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK;YACpC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE,CAAC;YAC1C,IAAI,EAAE;gBACJ,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACtB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gBACzB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAClC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;gBAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc;gBACvC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,qBAAqB;aAClD;YACD,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,KAAK,CAAC,YAAY,IAAI,WAAW;YACzC,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACrC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;SACxC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,KAAY;QAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACvC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,mBAAmB,IAAI,EAAE;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YAC5B,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACjD,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE;oBACL,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK;oBACrC,aAAa,EAAE,CAAC;oBAChB,YAAY,EAAE,CAAC;iBAChB;gBACD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;gBACvB,kBAAkB,EAAE,QAAQ,CAAC,YAAY;aAC1C,CAAC,CAAC;YACH,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;YACvB,kBAAkB,EAAE,IAAI,CAAC,YAAY;SACtC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,KAAY;QAC3B,OAAO,KAAK,CAAC,SAAS;aACnB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3D,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChB,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO;gBACL,IAAI,EAAE,0BAA0B;gBAChC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,QAAQ,EAAE,WAAW,EAAE,YAAY,KAAK,UAAU;gBAClD,IAAI,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE;gBAC7B,IAAI,EAAE,WAAW,EAAE,YAAY,IAAI,EAAE;gBACrC,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK;gBAC5B,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,KAAK;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;gBACL;oBACE,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,EAAE;oBACP,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAC/B;aACF,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG;YAC3B,iCAAc,CAAC,OAAO;YACtB,iCAAc,CAAC,SAAS;YACxB,iCAAc,CAAC,gBAAgB;YAC/B,iCAAc,CAAC,UAAU;YACzB,iCAAc,CAAC,SAAS;YACxB,iCAAc,CAAC,SAAS;SACzB,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5C,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAC/C,CAAC;QAEF,OAAO,aAAa;aACjB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YAC7C,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,CAAC,CAAC,SAAyB,EAAE,EAAE;gBACnC,QAAQ,SAAS,EAAE,CAAC;oBAClB,KAAK,iCAAc,CAAC,OAAO;wBACzB,OAAO,WAAW,CAAC;oBACrB,KAAK,iCAAc,CAAC,SAAS;wBAC3B,OAAO,YAAY,CAAC;oBACtB,KAAK,iCAAc,CAAC,UAAU,CAAC;oBAC/B,KAAK,iCAAc,CAAC,gBAAgB;wBAClC,OAAO,QAAQ,CAAC;oBAClB,KAAK,iCAAc,CAAC,SAAS,CAAC;oBAC9B,KAAK,iCAAc,CAAC,SAAS;wBAC3B,OAAO,YAAY,CAAC;oBACtB,KAAK,iCAAc,CAAC,SAAS;wBAC3B,OAAO,WAAW,CAAC;oBACrB;wBACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;SACpB,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB,CAAC,KAAY;QAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,4BAAqB,CAC7B,qDAAqD,EACrD,UAAU,CACX,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC;QAElC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;YAC3B,CAAC,KAAK,EAAE,KAAK,CAAC;YACd,CAAC,MAAM,EAAE,UAAU,CAAC;YACpB,CAAC,QAAQ,EAAE,SAAS,CAAC;YACrB,CAAC,OAAO,EAAE,QAAQ,CAAC;YACnB,CAAC,cAAc,EAAE,SAAS,CAAC;YAC3B,CAAC,cAAc,EAAE,kBAAkB,CAAC;YACpC,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;YACtC,CAAC,cAAc,EAAE,0BAA0B,CAAC;YAC5C,CAAC,QAAQ,EAAE,OAAO,CAAC;YACnB,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACpB,CAAC,gBAAgB,EAAE,QAAQ,CAAC;YAC5B,CAAC,OAAO,EAAE,QAAQ,CAAC;SACpB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAyB;YACzC,QAAQ;YACR,cAAc;YACd,OAAO;SACR,CAAC;QAEF,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,0BAA0B;YACrE,MAAM;YACN,GAAG,EAAE,MAAM,IAAI,MAAM,KAAK,KAAK;YAC/B,GAAG,EAAE,WAAW,EAAE,iBAAiB;YACnC,iBAAiB,EAAE,WAAW,EAAE,iBAAiB;YACjD,IAAI,EACF,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK;gBACpC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC;SAC7C,CAAC;IACJ,CAAC;CACF,CAAA;AA9UY,0DAAuB;kCAAvB,uBAAuB;IAZnC,IAAA,0BAAmB,EAAC;QACnB,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,+DAA+D;QAC5E,OAAO,EACL,sEAAsE;QACxE,UAAU,EAAE,uBAAuB;QACnC,YAAY,EAAE,kDAA2B;KAC1C,CAAC;IACD,IAAA,mBAAU,GAAE;qCAOqB,mBAAW;QACjB,oBAAa;GAP5B,uBAAuB,CA8UnC"}
@@ -0,0 +1 @@
1
+ export * from './webhook-body.dto';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./webhook-body.dto"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/order/accon/dto/accon-webhook/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1,107 @@
1
+ export declare class AddressDto {
2
+ address: string;
3
+ number: string;
4
+ complement?: string;
5
+ city: string;
6
+ state: string;
7
+ zip: string;
8
+ latlng: {
9
+ lat: number;
10
+ lng: number;
11
+ };
12
+ }
13
+ export declare class StoreDto {
14
+ _id: string;
15
+ name: string;
16
+ address: AddressDto;
17
+ deliveryTime: string;
18
+ toGoTime: string;
19
+ details: {
20
+ email: string;
21
+ phone: string;
22
+ socialName: string;
23
+ storePhone: string;
24
+ document: string;
25
+ };
26
+ }
27
+ export declare class UserDto {
28
+ _id: string;
29
+ name: string;
30
+ document?: string;
31
+ email?: string;
32
+ phone: string;
33
+ totalOrders: number;
34
+ }
35
+ export declare class PaymentDto {
36
+ type?: 'credit_card' | 'voucher' | 'ticket' | 'pix';
37
+ online: boolean;
38
+ name: string;
39
+ cod: string;
40
+ pix: boolean;
41
+ externalVendorCode?: string;
42
+ authorizationCode?: string;
43
+ tid?: string;
44
+ card?: string;
45
+ operator?: string;
46
+ refunded?: string;
47
+ }
48
+ export declare class RatingDto {
49
+ stars: number;
50
+ improvements: string[];
51
+ notes?: string;
52
+ reply?: string;
53
+ }
54
+ export declare class StatusDto {
55
+ name: string;
56
+ date: string;
57
+ obs?: string;
58
+ }
59
+ export declare class ModifierDto {
60
+ id: string;
61
+ name: string;
62
+ price: {
63
+ actualPrice: number;
64
+ originalPrice: number;
65
+ starterPrice: number;
66
+ };
67
+ quantity: number;
68
+ group: string;
69
+ externalVendorCode?: string;
70
+ }
71
+ export declare class ProductDto {
72
+ id: string;
73
+ name: string;
74
+ quantity: number;
75
+ modifiers: ModifierDto[];
76
+ notes: string;
77
+ total: number;
78
+ externalVendorCode?: string;
79
+ }
80
+ export declare class WebhookBodyDto {
81
+ _id: string;
82
+ network: string;
83
+ session_id?: string;
84
+ sequential: string;
85
+ store: StoreDto;
86
+ user: UserDto;
87
+ address?: AddressDto;
88
+ delivery: boolean;
89
+ date: string;
90
+ deliveryTax: number;
91
+ discount: number;
92
+ subtotal: number;
93
+ total: number;
94
+ change: number;
95
+ payment: PaymentDto;
96
+ voucher?: {};
97
+ status: StatusDto[];
98
+ canceled: boolean;
99
+ scheduled: boolean;
100
+ scheduledDate?: string;
101
+ ip?: string;
102
+ source: string;
103
+ rating?: RatingDto;
104
+ notes?: string;
105
+ document?: string;
106
+ products: ProductDto[];
107
+ }