@andrey4emk/npm-app-back-b24 0.4.2 → 0.4.4

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
@@ -11,6 +11,7 @@
11
11
  - [Утилиты](#утилиты)
12
12
  - [События](#события)
13
13
  - [ChatApp](#chatapp)
14
+ - [Smsgold](#smsgold)
14
15
  - [Переменные окружения](#переменные-окружения)
15
16
  - [Скрипты](#скрипты)
16
17
  - [Лицензия](#лицензия)
@@ -25,7 +26,7 @@ npm install @andrey4emk/npm-app-back-b24
25
26
 
26
27
  ```js
27
28
  import { create, refresh, save, errTask, Event } from "@andrey4emk/npm-app-back-b24";
28
- import { chatApp } from "@andrey4emk/npm-app-back-b24";
29
+ import { chatApp, smsgold } from "@andrey4emk/npm-app-back-b24";
29
30
  import { AuthB24Model } from "./models/AuthB24.js"; // пример модели
30
31
 
31
32
  // OAuth функции
@@ -50,6 +51,9 @@ const result = await chatApp.sendMessageChatApp("whatsApp", {
50
51
  phone: "+1234567890",
51
52
  message: "Привет!",
52
53
  });
54
+
55
+ // Работа с SMSGold
56
+ await smsgold.sendSms("+1234567890", "Привет из SMSGold!");
53
57
  ```
54
58
 
55
59
  ## API
@@ -464,6 +468,30 @@ const result = await chatApp.sendMessageChatApp("whatsApp", {
464
468
  });
465
469
  ```
466
470
 
471
+ ### Smsgold
472
+
473
+ - **`smsgold.sendSms(phone, message)`** — отправляет SMS через сервис SMSGold.
474
+
475
+ ```js
476
+ import { smsgold } from "@andrey4emk/npm-app-back-b24";
477
+
478
+ const result = await smsgold.sendSms("+79990000000", "Готово!");
479
+ if (!result.error) {
480
+ console.log(result.message);
481
+ } else {
482
+ console.error(result.result);
483
+ }
484
+ ```
485
+
486
+ **Требуемые переменные окружения:**
487
+
488
+ | Переменная | Назначение |
489
+ | -------------- | ---------------- |
490
+ | `SMSGOLD_USER` | Логин в SMSGold |
491
+ | `SMSGOLD_PASS` | Пароль в SMSGold |
492
+
493
+ Метод возвращает объект `{ error, message, result }`, где в `result` содержатся статус-код HTTP и тело ответа сервиса.
494
+
467
495
  ## Переменные окружения
468
496
 
469
497
  | Переменная | Назначение |
package/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  // index.js — публичная точка входа
2
- export * from "./b24.js"; // ре‑экспорт всех экспортов из b24.js
3
- export * from "./eventGet.js"; // и из нового файла eventGet.js
4
- export * from "./chatApp.js"; // и из chatApp.js
2
+ export * from "./bitrix24/b24.js"; // ре‑экспорт всех экспортов из b24.js
3
+ export * from "./bitrix24/eventGet.js"; // и из нового файла eventGet.js
4
+ export * from "./sendMessage/chatApp.js"; // и из chatApp.js
5
+ export * from "./sendMessage/smsgold.js"; // и из smsGold.js
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andrey4emk/npm-app-back-b24",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "Bitrix24 OAuth helpers for Node.js projects",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -21,9 +21,10 @@
21
21
  "homepage": "https://github.com/andrey4emk/npm_appBackB24#readme",
22
22
  "files": [
23
23
  "index.js",
24
- "b24.js",
25
- "eventGet.js",
26
- "chatApp.js",
24
+ "bitrix24/b24.js",
25
+ "bitrix24/eventGet.js",
26
+ "sendMessage/chatApp.js",
27
+ "sendMessage/smsgold.js",
27
28
  "config.js"
28
29
  ],
29
30
  "dependencies": {
@@ -1,4 +1,4 @@
1
- import { config } from "./config.js";
1
+ import { config } from "../config.js";
2
2
  import dotEnv from "dotenv";
3
3
 
4
4
  dotEnv.config();
@@ -0,0 +1,65 @@
1
+ import { config } from "../config.js";
2
+ import dotEnv from "dotenv";
3
+
4
+ dotEnv.config();
5
+
6
+ class Smsgold {
7
+ constructor() {
8
+ this.user = process.env.SMSGOLD_USER;
9
+ this.pass = process.env.SMSGOLD_PASS;
10
+ }
11
+
12
+ async sendSms(messageData) {
13
+ const { phone, message } = messageData;
14
+ // Проверяем наличие необходимых данных
15
+ if (!this.user || !this.pass) {
16
+ return { error: true, message: "Отсутствуют учетные данные SMSGold", result: null };
17
+ }
18
+ if (!phone || !message) {
19
+ return { error: true, message: "Отсутствуют номер телефона или текст сообщения", result: null };
20
+ }
21
+ try {
22
+ let body = new URLSearchParams({
23
+ user: this.user,
24
+ pass: this.pass,
25
+ action: "send",
26
+ text: message,
27
+ number: phone,
28
+ sender: "potolkiRepa",
29
+ }).toString();
30
+
31
+ let result = await fetch("https://web.smsgold.ru/http2/", {
32
+ method: "POST",
33
+ headers: {
34
+ "Content-Type": "application/x-www-form-urlencoded",
35
+ },
36
+ body: body,
37
+ });
38
+
39
+ if (!result.ok) {
40
+ const errorText = await result.text();
41
+ let messageErr = {
42
+ status: result.status,
43
+ statusText: result.statusText,
44
+ errorText: errorText,
45
+ };
46
+ return { error: true, message: `API ошибка: ${result.status}`, result: messageErr };
47
+ }
48
+
49
+ const responseData = await result.text();
50
+ return {
51
+ error: false,
52
+ message: "SMS отправлено успешно",
53
+ result: {
54
+ status: result.status,
55
+ statusText: result.statusText,
56
+ data: responseData,
57
+ },
58
+ };
59
+ } catch (error) {
60
+ return { error: true, message: error.message, result: null };
61
+ }
62
+ }
63
+ }
64
+
65
+ export const smsgold = new Smsgold();
File without changes
File without changes