SimplyConnectModule dla dependency injection
Moduł frameworkowy · v0.1.0
Simply Connect
dla NestJS.
Instalujesz klienta bazowego i moduł @simply-connect/nestjs. Framework tworzy klienta przez DI, a panel włączasz osobno tylko wtedy, gdy jest potrzebny.
Dla kogo jest ta integracja
Najpierw sprawdź, czy to rozwiązanie dla Ciebie.
Dla aplikacji NestJS 10, 11 i 12. Jeżeli używasz zwykłego Node.js bez NestJS, wybierz lżejszy poradnik klienta bazowego.
Co dostajesz
Mniej ręcznej pracy.
Więcej pewności.
Konfiguracja forRoot i forRootAsync
Typowany klient SMS, wiadomości i połączeń
Opcjonalny SimplyConnectPanelModule
Sesja, CSRF i throttling logowania panelu
Instalacja krok po kroku
Bez zgadywania. Zrobisz to po kolei.
Każdy krok mówi, gdzie wejść i czego oczekiwać. Najpierw uruchom podstawową wysyłkę, dopiero potem włącz kolejne automatyzacje.
- 1
Zainstaluj obie paczki
Moduł NestJS korzysta z klienta bazowego, dlatego pierwsze wydanie instalujesz z dwóch niezmiennych artefaktów GitHub.
npm install \ https://github.com/karlos1998/simply-connect-node/releases/download/v0.1.0/simply-connect-node-0.1.0.tgz \ https://github.com/karlos1998/simply-connect-node/releases/download/v0.1.0/simply-connect-nestjs-0.1.0.tgz - 2
Utwórz klucz API
W panelu Simply Connect otwórz Developer → API keys. Włącz SMS_SEND oraz tylko potrzebne zakresy historii lub kolejki połączeń.
Otwórz panel Simply Connect - 3
Dodaj sekrety do środowiska
Klucz i UUID bramki trzymaj poza repozytorium. Możesz wczytać je bezpośrednio albo przez własny ConfigService.
SIMPLY_CONNECT_API_KEY=msc_live_twoj_sekret SIMPLY_CONNECT_SMS_ENDPOINT_ID=uuid_twojej_bramki - 4
Zaimportuj moduł
Dodaj SimplyConnectModule do modułu głównego. Dla secret managera użyj forRootAsync().
@Module({ imports: [ SimplyConnectModule.forRoot({ apiKey: process.env.SIMPLY_CONNECT_API_KEY!, defaultSmsEndpointId: process.env.SIMPLY_CONNECT_SMS_ENDPOINT_ID, }), ], }) export class AppModule {} - 5
Wstrzyknij klienta do serwisu
Importuj SimplyConnectClient z @simply-connect/nestjs i używaj go jak zwykłej zależności serwisu.
@Injectable() export class OrderNotifications { constructor( private readonly simplyConnect: SimplyConnectClient, ) {} } - 6
Opcjonalnie uruchom panel
Panel jest osobnym modułem i pozostaje wyłączony bez importu. Ustaw inne hasło niż klucz API i otwórz /simply-connect.
SimplyConnectPanelModule.forRoot({ path: '/simply-connect', password: process.env.SIMPLY_CONNECT_PANEL_PASSWORD!, })
Test po instalacji
Po czym poznasz, że wszystko działa?
Nie zaczynaj od masowej wysyłki. Przejdź tę krótką listę na jednym kontrolowanym numerze.
- 1NestJS uruchamia się z dostępnym SimplyConnectClient.
- 2Klient jest wstrzykiwany przez dependency injection.
- 3Kontrolny SMS zwraca identyfikatory i status QUEUED.
- 4Po włączeniu panel wymaga osobnego hasła i nie zawiera klucza API w HTML.
- 5Każda sekcja panelu respektuje zakresy i bramki przypisane do klucza.
Gdy coś nie ruszy
Najczęstsze problemy
Najpierw sprawdź poniższe rzeczy — zwykle rozwiązanie jest tutaj.
NestJS nie wstrzykuje klienta
Zaimportuj SimplyConnectModule w module dostępnym dla serwisu. Przy forRootAsync zwróć apiKey z useFactory i wpisz zależności konfiguracyjne w inject.
Panel nie uruchamia aplikacji
Hasło panelu musi mieć co najmniej 12 znaków i różnić się od klucza API. Usuń import SimplyConnectPanelModule, jeżeli panel nie jest potrzebny.
Panel pokazuje puste sekcje
Panel respektuje zakresy klucza. Dodaj MESSAGES_READ, CALL_QUEUE_READ albo CALL_QUEUE_WRITE tylko dla funkcji, które mają być widoczne.
Gotowe do uruchomienia
Połącz NestJS z własnym numerem.
Integracja jest otwarta i wersjonowana. Kod możesz sprawdzić przed instalacją, a w razie pytania napisać do nas.
Nazwy i znaki należą do ich właścicieli. Integracja nie oznacza partnerstwa ani certyfikacji przez właściciela danego narzędzia.