@vraksha/bottender 1.6.1-beta.12 → 1.6.1-beta.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.
Files changed (55) hide show
  1. package/dist/context/Context.d.ts +1 -1
  2. package/dist/context/Context.d.ts.map +1 -1
  3. package/dist/index.d.ts +0 -7
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +2 -13
  6. package/dist/index.js.map +1 -1
  7. package/dist/initializeServer.js +8 -9
  8. package/dist/initializeServer.js.map +1 -1
  9. package/dist/router/index.d.ts +1 -2
  10. package/dist/router/index.d.ts.map +1 -1
  11. package/dist/router/index.js +1 -3
  12. package/dist/router/index.js.map +1 -1
  13. package/dist/shared/getChannelSchema.js +2 -2
  14. package/dist/shared/getChannelSchema.js.map +1 -1
  15. package/dist/shared/getClient.d.ts +2 -3
  16. package/dist/shared/getClient.d.ts.map +1 -1
  17. package/dist/shared/getClient.js +8 -9
  18. package/dist/shared/getClient.js.map +1 -1
  19. package/dist/types.d.ts +4 -4
  20. package/dist/types.d.ts.map +1 -1
  21. package/dist/types.js +1 -1
  22. package/dist/types.js.map +1 -1
  23. package/package.json +1 -1
  24. package/dist/helpers.d.ts +0 -24
  25. package/dist/helpers.d.ts.map +0 -1
  26. package/dist/helpers.js +0 -37
  27. package/dist/helpers.js.map +0 -1
  28. package/dist/whatsapp-business/MetaClient.d.ts +0 -297
  29. package/dist/whatsapp-business/MetaClient.d.ts.map +0 -1
  30. package/dist/whatsapp-business/MetaClient.js +0 -74
  31. package/dist/whatsapp-business/MetaClient.js.map +0 -1
  32. package/dist/whatsapp-business/WhatsappBusinessBot.d.ts +0 -15
  33. package/dist/whatsapp-business/WhatsappBusinessBot.d.ts.map +0 -1
  34. package/dist/whatsapp-business/WhatsappBusinessBot.js +0 -27
  35. package/dist/whatsapp-business/WhatsappBusinessBot.js.map +0 -1
  36. package/dist/whatsapp-business/WhatsappBusinessConnector.d.ts +0 -59
  37. package/dist/whatsapp-business/WhatsappBusinessConnector.d.ts.map +0 -1
  38. package/dist/whatsapp-business/WhatsappBusinessConnector.js +0 -130
  39. package/dist/whatsapp-business/WhatsappBusinessConnector.js.map +0 -1
  40. package/dist/whatsapp-business/WhatsappBusinessContext.d.ts +0 -45
  41. package/dist/whatsapp-business/WhatsappBusinessContext.d.ts.map +0 -1
  42. package/dist/whatsapp-business/WhatsappBusinessContext.js +0 -49
  43. package/dist/whatsapp-business/WhatsappBusinessContext.js.map +0 -1
  44. package/dist/whatsapp-business/WhatsappBusinessEvent.d.ts +0 -26
  45. package/dist/whatsapp-business/WhatsappBusinessEvent.d.ts.map +0 -1
  46. package/dist/whatsapp-business/WhatsappBusinessEvent.js +0 -61
  47. package/dist/whatsapp-business/WhatsappBusinessEvent.js.map +0 -1
  48. package/dist/whatsapp-business/WhatsappBusinessTypes.d.ts +0 -236
  49. package/dist/whatsapp-business/WhatsappBusinessTypes.d.ts.map +0 -1
  50. package/dist/whatsapp-business/WhatsappBusinessTypes.js +0 -3
  51. package/dist/whatsapp-business/WhatsappBusinessTypes.js.map +0 -1
  52. package/dist/whatsapp-business/routes.d.ts +0 -20
  53. package/dist/whatsapp-business/routes.d.ts.map +0 -1
  54. package/dist/whatsapp-business/routes.js +0 -34
  55. package/dist/whatsapp-business/routes.js.map +0 -1
