@skravets/eapi 0.0.43 → 0.0.45

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.
@@ -15,18 +15,6 @@ interface paths {
15
15
  /** Health check */
16
16
  get: operations["app.health"];
17
17
  };
18
- "/messages/search": {
19
- /** Search messages by phrases and time interval */
20
- post: operations["messages.searchMessages"];
21
- };
22
- "/messages/context": {
23
- /** Get messages context around specified message IDs */
24
- post: operations["messages.getMessagesContext"];
25
- };
26
- "/messages/search/webhook/{externalId}": {
27
- /** Search messages by phrases and time interval (async with webhook) */
28
- post: operations["messages.searchMessagesWebhook"];
29
- };
30
18
  "/chats": {
31
19
  /** Get Hello World! */
32
20
  get: operations["channels.getHello"];
@@ -63,6 +51,10 @@ interface paths {
63
51
  /** Resolve telegram usernames */
64
52
  post: operations["chats.resolveUsername"];
65
53
  };
54
+ "/chats/user-presence": {
55
+ /** Search for user presence in specified chats (sync) */
56
+ post: operations["chats.userPresence"];
57
+ };
66
58
  "/subscriptions": {
67
59
  /** Upsert subscription */
68
60
  put: operations["subscriptions.upsert"];
@@ -77,126 +69,39 @@ interface paths {
77
69
  /** Delete subscription by subscription id */
78
70
  delete: operations["subscriptions.delete"];
79
71
  };
72
+ "/messages/search": {
73
+ /** Search messages by phrases and time interval */
74
+ post: operations["messages.searchMessages"];
75
+ };
76
+ "/messages/context": {
77
+ /** Get messages context around specified message IDs */
78
+ post: operations["messages.getMessagesContext"];
79
+ };
80
+ "/messages/search/webhook/{externalId}": {
81
+ /** Search messages by phrases and time interval (async with webhook) */
82
+ post: operations["messages.searchMessagesWebhook"];
83
+ };
80
84
  "/accounts/list": {
81
85
  /** List of Telegram accounts */
82
86
  get: operations["accounts.list"];
83
87
  };
88
+ "/accounts/common-chats/{externalId}": {
89
+ /** Get common chats between account and user (async with webhook) */
90
+ post: operations["accounts.getCommonChats"];
91
+ };
84
92
  }
85
93
  /**
86
94
  * Сгенерированные из OpenAPI типы для `components`
87
95
  */
88
96
  interface components {
89
97
  schemas: {
90
- SearchMessagesDto: {
91
- /**
92
- * @description Search phrases (comma-separated)
93
- * @example phrase1,phrase2
94
- */
95
- phrases: string;
96
- /**
97
- * @description Number of days to search back (default: 30)
98
- * @example 60
99
- */
100
- days?: number;
101
- /**
102
- * @description Start date for search (YYYY-MM-DD format)
103
- * @example 2024-01-01
104
- */
105
- fromDate?: string;
106
- /**
107
- * @description End date for search (YYYY-MM-DD format)
108
- * @example 2024-12-31
109
- */
110
- toDate?: string;
111
- /**
112
- * @description Maximum number of messages to return
113
- * @example 1000
114
- */
115
- limit?: number;
116
- };
117
- GetMessagesContextDto: {
118
- /**
119
- * @description Start date for search (YYYY-MM-DD or YYYY-MM-DD HH:mm:ss format)
120
- * @example 2025-08-15 00:00:00
121
- */
122
- fromDate: string;
123
- /**
124
- * @description End date for search (YYYY-MM-DD or YYYY-MM-DD HH:mm:ss format)
125
- * @example 2025-10-15 23:59:59
126
- */
127
- toDate: string;
128
- /**
129
- * @description Array of message-channel pairs
130
- * @example [
131
- * {
132
- * "0": 4842617,
133
- * "1": 1263233484
134
- * },
135
- * {
136
- * "0": 4842700,
137
- * "1": 2348597164
138
- * },
139
- * {
140
- * "0": 2416624,
141
- * "1": 1318197938
142
- * },
143
- * {
144
- * "0": 1774097,
145
- * "1": 1056407492
146
- * }
147
- * ]
148
- */
149
- messageChannelPairs: string[];
150
- };
151
- SearchMessagesWebhookPaginationDto: {
152
- /**
153
- * @description Chunk size for streamed webhook batches
154
- * @default 100
155
- * @example 100
156
- */
157
- chunkSize: number;
158
- };
159
- SearchMessagesWebhookDto: {
160
- /**
161
- * @description Search phrases (comma-separated)
162
- * @example phrase1,phrase2
163
- */
164
- phrases: string;
165
- /**
166
- * @description Number of days to search back (default: 30)
167
- * @example 60
168
- */
169
- days?: number;
170
- /**
171
- * @description Start date for search (YYYY-MM-DD format)
172
- * @example 2024-01-01
173
- */
174
- fromDate?: string;
175
- /**
176
- * @description End date for search (YYYY-MM-DD format)
177
- * @example 2024-12-31
178
- */
179
- toDate?: string;
180
- /**
181
- * @description Maximum number of messages to return
182
- * @example 1000
183
- */
184
- limit?: number;
185
- /**
186
- * @description Webhook URL to send results to
187
- * @example https://your-app.com/webhooks/messages-search
188
- */
189
- webhookUrl: string;
190
- /** @description Optional pagination configuration for streamed results */
191
- pagination?: components["schemas"]["SearchMessagesWebhookPaginationDto"];
192
- };
193
98
  /** @description Message schema */
194
99
  Message: {
195
100
  /** @example 123 */
196
101
  channel_id: number;
197
102
  /**
198
103
  * Format: date-time
199
- * @example 2026-01-13T09:56:16.054Z
104
+ * @example 2026-01-16T14:54:47.728Z
200
105
  */
201
106
  message_created_at: string;
202
107
  /** @example 123 */
@@ -454,6 +359,51 @@ interface components {
454
359
  ResolveUsernamesReqDto: {
455
360
  usernames: string[];
456
361
  };
362
+ ChatIdentifierDto: {
363
+ /**
364
+ * @description Chat ID (numeric)
365
+ * @example 1234567890
366
+ */
367
+ id?: number;
368
+ /**
369
+ * @description Chat username (without @)
370
+ * @example telegram
371
+ */
372
+ username?: string;
373
+ };
374
+ UserPresenceSearchDto: {
375
+ /**
376
+ * @description User IDs to search for
377
+ * @example [
378
+ * 123456789,
379
+ * 987654321
380
+ * ]
381
+ */
382
+ accountIds: number[];
383
+ /**
384
+ * @description Chats to search in (by id or username)
385
+ * @example [
386
+ * {
387
+ * "id": 1234567890
388
+ * },
389
+ * {
390
+ * "username": "telegram"
391
+ * }
392
+ * ]
393
+ */
394
+ chats: components["schemas"]["ChatIdentifierDto"][];
395
+ /**
396
+ * @description Number of days to search back (default: 10, max: 31 to stay within 2 partitions)
397
+ * @default 10
398
+ * @example 10
399
+ */
400
+ days: number;
401
+ /**
402
+ * @description Webhook URL to send results to
403
+ * @example https://your-app.com/webhooks/user-presence
404
+ */
405
+ webhookUrl: string;
406
+ };
457
407
  /** @description Which fields of chat to return */
458
408
  ChatData: {
459
409
  /** @default false */
@@ -606,6 +556,109 @@ interface components {
606
556
  key?: string;
607
557
  query: components["schemas"]["SubscriptionQuery"];
608
558
  };
559
+ SearchMessagesDto: {
560
+ /**
561
+ * @description Search phrases (comma-separated)
562
+ * @example phrase1,phrase2
563
+ */
564
+ phrases: string;
565
+ /**
566
+ * @description Number of days to search back (default: 30)
567
+ * @example 60
568
+ */
569
+ days?: number;
570
+ /**
571
+ * @description Start date for search (YYYY-MM-DD format)
572
+ * @example 2024-01-01
573
+ */
574
+ fromDate?: string;
575
+ /**
576
+ * @description End date for search (YYYY-MM-DD format)
577
+ * @example 2024-12-31
578
+ */
579
+ toDate?: string;
580
+ /**
581
+ * @description Maximum number of messages to return
582
+ * @example 1000
583
+ */
584
+ limit?: number;
585
+ };
586
+ GetMessagesContextDto: {
587
+ /**
588
+ * @description Start date for search (YYYY-MM-DD or YYYY-MM-DD HH:mm:ss format)
589
+ * @example 2025-08-15 00:00:00
590
+ */
591
+ fromDate: string;
592
+ /**
593
+ * @description End date for search (YYYY-MM-DD or YYYY-MM-DD HH:mm:ss format)
594
+ * @example 2025-10-15 23:59:59
595
+ */
596
+ toDate: string;
597
+ /**
598
+ * @description Array of message-channel pairs
599
+ * @example [
600
+ * {
601
+ * "0": 4842617,
602
+ * "1": 1263233484
603
+ * },
604
+ * {
605
+ * "0": 4842700,
606
+ * "1": 2348597164
607
+ * },
608
+ * {
609
+ * "0": 2416624,
610
+ * "1": 1318197938
611
+ * },
612
+ * {
613
+ * "0": 1774097,
614
+ * "1": 1056407492
615
+ * }
616
+ * ]
617
+ */
618
+ messageChannelPairs: string[];
619
+ };
620
+ SearchMessagesWebhookPaginationDto: {
621
+ /**
622
+ * @description Chunk size for streamed webhook batches
623
+ * @default 100
624
+ * @example 100
625
+ */
626
+ chunkSize: number;
627
+ };
628
+ SearchMessagesWebhookDto: {
629
+ /**
630
+ * @description Search phrases (comma-separated)
631
+ * @example phrase1,phrase2
632
+ */
633
+ phrases: string;
634
+ /**
635
+ * @description Number of days to search back (default: 30)
636
+ * @example 60
637
+ */
638
+ days?: number;
639
+ /**
640
+ * @description Start date for search (YYYY-MM-DD format)
641
+ * @example 2024-01-01
642
+ */
643
+ fromDate?: string;
644
+ /**
645
+ * @description End date for search (YYYY-MM-DD format)
646
+ * @example 2024-12-31
647
+ */
648
+ toDate?: string;
649
+ /**
650
+ * @description Maximum number of messages to return
651
+ * @example 1000
652
+ */
653
+ limit?: number;
654
+ /**
655
+ * @description Webhook URL to send results to
656
+ * @example https://your-app.com/webhooks/messages-search
657
+ */
658
+ webhookUrl: string;
659
+ /** @description Optional pagination configuration for streamed results */
660
+ pagination?: components["schemas"]["SearchMessagesWebhookPaginationDto"];
661
+ };
609
662
  TelegramStatusDto: {
610
663
  floodWaitEndsAt?: string;
611
664
  floodWait?: number;
@@ -684,6 +737,23 @@ interface components {
684
737
  count: number;
685
738
  accounts: components["schemas"]["AccountDto"][];
686
739
  };
740
+ GetCommonChatsDto: {
741
+ /**
742
+ * @description Account ID to use for fetching common chats
743
+ * @example 123456789
744
+ */
745
+ accountId: number;
746
+ /**
747
+ * @description Username to find common chats with (without @)
748
+ * @example durov
749
+ */
750
+ username: string;
751
+ /**
752
+ * @description Webhook URL to send results to
753
+ * @example https://your-app.com/webhooks/common-chats
754
+ */
755
+ webhookUrl: string;
756
+ };
687
757
  };
688
758
  }
689
759
  type $defs = Record<string, never>;
@@ -726,75 +796,6 @@ interface operations {
726
796
  };
727
797
  };
728
798
  };
729
- "messages.searchMessages": {
730
- parameters: {
731
- header: {
732
- /** @description `Basic token`, where token is `id:secret` base64 encoded */
733
- Authorization: string;
734
- };
735
- };
736
- requestBody: {
737
- content: {
738
- "application/json": components["schemas"]["SearchMessagesDto"];
739
- };
740
- };
741
- responses: {
742
- 201: {
743
- headers: {
744
- [name: string]: unknown;
745
- };
746
- content: {
747
- "application/json": Record<string, never>[];
748
- };
749
- };
750
- };
751
- };
752
- "messages.getMessagesContext": {
753
- parameters: {
754
- header: {
755
- /** @description `Basic token`, where token is `id:secret` base64 encoded */
756
- Authorization: string;
757
- };
758
- };
759
- requestBody: {
760
- content: {
761
- "application/json": components["schemas"]["GetMessagesContextDto"];
762
- };
763
- };
764
- responses: {
765
- 201: {
766
- headers: {
767
- [name: string]: unknown;
768
- };
769
- content: {
770
- "application/json": Record<string, never>[];
771
- };
772
- };
773
- };
774
- };
775
- "messages.searchMessagesWebhook": {
776
- parameters: {
777
- header: {
778
- /** @description `Basic token`, where token is `id:secret` base64 encoded */
779
- Authorization: string;
780
- };
781
- path: {
782
- externalId: string;
783
- };
784
- };
785
- requestBody: {
786
- content: {
787
- "application/json": components["schemas"]["SearchMessagesWebhookDto"];
788
- };
789
- };
790
- responses: {
791
- 201: {
792
- headers: {
793
- [name: string]: unknown;
794
- };
795
- };
796
- };
797
- };
798
799
  "channels.getHello": {
799
800
  parameters: {
800
801
  header: {
@@ -1065,6 +1066,48 @@ interface operations {
1065
1066
  };
1066
1067
  };
1067
1068
  };
1069
+ "chats.userPresence": {
1070
+ parameters: {
1071
+ header: {
1072
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
1073
+ Authorization: string;
1074
+ };
1075
+ };
1076
+ requestBody: {
1077
+ content: {
1078
+ "application/json": components["schemas"]["UserPresenceSearchDto"];
1079
+ };
1080
+ };
1081
+ responses: {
1082
+ /** @description Synchronous user presence result */
1083
+ 200: {
1084
+ headers: {
1085
+ [name: string]: unknown;
1086
+ };
1087
+ content: {
1088
+ "application/json": {
1089
+ data: {
1090
+ user_id: number;
1091
+ channel_id: number;
1092
+ }[];
1093
+ totalResults: number;
1094
+ processingTimeMs: number;
1095
+ };
1096
+ };
1097
+ };
1098
+ 201: {
1099
+ headers: {
1100
+ [name: string]: unknown;
1101
+ };
1102
+ };
1103
+ /** @description Unauthorized */
1104
+ 401: {
1105
+ headers: {
1106
+ [name: string]: unknown;
1107
+ };
1108
+ };
1109
+ };
1110
+ };
1068
1111
  "subscriptions.upsert": {
1069
1112
  parameters: {
1070
1113
  header: {
@@ -1261,6 +1304,75 @@ interface operations {
1261
1304
  };
1262
1305
  };
1263
1306
  };
1307
+ "messages.searchMessages": {
1308
+ parameters: {
1309
+ header: {
1310
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
1311
+ Authorization: string;
1312
+ };
1313
+ };
1314
+ requestBody: {
1315
+ content: {
1316
+ "application/json": components["schemas"]["SearchMessagesDto"];
1317
+ };
1318
+ };
1319
+ responses: {
1320
+ 201: {
1321
+ headers: {
1322
+ [name: string]: unknown;
1323
+ };
1324
+ content: {
1325
+ "application/json": Record<string, never>[];
1326
+ };
1327
+ };
1328
+ };
1329
+ };
1330
+ "messages.getMessagesContext": {
1331
+ parameters: {
1332
+ header: {
1333
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
1334
+ Authorization: string;
1335
+ };
1336
+ };
1337
+ requestBody: {
1338
+ content: {
1339
+ "application/json": components["schemas"]["GetMessagesContextDto"];
1340
+ };
1341
+ };
1342
+ responses: {
1343
+ 201: {
1344
+ headers: {
1345
+ [name: string]: unknown;
1346
+ };
1347
+ content: {
1348
+ "application/json": Record<string, never>[];
1349
+ };
1350
+ };
1351
+ };
1352
+ };
1353
+ "messages.searchMessagesWebhook": {
1354
+ parameters: {
1355
+ header: {
1356
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
1357
+ Authorization: string;
1358
+ };
1359
+ path: {
1360
+ externalId: string;
1361
+ };
1362
+ };
1363
+ requestBody: {
1364
+ content: {
1365
+ "application/json": components["schemas"]["SearchMessagesWebhookDto"];
1366
+ };
1367
+ };
1368
+ responses: {
1369
+ 201: {
1370
+ headers: {
1371
+ [name: string]: unknown;
1372
+ };
1373
+ };
1374
+ };
1375
+ };
1264
1376
  "accounts.list": {
1265
1377
  parameters: {
1266
1378
  header: {
@@ -1269,7 +1381,7 @@ interface operations {
1269
1381
  };
1270
1382
  };
1271
1383
  responses: {
1272
- /** @description List of Telegram accounts */
1384
+ /** @description List of Telegram accounts from tg-scraper-farm */
1273
1385
  200: {
1274
1386
  headers: {
1275
1387
  [name: string]: unknown;
@@ -1286,6 +1398,43 @@ interface operations {
1286
1398
  };
1287
1399
  };
1288
1400
  };
1401
+ "accounts.getCommonChats": {
1402
+ parameters: {
1403
+ header: {
1404
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
1405
+ Authorization: string;
1406
+ };
1407
+ path: {
1408
+ externalId: string;
1409
+ };
1410
+ };
1411
+ requestBody: {
1412
+ content: {
1413
+ "application/json": components["schemas"]["GetCommonChatsDto"];
1414
+ };
1415
+ };
1416
+ responses: {
1417
+ /** @description Request queued; results will be sent via webhook */
1418
+ 200: {
1419
+ headers: {
1420
+ [name: string]: unknown;
1421
+ };
1422
+ content: {
1423
+ "application/json": {
1424
+ externalId: string;
1425
+ /** @enum {string} */
1426
+ status: "processing";
1427
+ };
1428
+ };
1429
+ };
1430
+ /** @description Unauthorized */
1431
+ 401: {
1432
+ headers: {
1433
+ [name: string]: unknown;
1434
+ };
1435
+ };
1436
+ };
1437
+ };
1289
1438
  }
1290
1439
 
1291
1440
  export type { $defs, components, operations, paths };