WN

WN (https://www.wn.se/forum/index.php)
-   Feedback (https://www.wn.se/forum/forumdisplay.php?f=20)
-   -   Gratis SMS API - Betatestare (https://www.wn.se/forum/showthread.php?t=1058494)

zenda 2013-07-10 21:40

Gratis SMS API - Betatestare
 
Hej alla glada WN:are

Efter några timmars hackande så släpptes precis en ny tjänst som gör det möjligt att SMS:a gratis (max 500 sms/dag) genom ett API.

Vi skulle tycka det vore superschysst om några ville testa tjänsten och vara med i utvecklingen av den från idag, ett tidigt stadium till en framtida mer avancerad tjänst i framtiden.

Om ni är intresserade så anmäl er på:
http://sms.inleed.se/

Hemsidan och tjänsten i övrigt finns det tyvärr inte så mycket och kommentera idag då den är väldigt färsk. Ser ni förbättringsmöjligheter redan nu så tveka inte att skriva!

Tack på förhand!

Anders Larsson 2013-07-10 22:10

En grundläggande säkerhetsdetalj, speciellt som man skickar api-nyckel, är att sidan borde köra SSL. Vem blir avsändare av SMS:et?

zenda 2013-07-10 22:23

Citat:

Ursprungligen postat av Anders Larsson (Inlägg 20473728)
En grundläggande säkerhetsdetalj, speciellt som man skickar api-nyckel, är att sidan borde köra SSL.

Absolut! Det är på G.
Citat:

Ursprungligen postat av Anders Larsson (Inlägg 20473728)
Vem blir avsändare av SMS:et?

Citat:

Ursprungligen postat av sms.inleed.se
Alla våra SMS skickas idag från nummer 0763448100.


BoXon 2013-07-11 15:13

Kommer numren som man skickar till att sparas hos er och ev. säljas vidare och/eller spammas med reklam?

Känns som det borde finnas någon hake, ingenting är gratis. :)

nosnaj 2013-07-11 15:57

Är det ett vanligt abonnemang hos 3 du har? Jag hade kikat med 3 bara för att vara säker, så det verkligen är ok att ge 3e part tillgång till abonnemangets tjänster.
Förhoppningsvis har jag fel och det är ett abonnemang som får göra vad du gör :)

zenda 2013-07-11 19:57

Citat:

Ursprungligen postat av BoXon (Inlägg 20473762)
Kommer numren som man skickar till att sparas hos er och ev. säljas vidare och/eller spammas med reklam?

Känns som det borde finnas någon hake, ingenting är gratis. :)

Nej de kommer inte säljas vidare. Dock loggas alla SMS.

Citat:

Ursprungligen postat av nosnaj (Inlägg 20473765)
Är det ett vanligt abonnemang hos 3 du har? Jag hade kikat med 3 bara för att vara säker, så det verkligen är ok att ge 3e part tillgång till abonnemangets tjänster.
Förhoppningsvis har jag fel och det är ett abonnemang som får göra vad du gör :)

Stämmer bra - Kollat hos Tre att det är OK, vilket de var. Även sparat mailkonversationen ifall att :-)

Conny Westh 2013-07-11 21:03

Citat:

Ursprungligen postat av zenda (Inlägg 20473775)
Nej de kommer inte säljas vidare. Dock loggas alla SMS.



Stämmer bra - Kollat hos Tre att det är OK, vilket de var. Även sparat mailkonversationen ifall att :-)


När du gör affärer med Tre så måste du har skriftliga avtal!

Det duger INTE med mejlkonversation, de ar arméer av Advokater som krossar er om en mygga om de vill.

Har du exempelvis kollat upp att den person du gjort mejlöverenskommelsen med, verkligen har teckningsrätt för firman?

Hur vet du vem du har kommunicerat med? Det kanske är en vaktmästare som har ambitioner att komma upp sig en del.....

zenda 2013-07-11 21:12

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20473779)
När du gör affärer med Tre så måste du har skriftliga avtal!

Det duger INTE med mejlkonversation, de ar arméer av Advokater som krossar er om en mygga om de vill.

Har du exempelvis kollat upp att den person du gjort mejlöverenskommelsen med, verkligen har teckningsrätt för firman?

Hur vet du vem du har kommunicerat med? Det kanske är en vaktmästare som har ambitioner att komma upp sig en del.....

Personen jag fick svar från angående detta var den person som öppnade abonnemanget och som dessutom gjorde ändringar i abonnemanget efter det öppnats. Det som rent teoretiskt sker är att jag lånar ut min telefon till mina vänner och låter de skicka ett SMS eller två, svårt och se något olagligt i det.
Jämförde många operatörer och de som erbjöd det jag letade efter var just Tre.