@@ -1,45 +0,0 @@
1
- import Context from '../context/Context';
2
- import MetaClient, { MetaMessageWithoutTo, MetaMessage_Text } from './MetaClient';
3
- import WhatsappEvent from './WhatsappBusinessEvent';
4
- declare class WhatsappContext extends Context<MetaClient, WhatsappEvent> {
5
- get platform(): 'whatsapp-business';
6
- get recipientId(): string | undefined;
7
- sendMessage(message: MetaMessageWithoutTo & {
8
- to?: string;
9
- }): Promise<{
10
- messagingProduct: "whatsapp";
11
- contacts: {
12
- input: string;
13
- waId: string;
14
- }[];
15
- messages: {
16
- id: string;
17
- messageStatus: string;
18
- }[];
19
- }>;
20
- sendText(body: string, options?: Omit<MetaMessage_Text['text'], 'body'>): Promise<any>;
21
- updateMessageStatus(status: string): Promise<{
22
- messagingProduct: "whatsapp";
23
- contacts: {
24
- input: string;
25
- waId: string;
26
- }[];
27
- messages: {
28
- id: string;
29
- messageStatus: string;
30
- }[];
31
- }>;
32
- markAsRead(): Promise<{
33
- messagingProduct: "whatsapp";
34
- contacts: {
35
- input: string;
36
- waId: string;
37
- }[];
38
- messages: {
39
- id: string;
40
- messageStatus: string;
41
- }[];
42
- }>;
43
- }
44
- export default WhatsappContext;
45
- //# sourceMappingURL=WhatsappBusinessContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WhatsappBusinessContext.d.ts","sourceRoot":"","sources":["../../src/whatsapp-business/WhatsappBusinessContext.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,OAAO,UAAU,EAAE,EACjB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAGpD,cAAM,eAAgB,SAAQ,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC;IAK9D,IAAI,QAAQ,IAAI,mBAAmB,CAElC;IAED,IAAI,WAAW,uBAEd;IAEK,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;IAO3D,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAC/C,OAAO,CAAC,GAAG,CAAC;IAUT,mBAAmB,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;IAIlC,UAAU;;;;;;;;;;;CAGjB;AAED,eAAe,eAAe,CAAC"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const Context_1 = __importDefault(require("../context/Context"));
16
- class WhatsappContext extends Context_1.default {
17
- get platform() {
18
- return 'whatsapp-business';
19
- }
20
- get recipientId() {
21
- var _a, _b, _c;
22
- return (_b = (_a = this._event.waMessage) === null || _a === void 0 ? void 0 : _a.from) !== null && _b !== void 0 ? _b : (_c = this._event.waStatus) === null || _c === void 0 ? void 0 : _c.recipient_id;
23
- }
24
- sendMessage(message) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- return this._client.createMessage(Object.assign({ to: this.recipientId }, message));
27
- });
28
- }
29
- sendText(body, options) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- return this.sendMessage({
32
- type: 'text',
33
- text: Object.assign({ body }, options),
34
- });
35
- });
36
- }
37
- updateMessageStatus(status) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- return this._client.updateMessageStatus(this.recipientId, status);
40
- });
41
- }
42
- markAsRead() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- return this.updateMessageStatus('read');
45
- });
46
- }
47
- }
48
- exports.default = WhatsappContext;
49
- //# sourceMappingURL=WhatsappBusinessContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WhatsappBusinessContext.js","sourceRoot":"","sources":["../../src/whatsapp-business/WhatsappBusinessContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,iEAAyC;AASzC,MAAM,eAAgB,SAAQ,iBAAkC;IAK9D,IAAI,QAAQ;QACV,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,0CAAE,IAAI,mCAAI,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,YAAY,CAAC;IAC3E,CAAC;IAEK,WAAW,CAAC,OAA+C;;YAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,iBAC/B,EAAE,EAAE,IAAI,CAAC,WAAY,IAClB,OAAO,EACV,CAAC;QACL,CAAC;KAAA;IAEK,QAAQ,CACZ,IAAY,EACZ,OAAgD;;YAEhD,OAAO,IAAI,CAAC,WAAW,CAAC;gBACtB,IAAI,EAAE,MAAM;gBACZ,IAAI,kBACF,IAAI,IACD,OAAO,CACX;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,mBAAmB,CAAC,MAAc;;YACtC,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAY,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;KAAA;IAEK,UAAU;;YACd,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;KAAA;CACF;AAED,kBAAe,eAAe,CAAC"}
@@ -1,26 +0,0 @@
1
- import { JsonObject } from 'type-fest';
2
- import { Event } from '../context/Event';
3
- import { WhatsAppChange, WhatsAppEntry, WhatsAppEventMetadata, WhatsAppEventType, WhatsAppMessagePayload, WhatsAppStatusPayload } from './WhatsappBusinessTypes';
4
- export default class BaseWhatsappBusinessEvent<T extends WhatsAppMessagePayload | WhatsAppStatusPayload = WhatsAppMessagePayload | WhatsAppStatusPayload> implements Event<T> {
5
- _rawEvent: T;
6
- _eventType: WhatsAppEventType;
7
- _metadata: WhatsAppEventMetadata;
8
- _entry: WhatsAppEntry;
9
- _change: WhatsAppChange;
10
- constructor(rawEvent: T, eventType: WhatsAppEventType, metadata: WhatsAppEventMetadata, change: WhatsAppChange, entry: WhatsAppEntry);
11
- get waBAId(): string;
12
- getContact(waId: string): import("./WhatsappBusinessTypes").WhatsAppContactPayload | undefined;
13
- get rawEvent(): T;
14
- get isMessage(): boolean;
15
- get isStatus(): boolean;
16
- get waMessage(): WhatsAppMessagePayload | null;
17
- get message(): JsonObject | null;
18
- get waStatus(): WhatsAppStatusPayload | null;
19
- get isText(): boolean;
20
- get text(): string | null;
21
- get isReceived(): boolean;
22
- get isSent(): boolean;
23
- get isDelivered(): boolean;
24
- get isRead(): boolean;
25
- }
26
- //# sourceMappingURL=WhatsappBusinessEvent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WhatsappBusinessEvent.d.ts","sourceRoot":"","sources":["../../src/whatsapp-business/WhatsappBusinessEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EACL,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,yBAAyB,CAC5C,CAAC,SAAS,sBAAsB,GAAG,qBAAqB,GACpD,sBAAsB,GACtB,qBAAqB,CACzB,YAAW,KAAK,CAAC,CAAC,CAAC;IAEnB,SAAS,EAAE,CAAC,CAAC;IAEb,UAAU,EAAE,iBAAiB,CAAC;IAE9B,SAAS,EAAE,qBAAqB,CAAC;IAEjC,MAAM,EAAE,aAAa,CAAC;IAEtB,OAAO,EAAE,cAAc,CAAC;gBAGtB,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,aAAa;IAStB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,UAAU,CAAC,IAAI,EAAE,MAAM;IAMvB,IAAI,QAAQ,IAAI,CAAC,CAEhB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,SAAS,IAAI,sBAAsB,GAAG,IAAI,CAE7C;IAED,IAAI,OAAO,IAAI,UAAU,GAAG,IAAI,CAG/B;IAED,IAAI,QAAQ,IAAI,qBAAqB,GAAG,IAAI,CAE3C;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,CAExB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF"}
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class BaseWhatsappBusinessEvent {
4
- constructor(rawEvent, eventType, metadata, change, entry) {
5
- this._rawEvent = rawEvent;
6
- this._eventType = eventType;
7
- this._metadata = metadata;
8
- this._change = change;
9
- this._entry = entry;
10
- }
11
- get waBAId() {
12
- return this._entry.id;
13
- }
14
- getContact(waId) {
15
- var _a;
16
- return (_a = this._change.value.contacts) === null || _a === void 0 ? void 0 : _a.find((contact) => contact.wa_id === waId);
17
- }
18
- get rawEvent() {
19
- return this._rawEvent;
20
- }
21
- get isMessage() {
22
- return this._eventType === 'messages';
23
- }
24
- get isStatus() {
25
- return this._eventType === 'statuses';
26
- }
27
- get waMessage() {
28
- return this.isMessage ? this._rawEvent : null;
29
- }
30
- get message() {
31
- return this.waMessage || this.waStatus;
32
- }
33
- get waStatus() {
34
- return this.isStatus ? this._rawEvent : null;
35
- }
36
- get isText() {
37
- var _a;
38
- return this.isMessage && ((_a = this.waMessage) === null || _a === void 0 ? void 0 : _a.type) === 'text';
39
- }
40
- get text() {
41
- var _a, _b, _c;
42
- return ((_a = this.waMessage) === null || _a === void 0 ? void 0 : _a.type) === 'text' ? (_c = (_b = this.waMessage) === null || _b === void 0 ? void 0 : _b.text) === null || _c === void 0 ? void 0 : _c.body : null;
43
- }
44
- get isReceived() {
45
- return this.isMessage;
46
- }
47
- get isSent() {
48
- var _a;
49
- return ((_a = this.waStatus) === null || _a === void 0 ? void 0 : _a.status) === 'sent';
50
- }
51
- get isDelivered() {
52
- var _a;
53
- return ((_a = this.waStatus) === null || _a === void 0 ? void 0 : _a.status) === 'delivered';
54
- }
55
- get isRead() {
56
- var _a;
57
- return ((_a = this.waStatus) === null || _a === void 0 ? void 0 : _a.status) === 'read';
58
- }
59
- }
60
- exports.default = BaseWhatsappBusinessEvent;
61
- //# sourceMappingURL=WhatsappBusinessEvent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WhatsappBusinessEvent.js","sourceRoot":"","sources":["../../src/whatsapp-business/WhatsappBusinessEvent.ts"],"names":[],"mappings":";;AAYA,MAAqB,yBAAyB;IAgB5C,YACE,QAAW,EACX,SAA4B,EAC5B,QAA+B,EAC/B,MAAsB,EACtB,KAAoB;QAEpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB,CAAC;IAED,UAAU,CAAC,IAAY;;QACrB,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,0CAAE,IAAI,CACtC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CACpC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC;IACxC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,SAAoC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC;IAED,IAAI,OAAO;QAET,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC;IACzC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,SAAmC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,MAAK,MAAM,CAAC;IAC3D,CAAC;IAED,IAAI,IAAI;;QACN,OAAO,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,MAAK,MAAM,CAAC,CAAC,CAAC,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,MAAK,MAAM,CAAC;IAC1C,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,MAAK,WAAW,CAAC;IAC/C,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,MAAK,MAAM,CAAC;IAC1C,CAAC;CACF;AAxFD,4CAwFC"}
@@ -1,236 +0,0 @@
1
- import { RequestContext } from '../types';
2
- type WhatsappRequestBody = {
3
- object: 'whatsapp_business_account';
4
- entry: Array<WhatsAppEntry>;
5
- };
6
- interface WhatsAppEntry {
7
- id: string;
8
- changes: Array<WhatsAppChange>;
9
- }
10
- type WhatsAppEventType = 'contacts' | 'messages' | 'statuses';
11
- interface WhatsAppChange {
12
- value: WhatsAppWebhookValue;
13
- field: WhatsAppEventType;
14
- }
15
- interface WhatsAppWebhookValue {
16
- messaging_product: 'whatsapp';
17
- metadata: WhatsAppEventMetadata;
18
- contacts?: WhatsAppContactPayload[];
19
- messages?: WhatsAppMessagePayload[];
20
- statuses?: WhatsAppStatusPayload[];
21
- }
22
- interface WhatsAppEventMetadata {
23
- display_phone_number: string;
24
- phone_number_id: string;
25
- }
26
- interface WhatsAppContactPayload {
27
- profile: {
28
- name: string;
29
- };
30
- wa_id: string;
31
- }
32
- type WhatsAppMessagePayload = TextMessage | ReactionMessage | MediaMessage | StickerMessage | UnknownMessage | LocationMessage | ContactMessage | ButtonMessage | ListMessage | ReferralMessage | ProductInquiryMessage | OrderMessage | SystemMessage;
33
- interface BaseMessage {
34
- from: string;
35
- id: string;
36
- timestamp: string;
37
- }
38
- interface TextMessage extends BaseMessage {
39
- type: 'text';
40
- text: {
41
- body: string;
42
- };
43
- }
44
- interface ReactionMessage extends BaseMessage {
45
- type: 'reaction';
46
- reaction: {
47
- message_id: string;
48
- emoji: string;
49
- };
50
- }
51
- interface MediaMessage extends BaseMessage {
52
- type: 'image' | 'video' | 'audio' | 'document';
53
- image?: MediaDetail;
54
- video?: MediaDetail;
55
- audio?: MediaDetail;
56
- document?: MediaDetail;
57
- }
58
- interface MediaDetail {
59
- caption?: string;
60
- mime_type: string;
61
- sha256: string;
62
- id: string;
63
- }
64
- interface StickerMessage extends BaseMessage {
65
- type: 'sticker';
66
- sticker: {
67
- mime_type: string;
68
- sha256: string;
69
- id: string;
70
- };
71
- }
72
- interface UnknownMessage extends BaseMessage {
73
- type: 'unknown' | 'unsupported';
74
- errors: ErrorDetail[];
75
- }
76
- interface ErrorDetail {
77
- code: number;
78
- details: string;
79
- title: string;
80
- }
81
- interface LocationMessage extends BaseMessage {
82
- type: 'location';
83
- location: {
84
- latitude: number;
85
- longitude: number;
86
- name?: string;
87
- address?: string;
88
- };
89
- }
90
- interface ContactMessage extends BaseMessage {
91
- type: 'contacts';
92
- contacts: ContactDetail[];
93
- }
94
- interface ContactDetail {
95
- addresses?: Address[];
96
- birthday?: string;
97
- emails?: Email[];
98
- name: Name;
99
- org?: Organization;
100
- phones?: Phone[];
101
- urls?: URL[];
102
- }
103
- interface Address {
104
- city?: string;
105
- country?: string;
106
- country_code?: string;
107
- state?: string;
108
- street?: string;
109
- type?: string;
110
- zip?: string;
111
- }
112
- interface Email {
113
- email: string;
114
- type?: string;
115
- }
116
- interface Name {
117
- formatted_name: string;
118
- first_name?: string;
119
- last_name?: string;
120
- middle_name?: string;
121
- suffix?: string;
122
- prefix?: string;
123
- }
124
- interface Organization {
125
- company?: string;
126
- department?: string;
127
- title?: string;
128
- }
129
- interface Phone {
130
- phone: string;
131
- wa_id?: string;
132
- type?: string;
133
- }
134
- interface URL {
135
- url: string;
136
- type?: string;
137
- }
138
- interface ButtonMessage extends BaseMessage {
139
- type: 'button';
140
- button: {
141
- text: string;
142
- payload: string;
143
- };
144
- }
145
- interface ListMessage extends BaseMessage {
146
- type: 'interactive';
147
- interactive: {
148
- list_reply: {
149
- id: string;
150
- title: string;
151
- description?: string;
152
- };
153
- type: 'list_reply';
154
- };
155
- }
156
- interface ReferralMessage extends BaseMessage {
157
- type: 'text';
158
- text: {
159
- body: string;
160
- };
161
- referral: ReferralDetail;
162
- }
163
- interface ReferralDetail {
164
- source_url: string;
165
- source_id: string;
166
- source_type: string;
167
- headline: string;
168
- body: string;
169
- media_type: string;
170
- image_url?: string;
171
- video_url?: string;
172
- thumbnail_url?: string;
173
- ctwa_clid?: string;
174
- }
175
- interface ProductInquiryMessage extends BaseMessage {
176
- type: 'text';
177
- text: {
178
- body: string;
179
- };
180
- context: {
181
- from: string;
182
- id: string;
183
- referred_product: {
184
- catalog_id: string;
185
- product_retailer_id: string;
186
- };
187
- };
188
- }
189
- interface OrderMessage extends BaseMessage {
190
- type: 'order';
191
- order: {
192
- catalog_id: string;
193
- product_items: ProductItem[];
194
- text: string;
195
- };
196
- context: {
197
- from: string;
198
- id: string;
199
- };
200
- }
201
- interface ProductItem {
202
- product_retailer_id: string;
203
- quantity: string;
204
- item_price: string;
205
- currency: string;
206
- }
207
- interface SystemMessage extends BaseMessage {
208
- type: 'system';
209
- system: {
210
- body: string;
211
- new_wa_id?: string;
212
- type: 'user_changed_number';
213
- };
214
- }
215
- interface WhatsAppStatusPayload {
216
- id: string;
217
- status: 'sent' | 'delivered' | 'read' | 'failed';
218
- timestamp: string;
219
- recipient_id: string;
220
- conversation?: {
221
- id: string;
222
- expiration_timestamp?: string;
223
- origin: {
224
- type: string;
225
- };
226
- };
227
- pricing?: {
228
- billable: boolean;
229
- pricing_model: string;
230
- category: string;
231
- };
232
- errors?: ErrorDetail[];
233
- }
234
- type WhatsappRequestContext = RequestContext<WhatsappRequestBody>;
235
- export { WhatsAppEventType, WhatsappRequestBody, WhatsappRequestContext, WhatsAppContactPayload, WhatsAppMessagePayload, WhatsAppStatusPayload, WhatsAppChange, WhatsAppEntry, WhatsAppEventMetadata, };
236
- //# sourceMappingURL=WhatsappBusinessTypes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WhatsappBusinessTypes.d.ts","sourceRoot":"","sources":["../../src/whatsapp-business/WhatsappBusinessTypes.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=WhatsappBusinessTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WhatsappBusinessTypes.js","sourceRoot":"","sources":["../../src/whatsapp-business/WhatsappBusinessTypes.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import Context from '../context/Context';
2
- import { Action } from '../types';
3
- import { RoutePredicate } from '../router';
4
- import WhatsappContext from './WhatsappBusinessContext';
5
- type Route = <C extends Context>(action: Action<WhatsappContext, any>) => {
6
- predicate: RoutePredicate<C>;
7
- action: Action<WhatsappContext, any>;
8
- };
9
- type Whatsapp = Route & {
10
- any: Route;
11
- message: Route;
12
- media: Route;
13
- received: Route;
14
- sent: Route;
15
- delivered: Route;
16
- read: Route;
17
- };
18
- declare const whatsappBusiness: Whatsapp;
19
- export default whatsappBusiness;
20
- //# sourceMappingURL=routes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/whatsapp-business/routes.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAW,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAS,MAAM,WAAW,CAAC;AAElD,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAExD,KAAK,KAAK,GAAG,CAAC,CAAC,SAAS,OAAO,EAC7B,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,KACjC;IACH,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,QAAQ,GAAG,KAAK,GAAG;IACtB,GAAG,EAAE,KAAK,CAAC;IACX,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,KAAK,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,QAAA,MAAM,gBAAgB,EAAE,QAIvB,CAAC;AAgEF,eAAe,gBAAgB,CAAC"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const types_1 = require("../types");
4
- const router_1 = require("../router");
5
- const whatsappBusiness = (action) => {
6
- return (0, router_1.route)((context) => context.platform === types_1.Channel.WhatsappBusiness, action);
7
- };
8
- whatsappBusiness.any = whatsappBusiness;
9
- function message(action) {
10
- return (0, router_1.route)((context) => context.platform === types_1.Channel.WhatsappBusiness && context.event.isMessage, action);
11
- }
12
- whatsappBusiness.message = message;
13
- function media(action) {
14
- return (0, router_1.route)((context) => context.platform === types_1.Channel.WhatsappBusiness && context.event.isMedia, action);
15
- }
16
- whatsappBusiness.media = media;
17
- function received(action) {
18
- return (0, router_1.route)((context) => context.platform === types_1.Channel.WhatsappBusiness && context.event.isReceived, action);
19
- }
20
- whatsappBusiness.received = received;
21
- function sent(action) {
22
- return (0, router_1.route)((context) => context.platform === types_1.Channel.WhatsappBusiness && context.event.isSent, action);
23
- }
24
- whatsappBusiness.sent = sent;
25
- function delivered(action) {
26
- return (0, router_1.route)((context) => context.platform === types_1.Channel.WhatsappBusiness && context.event.isDelivered, action);
27
- }
28
- whatsappBusiness.delivered = delivered;
29
- function read(action) {
30
- return (0, router_1.route)((context) => context.platform === types_1.Channel.WhatsappBusiness && context.event.isRead, action);
31
- }
32
- whatsappBusiness.read = read;
33
- exports.default = whatsappBusiness;
34
- //# sourceMappingURL=routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/whatsapp-business/routes.ts"],"names":[],"mappings":";;AACA,oCAA2C;AAC3C,sCAAkD;AAqBlD,MAAM,gBAAgB,GAAa,CACjC,MAAoC,EACpC,EAAE;IACF,OAAO,IAAA,cAAK,EAAC,CAAC,OAAU,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,eAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACtF,CAAC,CAAC;AAEF,gBAAgB,CAAC,GAAG,GAAG,gBAAgB,CAAC;AAExC,SAAS,OAAO,CAAoB,MAAoC;IACtE,OAAO,IAAA,cAAK,EACV,CAAC,OAAU,EAAE,EAAE,CACb,OAAO,CAAC,QAAQ,KAAK,eAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,EAC1E,MAAM,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC;AAEnC,SAAS,KAAK,CAAoB,MAAoC;IACpE,OAAO,IAAA,cAAK,EACV,CAAC,OAAU,EAAE,EAAE,CACb,OAAO,CAAC,QAAQ,KAAK,eAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EACxE,MAAM,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC;AAE/B,SAAS,QAAQ,CAAoB,MAAoC;IACvE,OAAO,IAAA,cAAK,EACV,CAAC,OAAU,EAAE,EAAE,CACb,OAAO,CAAC,QAAQ,KAAK,eAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAC3E,MAAM,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAErC,SAAS,IAAI,CAAoB,MAAoC;IACnE,OAAO,IAAA,cAAK,EACV,CAAC,OAAU,EAAE,EAAE,CACb,OAAO,CAAC,QAAQ,KAAK,eAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EACvE,MAAM,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC;AAE7B,SAAS,SAAS,CAAoB,MAAoC;IACxE,OAAO,IAAA,cAAK,EACV,CAAC,OAAU,EAAE,EAAE,CACb,OAAO,CAAC,QAAQ,KAAK,eAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAC5E,MAAM,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,SAAS,GAAG,SAAS,CAAC;AAEvC,SAAS,IAAI,CAAoB,MAAoC;IACnE,OAAO,IAAA,cAAK,EACV,CAAC,OAAU,EAAE,EAAE,CACb,OAAO,CAAC,QAAQ,KAAK,eAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EACvE,MAAM,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC;AAE7B,kBAAe,gBAAgB,CAAC"}