Jak dodać funkcję SMS-ów do mojej witryny?


57

Chcę dodać możliwość wysyłania przypomnień przez e-mail i SMS o określonych wydarzeniach, na które zapisali się w aplikacji internetowej, którą tworzę. Część e-mail nie jest trudna, ale zastanawiam się, gdzie znaleźć dobre rozwiązanie do wysyłania wiadomości SMS.

Byłoby również plusem, gdyby to rozwiązanie pozwalało na dwukierunkową komunikację SMS z moją aplikacją internetową, aby ludzie mogli odpowiedzieć za pomocą wiadomości typu POTWIERDŹ lub ANULUJ.

Czy ktoś zaimplementował coś takiego? Czy ktoś wie o dobrych narzędziach?

EDYCJA: Zdaję sobie sprawę, że jest to raczej „wiele sposobów na skórowanie tego kota”, dlatego zmieniłem je na wiki społeczności.


+1, znam tuzin dostawców SMS API w jedną stronę, ale żaden z nich nie odpisuje, jeśli otrzyma odpowiedź.
Tim Post

Dodałem nagrodę za to pytanie w nadziei na poprawę odpowiedzi na to pytanie.
artlung

jessegavin, Jeśli masz ochotę wybrać najlepszą odpowiedź, nie krępuj się - nagroda kończy się jutro!
artlung

Odpowiedzi:


25

Musiałem edytować tę odpowiedź kilka razy, ponieważ usługi, które początkowo poleciłem, przestały działać. Uważam, że nowym liderem branży jest Twilio , mają doskonałe API i rozsądne ceny. Niektóre alternatywy warte rozważenia to Tropo , Plivo i Nexmo .

Od jakiegoś czasu używam IMified do robienia podobnych rzeczy i przekonałem się, że działa dobrze. Pozwala odbierać SMS-y (lub wiadomości Twitter i IM) jako POST HTTP, a odpowiedź twojego serwera jest wysyłana jako odpowiedź. Oferują również usługę internetową, za pomocą której można inicjować rozmowę i wysyłać wiadomości .

Gdy szukałem innych opcji, natknąłem się na Zeep Mobile (uwaga: Zeep Mobile nie będzie już działać od 8.01.2013), który ma interfejs API do wysyłania i odbierania wiadomości SMS. Jest albo bezpłatny, a reklamy obsługiwane lub dostępne za opłatą miesięczną. Nie próbowałem tego, ale wygląda całkiem interesująco.

Możesz także użyć bramki SMS, takiej jak ClickATell .

Powodzenia!

EDYCJA: Znalazłem pytanie na StackOverflow, które ma wiele innych sugestii, niektóre mogą być nieaktualne.


Korzystam również z CLickATell i jestem zadowolony z ich usług.
Alex

Zamierzam wpaść na płatną usługę Plivo, jest bardzo dobra. Używaliśmy Twilio, który jest również wyjątkowy, ale kosztuje więcej.
Frank

15

Miałem przyjaciela, któremu udało się to za pośrednictwem poczty e-mail. Wydaje mi się, że zrobił to dokładnie tak samo, jak ta witryna zaleca :

T-Mobile: numer telefonu @ tmomail.net
Virgin Mobile: numer telefonu @ vmobl.com
Cingular: numer telefonu @ cingularme.com
AT&T: phonenumber@txt.att.net
Sprint: numer telefonu @ messaging.sprintpcs.com
Verizon: numer telefonu @ vtext.com
Nextel : phonenumber @ messaging.nextel.com

gdzie phonenumber = Twój 10-cyfrowy numer telefonu


1
Właśnie to przetestowałem i mój operator (AT&T) dodał na początku wiadomości tekstowej: [Nazwa nadawcy], SUBJ: [Temat], MSG: [Treść wiadomości]. - Czyli to (przynajmniej) 21 znaków, które są przyzwyczajone do tej metody. Myślę, że (przynajmniej dla mnie) byłoby to nie do przyjęcia w przypadku większości aplikacji internetowych przeznaczonych do publicznego udostępniania.
jessegavin


7
Masz na myśli en.wikipedia.org/wiki/List_of_SMS_gateways , ale dziękuję!
artlung

2
W moim kraju (Argentyna) musisz płacić za SMS-y otrzymane pocztą elektroniczną (Twoi klienci mogą nie lubić)
Eduardo Molteni

1
Jak określić, kto jest przewoźnikiem?
Adam

9

Używam Twilio do głosowania i jestem pod dużym wrażeniem. Jestem pewien, że ich system SMS nie różni się zbytnio. Umożliwi to wysłanie wiadomości do dowolnego operatora bez znajomości adresu e-mail, na który należy wysłać (jak zauważyłem, że zmieniają się one z czasem).


Używasz ich API? Jak go używasz?
artlung

1
Używam ich głosowego interfejsu API do wywoływania wywołań za pomocą skryptów PHP. Używam go do wykonywania połączeń i używam go do przesyłania głosu na tekst, a następnie akceptuję odpowiedzi od użytkownika.
Darryl Hein,