Om inte annat bjuder jag på fika om ni hälsar på när jag sitter och skakar galler :-)

Wojt 2013-07-11 21:28

Intressant tjänst men inte så bra när man vill ha en riktig avsändare med text på SMS:et.

Frågan jag vill veta är om man kan göra detta med exempelvis Tele 2 men bara för ens eget företag? Strider det mot deras användarvillkor? Vad krävs det för utrustning?

zenda 2013-07-11 21:35

Citat:

Ursprungligen postat av Wojt (Inlägg 20473781)
Intressant tjänst men inte så bra när man vill ha en riktig avsändare med text på SMS:et.

Frågan jag vill veta är om man kan göra detta med exempelvis Tele 2 men bara för ens eget företag? Strider det mot deras användarvillkor? Vad krävs det för utrustning?

Tanken med denna tjänst är att man skall ha möjlighet att svara på SMS:en, då behövs det ett nummer.

Det går utan problem att göra själv. Det du i praktiken gör är att du kopplar en sändare (exempelvis en mobil) till en dator.

Dakota 2013-07-15 01:23

Sjukt bra tjänst. Använder den redan med mycket bra resultat.

Wojt 2013-07-15 12:37

Citat:

Ursprungligen postat av zenda (Inlägg 20473782)
Tanken med denna tjänst är att man skall ha möjlighet att svara på SMS:en, då behövs det ett nummer.

Det går utan problem att göra själv. Det du i praktiken gör är att du kopplar en sändare (exempelvis en mobil) till en dator.

Kan du inte göra så att man kan använda sitt eget nummer/abb via din tjänst? Så tillhandahåller du bara tekniken? :)

zenda 2013-07-15 13:03

Citat:

Ursprungligen postat av Wojt (Inlägg 20473920)
Kan du inte göra så att man kan använda sitt eget nummer/abb via din tjänst? Så tillhandahåller du bara tekniken? :)

Absolut. Om intresse finns så kontakta mig så ordnar vi det.

Conny Westh 2013-07-21 12:54

Funkar inte att få sms koden nu när jag testar....

zenda 2013-07-21 23:02

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20474316)
Funkar inte att få sms koden nu när jag testar....

Koden skickas ut efter att informationen man angav har granskats. Du bör nu fått den :-)

Conny Westh 2013-07-22 11:03

Jag fick koden sent i går kväll, visste inte att den granskas manuellt, trodde det var automatiskt.

Har testat nu, men file_get_contents ska inte användas för att läsa urler har jag fått veta, den är till för lokala filer. Jag vet dock inte vilken rutin man bör använda i PHP för att läsa urler. Det kodexempel som tillhandahölls funkade inte så jag har byggt en klass som löser problemet med åäöÅÄÖ.

PHP-kod:

<?php
////////////////////////////////////////////////////////////////////////////////    
// File: smsutility.php
// Date: 2013-07-21
// Author: Conny Westh, Adopter KB, 073-898 68 61, [email protected]
// UTF-8 med URLEncode
////////////////////////////////////////////////////////////////////////////////    
// Refgistrera dig och skaffa en sms-nyckel på http://sms.inleed.se 
// Alla SMS skickas idag från nummer 0763448100. 
////////////////////////////////////////////////////////////////////////////////    
class SmsUtility
{
    var 
$smskey;
    
    function 
__construct($smskey)
    {
        
$this->smskey $smskey;
    }
    
    function 
__destruct()
    {
    }
    
    function 
send($recipient$message)
    {
        
$encodedMessage $this->url_encode($message);
        
$url "http://sms.inleed.se/skickaSMS/?nummer=" $recipient "&text=" $encodedMessage "&nyckel=" $this->smskey;
        echo 
$url "\n";
        try
        {
            
file_get_contents($url); 
        }
        catch (
Exception $e)
        {
            echo 
$e;
            throw new 
Exception($e);
        }
    }

    function 
url_encode($string)
    {
         return 
rawurlencode(utf8_encode($string));
    }
     
    function 
url_decode($string)
    {
         return 
utf8_decode(rawurldecode($string));
    }    
}

class 
SmsUtilityTest
{
    function 
__construct()
    {
        echo 
"********************************************************************************\n";
        echo 
"** Begin Test...\n";
        echo 
"********************************************************************************\n";
        
$this->main();
    }
    
    function 
main()
    {
        
$smskey "<här ska du klippa in den 50 tecken långa sms-nyckeln>";
        
$recipient1 "070..."// Här skriver du in en mottagares mobilnummer
        
$recipient2 "073..."// Här skriver du in en annan mottagares mobilnummer
        
$message1 "Hejsan Conny,\nNu fungerar SmsUtility med specialtecken och källkoden finns i din mejl med (åäöÅÄÖ)!";
        
        
$sms = new SmsUtility($smskey);
        
$sms->send($recipient1$message1);
        
$sms->send($recipient2$message1);
    }
    
    function 
__destruct()
    {
        echo 
"********************************************************************************\n";
        echo 
"** End Test...\n";
        echo 
"********************************************************************************\n";
    }
}
 
