Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SF2][SF][Symfony2] Wysyłanie SMS
Forum PHP.pl > Forum > PHP > Frameworki
damianooo
Potrzebuję wysyłać wiadomość SMS w celu przypomnienia użytkownikom o zadaniu, które zostało do wykonania.

Wiem - mógłbym wysyłać emaile ale ... emaila nie wszyscy odbiorą na czas dlatego sms lepszy w moim przypadku.

Czy ktoś może używał lub używa w swojej aplikacji Symfonowej funkcjonalności wysyłania sms z powiadomieniem albo w innym celu ?

Nie wiem jak powinenien się do tego zabrać ?
prz3kus
Najprościej skorzystać z serwisu typu `smsapi`, podpiąć gotowy udostępniony kod w odpowiednie miejsce i tyle.
damianooo
chciałem ... ale .. napisali mi że osoby prywatne z tego nie mogą skorzystać sad.gif

Cytat
Panie Damianie, według regulaminu naszego serwisu świadczymy usługi tylko podmiotom będącym przedsiębiorcą.
W ramach osoby prywatnej można wykorzystać dostępne środki testowe.


jest alternatywa ? czy to jakieś nieporozumienie ?
damianooo
tak tak skorzystałem z API na stronie http://bramka.gsmservice.pl/

Apy przetestować umieściłem plik test.php z poniższym kodem na koncie hostingowym i wykonałem w przeglądarce wpisując taki adres: www.mojadomena.pl/test.php .

  1. try{
  2. ini_set("soap.wsdl_cache_enabled", "0");
  3. $client = new SoapClient("https://api.gsmservice.pl/soap/v2/gateway.php?wsdl");
  4. $arAccount = array(
  5. "login" => "moj_login",
  6. "pass" => "moje_haslo"
  7. );
  8. $arMessages = array(array(
  9. "recipients" => array("48123456789"),
  10. "message" => "Moja wiadomość testowa",
  11. "sender"=> "damcio",
  12. "msgType" => 1,
  13. "unicode" => false,
  14. "sandbox" => true
  15. ));
  16.  
  17. $arOutput = $client->SendSMS(array("account" => $arAccount,"messages"=> $arMessages))->return;
  18. if (!is_array($oOutput)) $arOutput = array($arOutput);
  19. echo "Status żądania: " . $arOutput[0]->status . ", Kod błędu: " . $arOutput[0]->errCode . ", Opis statusu: " . $arOutput[0]->description .
  20. ", Nr odbiorcy: " . $arOutput[0]->recipient . ", ID wiadomości: " . $arOutput[0]->msgId . ", Liczba części: " . $arOutput[0]->parts .
  21. ", Koszt: " . $arOutput[0]->price . "<br/>";
  22. }
  23. catch(Exception $oE)
  24. {
  25. print_r($oE);
  26. }


SMS niestety nie doszedł. Dlaczego ?

Jednak przynajmniej część skryptu się wykonała ponieważ po wywołaniu w przeglądarce adresu pojawił się oto taki napis:

  1. Status żądania: OK, Kod błędu: , Opis statusu: Wiadomość przyjęta, Nr odbiorcy: 48606119978, ID wiadomości: 0, Liczba części: 1, Koszt: 0.16


Czyżby kasa pobrana a sms nie doszedł ? Nie - okazało się że na koncie mam nadal to samo saldo.

A więc coś robię źle tylko nie wiem co ?

w Access Log mam tyle że 200 OK:

[22/Feb/2017:20:35:50 +0100] "GET /test.php HTTP/1.1" 200 155 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
[22/Feb/2017:20:35:53 +0100] "GET /test.php HTTP/1.1" 200 155 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"






ok okazało się że wszystko robiłem dobrze ... należało tylko zmienić jeden parametr:
  1. z: "sandbox" => true
  2. na: "sandbox" => false


Na szczęście dział techniczny gsmservice odpowiedział mi na maila:

  1. Wiadomość została przesłana przez API do systemu testowego (sandbox). Aby wysłać tego SMSa bardzo proszę o zamianę w kodzie wpisu ""sandbox" => true" na "sandbox" => false".
  2. Wówczas SMS nie będzie wysyłany do systemu testowego.


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.