4

Inne dwie opcje, które rozważałem w przeszłości:

Skype API
Wysyłaj i odbieraj SMS-y za pomocą nowego API Skype. Myślę, że Twilio jest tańszy, ale Skype jest dostępny w większej liczbie krajów (jeśli chcesz odbierać SMS-y)

Podłącz telefon do swojego serwera
Jeśli mieszkasz w kraju (takim jak Argentyna), w którym firmy zajmujące się bramami SMS dużo ładują, taniej jest kupić telefon i podłączyć go do serwera (oczywiście w zależności od środowiska hostingowego). Następnie możesz używać oprogramowania takiego jak SMSToolkit do interakcji z telefonem.



2

Napisałem taki dwukierunkowy system SMS wykorzystujący Vidicom UK jako dostawcę SMS (nie jestem pewien, czy nadal będą). Zasadniczo mają interfejs API oparty na HTTP, w którym można wysyłać i odbierać wiadomości SMS. Jest to zbyt skomplikowane, aby wyjaśnić szczegółowo, ale w istocie miałem dwie tabele bazy danych, jedną dla wiadomości przychodzących odebranych z bramy, a drugą dla wiadomości wychodzących, które są w kolejce, a następnie wysyłane do bramy.

Zasadniczo musiałem wtedy przeanalizować przychodzące wiadomości, aby sprawdzić, czy zawierają słowa kluczowe, takie jak ANULUJ lub STOP, a następnie odpowiednio przetworzyć wiadomość. Niestety, otrzymujesz wiele śmieciowych wiadomości - zdziwiłbyś się, ile osób wysyła wiadomości SMS na niewłaściwy numer - więc musisz odpowiedzieć z komunikatem „Wiadomość nie zrozumiana” itp.


2

Jeśli chcesz niedrogiego dostawcy masowych SMS-ów, z API dla programistów możesz skorzystać z www.SourceSMS.com - oferują zasięg międzynarodowy i mają skrypty, które możesz po prostu pobrać i zintegrować ze swoją witryną.


1

Inną opcją jest użycie funkcji poczty PHP i listy serwerów e-mail przewoźnika, takich jak:

Utwórz formularz HTML na pliku PHP,

<select name="carrier" style="width: 130px" >
<option selected="" value="1">Verizon Wireless</option>
<option value="2">Alltel</option>
<option value="3">Boost Mobile</option>
<option value="4">Cingular</option>
<option value="5">Nextel</option>
<option value="6">Sprint</option>
<option value="7">T-Mobile</option>
<option value="8">Virgin Mobile</option>
<option value="9">AT&T</option>
</select>

Następnie ustaw, gdzie poczta będzie wysyłana:

if ($carrier == "1") {
    $email = "$to@vtext.com";
} elseif ($carrier == "2") {
    $email = "$to@message.alltel.com";
} elseif ($carrier == "3") {
    $email = "$to@myboostmobile.com";
} elseif ($carrier == "4") {
    $email = "$to@cingularme.com";
} elseif ($carrier == "5") {
    $email = "$to@messaging.nextel.com";
} elseif ($carrier == "6") {
    $email = "$to@messaging.sprintpcs.com";
} elseif ($carrier == "7") {
    $email = "$to@tmomail.net";
} elseif ($carrier == "8") {
    $email = "$to@vmobl.com";
} elseif ($carrier == "9") {
    $email = "$to@txt.att.net";
}

Wyślij wiadomość e-mail: ($ email, $ subject, $ msg, $ mailfrom będzie musiał zostać zdefiniowany i we właściwym formacie, zalecam również dezynfekcję danych wejściowych)

if (mail($email, $subject, $msg, $mailfrom)) {
    echo "<h4>Your Text Was Successfully Sent.</h4>";
    echo "<br />";
    if ($backurl == "") {
        echo "<a href='javascript:history.back(1);'>Back</a>";
    } else {
        echo "<a href='" . $backurl . "'>Back</a>";
    }
    echo "</body></html>";
} else {
    echo "<h4><b>Error Sending Message</b></h4><br>Can't send txt to $to. <br> Contact the site Administrator.";
}

Upewnij się, że PHP ma prawidłowe ustawienia poczty w php.ini. Jeśli masz jakieś pytania, po prostu zapytaj.



0

Istnieje wielu producentów i usługodawców. Wiem Ozeki SMS Gateway. Poniższe adresy URL mogą pomóc, jeśli chcesz mieć własne rozwiązanie z własnym modemem GSM lub SMPP / UCP / CMD lub innym dostawcą. Kiedy podejmujesz decyzję, pierwsze pytanie: ile SMS-ów chcesz wysłać lub odebrać?

HTTP SMS API z przykładami .

SMS API dla programistów ASP / ASP.NET i przykłady dla programistów PHP na temat konfigurowania stron funkcji SMS mogą dostarczyć użytecznych informacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.