new 
SmsUtilityTest();
   
?>


Conny Westh 2013-07-22 22:46

Citat:

Ursprungligen postat av zenda (Inlägg 20474344)
Koden skickas ut efter att informationen man angav har granskats. Du bör nu fått den :-)

Koden som du har på webbsidan är inte komplett så den går att köra. Du får gärna använda mina klasser som exempel, jag har testat så de funkar med åäöÅÄÖ så UTF-8 funkar helt korrekt.

Jag har fått flera frågor från utvecklare som vill ha hjälp, med att få koden att funka. Så jag tänkte det vore just att låta alla som vill köra klasserna göra det. Det är färdigtestad kod som fungerar.

Det är ju helt onödigt att andra ska behöva lägga ner tid på att utveckla något som redan finns, och är klart att använda, menar jag.

zenda 2013-07-23 00:40

Jag har hört att jorden är platt - måste stämma :-)
Skämt åsido, hoosten du kör ifrån kan neka file_get_contents, vilket jag ser iof att du ändå använder i din klass. UTF8 är nödvändigt vilket man också kan läsa sig till på siten.
Om man inte vill använda file_get_contents pga dåliga rykten på stan så finns cURL.

Kör hårt!

Conny Westh 2013-07-23 05:59

Citat:

Ursprungligen postat av zenda (Inlägg 20474400)
Jag har hört att jorden är platt - måste stämma :-)
Skämt åsido, hoosten du kör ifrån kan neka file_get_contents, vilket jag ser iof att du ändå använder i din klass. UTF8 är nödvändigt vilket man också kan läsa sig till på siten.
Om man inte vill använda file_get_contents pga dåliga rykten på stan så finns cURL.

Kör hårt!

Ja, nu har jag fixat till så min klass använder curl i stället för file_get_contents() så den koden ska tydligen vara något bättre att använda, den verkar funka på sms.inleed.se också enligt mina något rudimentära tester.

Jag kör en console-app från min lokala PC så jag drabbas inte av problem med att en del hostar spärrat file_get_contents(), men vän av ordning så använder jag de rutiner som rekommenderas, så jag har uppdaterat min klass enligt de principerna.

PHP-kod:

<?php
////////////////////////////////////////////////////////////////////////////////    
// File: smsutility.php
// Date: 2013-07-21 // created file_get_contents()
// Date: 2013-07-23 // added cURL...
// Author: Conny Westh, Adopter KB, 073-898 68 61, [email protected]
// UTF-8 med URLEncode
////////////////////////////////////////////////////////////////////////////////    
// Refgistrera dig och skaffa en sms-nyckel på http://sms.inleed.se 
// Alla SMS skickas idag från nummer 0763448100. 
////////////////////////////////////////////////////////////////////////////////    
class SmsUtility
{
    var 
$smskey;
    
    function 
__construct($smskey)
    {
        
$this->smskey $smskey;
    }
    
    function 
__destruct()
    {
    }
    
    function 
send($recipient$message)
    {
        
$encodedMessage $this->url_encode($message);
        
$url "http://sms.inleed.se/skickaSMS/?nummer=" $recipient "&text=" $encodedMessage "&nyckel=" $this->smskey;
        echo 
$url "\n";
        try
        {
            
$this->curl_execute($url); // Using cURL...
            // $this->file_execute($url); // Using file_get_contents()...
        
}
        catch (
Exception $e)
        {
            echo 
$e;
            throw new 
Exception($e);
        }
    }

    
// To use cURL on Windows-platform you need to 
    // copy libeay32.dll and ssleay32.dll to Windows\System32
    // and uncomment ;php_libcurl.dll in php.ini, the maybe reboot PC...
    
function curl_execute($url)
    {
        
$ch curl_init($url);
        
curl_setopt($chCURLOPT_RETURNTRANSFERtrue); 
        
curl_setopt($chCURLOPT_HEADERfalse);
        
curl_exec($ch);
        
curl_close($ch);
    }
    
    function 
file_execute($url)
    {
        
file_get_contents($url); 
    }
     
    function 
url_encode($string)
    {
         return 
rawurlencode(utf8_encode($string));
    }
     
    function 
url_decode($string)
    {
         return 
utf8_decode(rawurldecode($string));
    }    
}

