IntegracjeLaravel

Aplikacje PHP · v0.2.0

Simply Connect
dla Laravel.

Naturalne API dla Laravel, kolejki, testowy fake i panel podobny do Telescope — bez ręcznego składania żądań HTTP.

Gotowa integracja · v0.2.0

Dla kogo jest ta integracja

Najpierw sprawdź, czy to rozwiązanie dla Ciebie.

Dla zespołów tworzących własną aplikację w Laravel 10–13, które chcą wysyłać wiadomości transakcyjne z istniejących numerów Simply Connect.

Co dostajesz

Mniej ręcznej pracy.
Więcej pewności.

01

Laravel Notifications i kolejki

02

Fluent API do wysyłki SMS

03

Nazwane bramki i wiele kont

04

Fake i asercje do testów

05

Panel bramek, wiadomości i połączeń

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. 1

    Zainstaluj paczkę

    Uruchom polecenie w katalogu aplikacji. Laravel sam wykryje provider i fasadę.

    composer require simply-connect/laravel
  2. 2

    Utwórz klucz API

    W panelu Simply Connect otwórz Developer → API keys. Nadaj SMS_SEND, a jeśli chcesz odczytywać statusy także MESSAGES_READ. Sekret zobaczysz tylko raz.

    Otwórz panel Simply Connect
  3. 3

    Wskaż klucz i bramkę

    Dodaj do pliku .env klucz oraz UUID aktywnej bramki SMS. Nie umieszczaj tych wartości w repozytorium.

    SIMPLY_CONNECT_API_KEY=msc_live_twoj_sekret
    SIMPLY_CONNECT_SMS_ENDPOINT_ID=uuid_twojej_bramki
  4. 4

    Wyślij pierwszą wiadomość

    Użyj fasady w kodzie aplikacji. Numer podaj w formacie międzynarodowym, np. +48500100200.

    SimplyConnect::sms()
        ->to('+48500100200')
        ->text('Twoje zamówienie jest gotowe.')
        ->send();
  5. 5

    Podepnij Laravel Notifications

    Gdy podstawowa wysyłka działa, dodaj SimplyConnectChannel do metody via() swojej notyfikacji. Jeżeli notyfikacja implementuje ShouldQueue, Laravel obsłuży ją w zwykłej kolejce.

    Zobacz pełny przykład w repozytorium
  6. 6

    Opcjonalnie włącz panel developerski

    Uruchom instalator, ustaw SIMPLY_CONNECT_PANEL_ENABLED=true i otwórz /simply-connect. Lokalnie panel jest dostępny od razu. Poza środowiskiem local opublikowany provider zawiera Gate viewSimplyConnect — wpisz tam własną regułę dostępu, tak jak w Laravel Telescope.

    php artisan simply-connect:install
    
    SIMPLY_CONNECT_PANEL_ENABLED=true
    SIMPLY_CONNECT_PANEL_PATH=simply-connect

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.

  1. 1Wysłanie zwraca identyfikator wiadomości i status QUEUED.
  2. 2Wiadomość pojawia się w panelu Simply Connect.
  3. 3Telefon lub modem wysyła SMS z wybranego numeru.
  4. 4Testy aplikacji mogą używać SimplyConnect::fake() bez połączenia z API.
  5. 5Po włączeniu panel /simply-connect otwiera się lokalnie bez osobnego logowania.

Gdy coś nie ruszy

Najczęstsze problemy

Najpierw sprawdź poniższe rzeczy — zwykle rozwiązanie jest tutaj.

Dostaję błąd 401 albo 403

Sprawdź, czy klucz nie wygasł, ma zakres SMS_SEND i dostęp do wybranej bramki. Po zmianie .env wyczyść cache konfiguracji aplikacji.

Nie znam UUID bramki

Znajdziesz go w panelu przy bramce. SDK potrafi też pobrać listę dostępnych endpointów przez SimplyConnect::endpoints().

Wysyłka zakończyła się jako UNKNOWN

Nie wysyłaj od razu drugiego SMS-a. UNKNOWN oznacza, że nie da się potwierdzić wyniku po stronie operatora. Ponów tylko z tym samym kluczem idempotencji i tą samą treścią.

Panel działa lokalnie, ale na produkcji zwraca 403

To bezpieczne zachowanie domyślne. W App\Providers\SimplyConnectServiceProvider ustaw Gate viewSimplyConnect dla użytkowników swojej aplikacji. Panel nie ma osobnego konta ani hasła i korzysta z sesji middleware web.

Gotowe do uruchomienia

Połącz Laravel 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.
Otwórz paczkę na Packagist Zobacz kod na GitHubiePotrzebujesz pomocy?