@andrey4emk/npm-app-back-b24 0.4.1 → 0.4.3

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.1",
3
+ "version": "0.4.3",
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();
@@ -172,7 +172,7 @@ class ChatApp {
172
172
  }
173
173
  let check = await this.checkTokenChatApp();
174
174
  if (check.error) {
175
- return { error: true, message: `Ошибка с токеном ChatApp в функции phoneCheckChatApp класса ChatApp\n${check.message}`, data: null };
175
+ return { error: true, message: `Ошибка с токеном ChatApp в функции phoneCheckChatApp класса ChatApp\n${check.message}`, data: check };
176
176
  }
177
177
  let url;
178
178
  if (messangerType === "whatsApp") {
@@ -191,7 +191,7 @@ class ChatApp {
191
191
  });
192
192
  let data = await res.json();
193
193
  if (!data.success) {
194
- return { error: true, message: `Ошибка при проверке телефона в ChatApp через ${messangerType}`, data: null };
194
+ return { error: true, message: `Ошибка при проверке телефона в ChatApp через ${messangerType}`, data: data };
195
195
  } else {
196
196
  return { error: false, message: `Телефон успешно проверен в ChatApp через ${messangerType}`, data: data };
197
197
  }
@@ -0,0 +1,57 @@
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(phone, message) {
13
+ try {
14
+ let body = new URLSearchParams({
15
+ user: this.user,
16
+ pass: this.pass,
17
+ action: "send",
18
+ text: message,
19
+ number: phone,
20
+ sender: "potolkiRepa",
21
+ }).toString();
22
+
23
+ let result = await fetch("https://web.smsgold.ru/http2/", {
24
+ method: "POST",
25
+ headers: {
26
+ "Content-Type": "application/x-www-form-urlencoded",
27
+ },
28
+ body: body,
29
+ });
30
+
31
+ if (!result.ok) {
32
+ const errorText = await result.text();
33
+ let messageErr = {
34
+ status: result.status,
35
+ statusText: result.statusText,
36
+ errorText: errorText,
37
+ };
38
+ return { error: true, message: `API ошибка: ${result.status}`, result: messageErr };
39
+ }
40
+
41
+ const responseData = await result.text();
42
+ return {
43
+ error: false,
44
+ message: "SMS отправлено успешно",
45
+ result: {
46
+ status: result.status,
47
+ statusText: result.statusText,
48
+ data: responseData,
49
+ },
50
+ };
51
+ } catch (error) {
52
+ return { error: true, message: error.message, result: null };
53
+ }
54
+ }
55
+ }
56
+
57
+ export const smsgold = new Smsgold();
File without changes
File without changes