class 
SmsUtilityTest
{
    function 
__construct()
    {
        echo 
"********************************************************************************\n";
        echo 
"** Begin Test...\n";
        echo 
"********************************************************************************\n";
        
$this->main();
    }
    
    function 
main()
    {
        
$smskey "<Den 50 siffriga sms-nyckeln ska läggas in här>";
        
$recipient1 "070..."// Mottagare 1 mobilnummer
        
$recipient2 "073..."// Mottagare 2 mobilnummer
        
$message1 "Hejsan Conny,\nNu fungerar SmsUtility med specialtecken och källkoden finns i din mejl med (åäöÅÄÖ)!";
        
$message2 "Hejsan Conny,\nNu fungerar SmsUtility.php med cURL och (åäöÅÄÖ)!";
        
        
$sms = new SmsUtility($smskey);
        
$sms->send($recipient1$message2);
        
$sms->send($recipient2$message2);
    }
    
    function 
__destruct()
    {
        echo 
"********************************************************************************\n";
        echo 
"** End Test...\n";
        echo 
"********************************************************************************\n";
    }
}
 
new 
SmsUtilityTest();
   
?>


Conny Westh 2013-07-23 12:52

Citat:

Ursprungligen postat av zenda (Inlägg 20474400)
Jag har hört att jorden är platt - måste stämma :-)
Skämt åsido, hoosten du kör ifrån kan neka file_get_contents, vilket jag ser iof att du ändå använder i din klass. UTF8 är nödvändigt vilket man också kan läsa sig till på siten.
Om man inte vill använda file_get_contents pga dåliga rykten på stan så finns cURL.

Kör hårt!

Funkar det att köra POST också, eller funkar det bara med GET?

jonny 2013-07-23 14:53

Ska numret anges utan landskod?

MusikMixen 2013-07-23 15:45

Citat:

Ursprungligen postat av jonny (Inlägg 20474434)
Ska numret anges utan landskod?

Yes..
0736.... räcker!

MusikMixen 2013-07-23 18:28

Conny: När du ändå är igång. Kan du inte fixa ihop ett där man fyller i nummer och meddelande sedan trycker skicka. När det är skickat kommer man till en annan sida där man kan skicka igen. Som det är nu, står det bara "Skickar...." sedan händer det inte mycket mer.

Conny Westh 2013-07-23 19:16

Citat:

Ursprungligen postat av MusikMixen (Inlägg 20474443)
Conny: När du ändå är igång. Kan du inte fixa ihop ett där man fyller i nummer och meddelande sedan trycker skicka. När det är skickat kommer man till en annan sida där man kan skicka igen. Som det är nu, står det bara "Skickar...." sedan händer det inte mycket mer.

Min klass är en API-klass, och har en demo i en Console-applikation.

Det finns en echo som man kan ta bort om man använder den i en riktig implementation och sen får man bygga ett användargränssnitt, ovanpå det. Men sure det går ju enkelt att snitta ihop en app med ett inmatningsfält och en skicka knapp. Fast man bör ju komma till samma sida, så den anropar sig själv, om man kör en webbapp.

Får se vad jag kommer fram till efter nästa fikapaus.... Jag kanske överraskar mig själv....

Conny Westh 2013-07-24 15:08

OK, här kommer en komplett webblösning där man kan skicka SMS via sms.inleed.se och deras sms-API.

autoload.php ska ligga i en underkatalog som heter 'lib'.
PHP-kod:

<?php
// File: autoload.php
// Modified by Conny Westh 2012-09-13
function __autoload($class_name
{
    if(
file_exists($class_name '.php')) 
    {
        require_once(
$class_name '.php');    
    } 
    else 
    {
        throw new 
Exception("Kan inte ladda klass: $class_name.");
    }
}
?>

SmsUtility.php är klassen som anropar API-funktionen hos sms.inleed.se.
PHP-kod:

<?php
////////////////////////////////////////////////////////////////////////////////    
// File: SmsUtility.php
// Date: 2013-07-21 // created file_get_contents()
// Date: 2013-07-23 // added cURL...
// Author: Conny Westh, Adopter KB, 073-898 68 61, [email protected]
// UTF-8 med URLEncode
////////////////////////////////////////////////////////////////////////////////    
// Refgistrera dig och skaffa en sms-nyckel på http://sms.inleed.se 
// Alla SMS skickas idag från nummer 0763448100. 
////////////////////////////////////////////////////////////////////////////////    
class SmsUtility
{
    var 
$smskey;
    
    function 
__construct($smskey)
    {
        
$this->smskey $smskey;
    }
    
    function 
__destruct()
    {
    }
    
    function 
send($recipient$message)
    {
        
$encodedMessage $this->url_encode($message);
        
$url "http://sms.inleed.se/skickaSMS/?nummer=" $recipient "&text=" $encodedMessage "&nyckel=" $this->smskey;
        
// echo $url . "\n";
        
try
        {
            
$this->curl_execute($url); // Using cURL...
            // $this->file_execute($url); // Using file_get_contents()...
        
}
        catch (
Exception $e)
        {
            echo 
$e;
            throw new 
Exception($e);
        }
    }

    
// To use cURL on Windows-platform you need to 
    // copy libeay32.dll and ssleay32.dll to Windows\System32
    // and uncomment ;php_libcurl.dll in php.ini, the maybe reboot PC...
    
function curl_execute($url)
    {
        
$ch curl_init($url);
        
curl_setopt($chCURLOPT_RETURNTRANSFERtrue); 
        
curl_setopt($chCURLOPT_HEADERfalse);
        
curl_exec($ch);
        
curl_close($ch);
    }
    
    function 
file_execute($url)
    {
        
file_get_contents($url); 
    }
     
    function 
url_encode($string)
    {
         return 
rawurlencode(utf8_encode($string));
    }
     
    function 
url_decode($string)
    {
         return 
utf8_decode(rawurldecode($string));
    }    
}

?>


Webbsidan SmsForm.php för att testa applikationen. Man behöver först skaffa en sms-nyckel från http://sms.inleed.se för att köra detta. SMS-Nyckeln matar man in i det första fältet på webbsidan. Men det är ganska självförklarande när man väl ser webbsidan.
PHP-kod:

<html>
    <body>
            <?php
                
////////////////////////////////////////////////////////////////////////////////    
                // File: SmsForm.php
                // Date: 2013-07-24 // created file_get_contents()
                // Author: Conny Westh, Adopter KB, 073-898 68 61, [email protected]
                ////////////////////////////////////////////////////////////////////////////////    
                // Använder SmsUtility.php och /lib/autoload.php
                // För att starta PHPs inbyggda webserver som localhost på port 8000
                // så kör man "PHP -S localhost:8000" på kommandoraden. Sen kan man köra 
                // PHP SmsForm.php och testköra applikationen.
                ////////////////////////////////////////////////////////////////////////////////    
                // Registrera dig och skaffa en sms-nyckel på http://sms.inleed.se 
                // Alla SMS skickas idag från nummer 0763448100. 
                ////////////////////////////////////////////////////////////////////////////////    
                
require_once('/lib/autoload.php');
            
                
$debug=0;
                
$recipientPhoneNumber $_REQUEST['recipient'];
                
$textMessage $_REQUEST['message'];
                
$smsKey $_REQUEST['smsKey'];

                if (
$debug>=1)
                {    
                    print 
'<br>';
                    print 
'Mobilnummer: [';
                    print (
$recipientPhoneNumber);
                    print 
']<br>\n';
                    print 
'Meddelande: [';
                    print (
$textMessage);
                    print 
']<br>\n';
                    print 
'<br>';
                }

                
// Skicka sms...                
                
try
                {
                    
$sms = new SmsUtility($smsKey);
                    
$sms->send($recipientPhoneNumber$textMessage);
                    echo 
"Meddelande: [" $textMessage "] skickat till [" $recipientPhoneNumber "].<br>\n";
                }
                catch (
Exception $e)
                {
                    echo 
"Error: " $e->getMessage() . "<br>\n";
                }
                
            
?>

        
            <h1>Skicka SMS via sms.inleed.se</h1>
            <!-- <form action=selfpost.php method=POST> -->
            <form action="<?php echo $_SERVER['PHP_SELF'];?>"  method="POST">
            <p>
            SMS Key (ca 50 tecken): <input type=text name=smsKey value="<?php echo $smsKey ?>" size=70 maxlength=200></p>
            <p>
            Mottagare (mobilnummer 073...): <input type=text name=recipient value="<?php echo $recipientPhoneNumber ?>" size=15 maxlength=15></p>
            <p>
            Meddelande: <input type=text name=message value="<?php echo $textMessage ?>" size=160 maxlength=160></p>
            <p>
            <input type="submit" value="Skicka"></p>
        
        </form>
        
        <?php
        
        ?>
    </body>
</html>


zenda 2013-07-24 21:34

ConnyWesth goes wild! Det gillas :-)

MusikMixen 2013-07-24 21:41

Tack Conny! Du har möjligtvis inte en liknande för linux som man kan använda på sin sida.. :)

Conny Westh 2013-07-25 01:13

Citat:

Ursprungligen postat av MusikMixen (Inlägg 20474491)
Tack Conny! Du har möjligtvis inte en liknande för linux som man kan använda på sin sida.. :)

