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.

jessegavin
źródło
+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.

Adam
źródło
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: [email protected]
Sprint: numer telefonu @ messaging.sprintpcs.com
Verizon: numer telefonu @ vtext.com
Nextel : phonenumber @ messaging.nextel.com

gdzie phonenumber = Twój 10-cyfrowy numer telefonu

Mikrofon
źródło
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
3
@artlung en.wikipedia.org/wiki/List_of_carriers_providing_SMS_transitis dość obszerna lista.
Yahel,
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).

Darryl Hein
źródło
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,
5

To jest tylko do wysyłania, ale użyłem Penny SMS do projektu i miałem szczęście. Jeśli używasz Ruby, sprawdź klejnot penny_sms_muncher .

Matthew Shanley
źródło
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.

Eduardo Molteni
źródło
3

Polecam przyjrzeć się dwukierunkowemu interfejsowi API udostępnianemu przez http://www.world-text.com/ .

AronHopkins
źródło
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.

Dan Diplo
źródło
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ą.

Liam Harris
źródło
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 = "[email protected]";
} elseif ($carrier == "2") {
    $email = "[email protected]";
} elseif ($carrier == "3") {
    $email = "[email protected]";
} elseif ($carrier == "4") {
    $email = "[email protected]";
} elseif ($carrier == "5") {
    $email = "[email protected]";
} elseif ($carrier == "6") {
    $email = "[email protected]";
} elseif ($carrier == "7") {
    $email = "[email protected]";
} elseif ($carrier == "8") {
    $email = "[email protected]";
} elseif ($carrier == "9") {
    $email = "[email protected]";
}

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.

ionFish
źródło
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.

Lilio Luami
źródło