Detta är skrivet i PHP så det ska vara exakt samma kod för Linux!

Om man lägger ut den på en öppen sida kanske man ska lägga till escape-skydd mot injection-kod, ska strax fixa det.

Conny Westh 2013-07-26 00:41

Nu har jag lagt upp sidan på http://test.verimentor.se/inleed/sms/ så det går att köra publikt för den som vill testa utan att installera på egen burk.

Detta rullar på en Linuxserver. Jag såg att man måste ändra includepath från '/lib/...' till 'lib/...', detta beror på att det funkade lokalt för mig för jag satte upp den lokala katalogen i min testrigg att vara root men så är det normalt inte vid en "riktig" installation.

Sen måste man även vara noga med att döpa filnamnet 'SmsUtility.php' eftersom Linux-miljön är känslig för gemener/versaler vilket inte Windows-miljön är. Men i övrigt är koden exakt densamma i Windows och Linux-miljön.

Varsågod och testkör, men registrera dig först på sms.inleed.se så du får en sms-nyckel.

Conny Westh 2013-07-26 02:00

Här är källkoden till den uppdaterade SmsForm.php. De övriga filerna 'autoload.php' och 'SmsUtility.php' är oförändrade:

PHP-kod:

<html>
    <body>
            <?php
                
////////////////////////////////////////////////////////////////////////////////    
                // File: SmsForm.php
                // Date: 2013-07-24 // created file_get_contents()
                // Date: 2013-07-26 // fixade bug med sökväg till autoload.php
                // Author: Conny Westh, Adopter KB, 073-898 68 61, [email protected]
                ////////////////////////////////////////////////////////////////////////////////    
                // Använder SmsUtility.php och /lib/autoload.php
                // För att starta PHPs inbyggda webserver som localhost på port 8000
                // så kör man "PHP -S localhost:8000" på kommandoraden. Sen kan man köra 
                // PHP SmsForm.php och testköra applikationen.
                ////////////////////////////////////////////////////////////////////////////////    
                // Registrera dig och skaffa en sms-nyckel på http://sms.inleed.se 
                // Alla SMS skickas idag från nummer 0763448100. 
                ////////////////////////////////////////////////////////////////////////////////    
                
require_once("lib/autoload.php");
            
                
$debug=0;
                
$recipientPhoneNumber $_REQUEST['recipient'];
                
$textMessage $_REQUEST['message'];
                
$smsKey $_REQUEST['smsKey'];

                if (
$debug>=1)
                {    
                    print 
'<br>';
                    print 
'Mobilnummer: [';
                    print (
$recipientPhoneNumber);
                    print 
']<br>\n';
                    print 
'Meddelande: [';
                    print (
$textMessage);
                    print 
']<br>\n';
                    print 
'<br>';
                }

                
// Skicka sms...                
                
try
                {
                    
$sms = new SmsUtility($smsKey);
                    
$sms->send($recipientPhoneNumber$textMessage);
                    echo 
"Meddelande: [" $textMessage "] skickat till [" $recipientPhoneNumber "].<br>\n";
                }
                catch (
Exception $e)
                {
                    echo 
"Error: " $e->getMessage() . "<br>\n";
                }
                
            
?>

        
            <h1>Skicka SMS via sms.inleed.se</h1>
            <!-- <form action=selfpost.php method=POST> -->
            <form action="<?php echo $_SERVER['PHP_SELF'];?>"  method="POST">
            <p>
            SMS Key (ca 50 tecken): <input type=text name=smsKey value="<?php echo $smsKey ?>" size=70 maxlength=200></p>
            <p>
            Mottagare (mobilnummer 073...): <input type=text name=recipient value="<?php echo $recipientPhoneNumber ?>" size=15 maxlength=15></p>
            <p>
            Meddelande (max 160 tecken): <input type=text name=message value="<?php echo $textMessage ?>" size=160 maxlength=160></p>
            <p>
            <input type="submit" value="Skicka"></p>
        
        </form>

        <p>För att läsa mer om denna sida kan du besöka tåden på Wemasternetwork som är ursprunget till denna kod. <a href="http://www.wn.se/t1058494.html">Tråd angående Inleed SMS-tjänst</a>.</p>        
        <p>För att registrera dig hos Inleed.se för att få en sms-nyckel gå till denna länk: <a href="http://sms.inleed.se">http://sms.inleed.se</a> SMS-tjänst.</p>        
        <p>Author: Conny Westh, Date Created: 2013-07-21, Last updated: 2013-07-26, <a href="http://test.verimentor.se/inleed/sms/">http://test.verimentor.se/inleed/sms/</a></p>
        <?php
        
        ?>
    </body>
</html>


Conny Westh 2013-07-26 21:32

Är det någon som använd koden och fått den att fungera?

En användare har rapporterat att det blev konstigt med teckenkodningen i Chrome så jag har fixat det nu.

Här kommer en uppdatering av webbsidan för att testköra.... med fungerande teckenkodning även i Chrome...
PHP-kod:

<!DOCTYPE html>
<html>
    <head>
        <!--
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        -->
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <meta name="generator" content="Conny Westh 2013-07-26" />
        <meta name="keywords" content=" skicka, sms, inleed, adopter, conny, westh, webmaster, network" />
        <meta name="description" content=" Skicka SMS" />
        <title>Skicka SMS med sms.Inleed.se</title>
    </head>
    <body>
            <?php
                
////////////////////////////////////////////////////////////////////////////////    
                // File: SmsForm.php
                // Date: 2013-07-24 // created file_get_contents()
                // Date: 2013-07-26 // fixade bug med sökväg till autoload.php
                // Author: Conny Westh, Adopter KB, 073-898 68 61, [email protected]
                ////////////////////////////////////////////////////////////////////////////////    
                // Använder SmsUtility.php och /lib/autoload.php
                // För att starta PHPs inbyggda webserver som localhost på port 8000
                // så kör man "PHP -S localhost:8000" på kommandoraden. Sen kan man köra 
                // PHP SmsForm.php och testköra applikationen.
                ////////////////////////////////////////////////////////////////////////////////    
                // Registrera dig och skaffa en sms-nyckel på http://sms.inleed.se 
                // Alla SMS skickas idag från nummer 0763448100. 
                ////////////////////////////////////////////////////////////////////////////////    
                
require_once("lib/autoload.php");
            
                
$debug=0;
                
$recipientPhoneNumber $_REQUEST['recipient'];
                
$textMessage $_REQUEST['message'];
                
$smsKey $_REQUEST['smsKey'];

                if (
$debug>=1)
                {    
                    print 
'<br>';
                    print 
'Mobilnummer: [';
                    print (
$recipientPhoneNumber);
                    print 
']<br>\n';
                    print 
'Meddelande: [';
                    print (
$textMessage);
                    print 
']<br>\n';
                    print 
'<br>';
                }

                
// Skicka sms...                
                
try
                {
                    
$sms = new SmsUtility($smsKey);
                    
$sms->send($recipientPhoneNumber$textMessage);
                    echo 
"Meddelande: [" $textMessage "] skickat till [" $recipientPhoneNumber "].<br>\n";
                }
                catch (
Exception $e)
                {
                    echo 
"Error: " $e->getMessage() . "<br>\n";
                }
                
            
?>

        
            <h1>Skicka SMS via sms.inleed.se</h1>
            <!-- <form action=selfpost.php method=POST> -->
            <form action="<?php echo $_SERVER['PHP_SELF'];?>"  method="POST">
            <p>
            SMS Key (ca 50 tecken): <input type=text name=smsKey value="<?php echo $smsKey ?>" size=70 maxlength=200></p>
            <p>
            Mottagare (mobilnummer 073...): <input type=text name=recipient value="<?php echo $recipientPhoneNumber ?>" size=15 maxlength=15></p>
            <p>
            Meddelande (max 160 tecken): <input type=text name=message value="<?php echo $textMessage ?>" size=160 maxlength=160></p>
            <p>
            <input type="submit" value="Skicka"></p>
        
        </form>

        <p>
        Syftet med denna sida är att vara elementärt funktionell och visa exempel på hur tekniken fungerar, inte att vara en fancy webbdesign!<br/>
        För att läsa mer om denna sida kan du besöka diskussionstråden på Wemasternetwork som är ursprunget till denna kod. <a href="http://www.wn.se/t1058494.html">Diskussionstråd angående Inleed SMS-tjänst</a>.<br/>        
        För att registrera dig hos Inleed.se för att få en sms-nyckel gå till denna länk: <a href="http://sms.inleed.se">http://sms.inleed.se</a> SMS-tjänst.<br/>        
        Author: Conny Westh, Date Created: 2013-07-21, Last updated: 2013-07-26, <a href="http://test.verimentor.se/inleed/sms/">http://test.verimentor.se/inleed/sms/</a><br/>
        </p>
        <?php
        
        ?>
    </body>
</html>


zenda 2013-07-29 10:07

ConnyWesth, om du vill så släng upp koden på Github så kan vi länka till denna från siten.

Conny Westh 2013-07-29 12:23

Ok, har slängt upp den första koden på GitHub: https://github.com/connywesth/SendSmsViaInleedSe

Det finns inte mycket till hjälp men det är en ganska enkel kod i grunden så vi får väl addera lite hjälptexter så småningom....

Ska texterna vara på engelska tycker du eller är det bättre med svenska? Ni har väl bara svenska användare av denna tjänst?

zenda 2013-07-29 12:33

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20474715)
Ok, har slängt upp den första koden på GitHub: https://github.com/connywesth/SendSmsViaInleedSe

Det finns inte mycket till hjälp men det är en ganska enkel kod i grunden så vi får väl addera lite hjälptexter så småningom....

Ska texterna vara på engelska tycker du eller är det bättre med svenska? Ni har väl bara svenska användare av denna tjänst?

Cool! Slänger upp en länk. Tjänsten fungerar än bara mot svenska mobiler så svenska kanske är att föredra.

I dagarna lägger jag upp API för mottagande av SMS.

zenda 2013-07-31 07:46

Nu har jag lagt upp möjligheten att ta emot SMS. Läs gärna på hemsidan hur det är upplagt och om ni tror det är en bra lösning. Andra lösningen jag hade tänkt mig är att man som nyckelinnehavare får ange en unik kod som man måste ange i varje SMS man skickar in.

Reager 2013-07-31 08:05

Citat:

Ursprungligen postat av zenda (Inlägg 20474813)
Nu har jag lagt upp möjligheten att ta emot SMS. Läs gärna på hemsidan hur det är upplagt och om ni tror det är en bra lösning. Andra lösningen jag hade tänkt mig är att man som nyckelinnehavare får ange en unik kod som man måste ange i varje SMS man skickar in.

En annan lösning är att du pushar ut svaret till användaren, t.ex. genom att denne anger en reply-URL i anropet till dig. Kan spara lite anrop till din server om tjänsten blir stor.

Annars tycker jag att din lösning verkar bra.

zenda 2013-07-31 08:17

Citat:

Ursprungligen postat av Reager (Inlägg 20474814)
En annan lösning är att du pushar ut svaret till användaren, t.ex. genom att denne anger en reply-URL i anropet till dig. Kan spara lite anrop till din server om tjänsten blir stor.

Annars tycker jag att din lösning verkar bra.

Inte helt med på hur du menar... Om du har tid så förklara gärna mer. Alltid roligt med andras idéer på lösningar!

Clarence 2013-07-31 10:12

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20474715)
Ok, har slängt upp den första koden på GitHub: https://github.com/connywesth/SendSmsViaInleedSe

Det finns inte mycket till hjälp men det är en ganska enkel kod i grunden så vi får väl addera lite hjälptexter så småningom....

Ska texterna vara på engelska tycker du eller är det bättre med svenska? Ni har väl bara svenska användare av denna tjänst?

Eftersom du brukar vara vän av best practices:

* All input, inklusive PHP_SELF måste escapas. I bästa fall, beroende på SMS-tjänstens säkerhet, är enda sårbarheten XSS.
* composer.json bör användas i nya bibliotek för att underlätta pakethantering (något som väl du är väldigt förtjust i??)
* Projektet saknar enhetstester. Istället ligger där ett förhållandevis meningslöst test med manuell kontroll. PHPUnit tester är mer eller mindre standard i PHP-communityn.
* PSR-2 kodnings-standard är att föredra. Skaffa phpcs och phpcs fixer för att enforcea (finns som plugin till många kompetenta editors).
* Koden bör dokumenteras med standard docblocks så att PHPDocumentor kan användas.
* Det ligger en README.txt fil. Dels innehåller den copy and paste info som inte är relevant och sedan brukar det vara best practice att använda MarkDown på github. Sen kan jag inte se något som kräver mer än PHP 5.3, men jag kanske har missat något?
* PSR-0 autoloading är de facto standard nu för tiden. Gör att biblioteket går att använda med alla kompatibla autoloaders.
* Ett externt bibliotek bör ligga i ett eget namespace (vendor + lib).
* Din SmsForm.php har mer logik än nödvändigt. Vän av separation är vän av ordning.

Reager 2013-07-31 13:10

Några tecken!

Reager 2013-07-31 13:11

Citat:

Ursprungligen postat av zenda (Inlägg 20474816)
Inte helt med på hur du menar... Om du har tid så förklara gärna mer. Alltid roligt med andras idéer på lösningar!

Det jag tänker mig är så här.

Anrop till tjänsten
skickaSMS/?nummer=0700000001&text=Hejsan&nyckel=minkey&reply url=enUrlHär

Vid svar på mitt SMS så gör din tjänst sedan ett anrop till det som angivits som replyURL, vilket gör att jag själv på ett enkelt sätt kan hålla koll på meddelanden genom att skicka med en identifierare i replyURL och du slipper att folk pollar din server efter svar.


Alla tider är GMT +2. Klockan är nu 16:56.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson