SMS senden mit innosend.de

hallo,
hier ein script um in der V2 mit dem angegebenen anbieter für 3ct eine sms zu senden… 10sms sind bei anmeldung kostenlos… dazu gibt es die möglichkeit den kontostand abzufragen und z.b. im dashboard anzeigen zu lassen!


<?
  $text = "test sms aus dem ips v2";
  $benutzer = "benutzername";
  $passwort="passwort";
  $empfanger="0173*********";
  

//***** sms senden

  $text = rawurlencode(substr($text, 0, 160));
  $url = "http://www.innosend.de/gateway/sms.php?id=$benutzer&pw=$passwort&text=$text&type=2&empfaenger=$empfanger";
  fopen($url, 'r')

//***** Kontostandsabfrage

  set_time_limit(25);
  sleep(20); //*****20sec. warten damit die neuen daten auf jeden fall beim provider generiert sind
  $url="http://www.innosend.de/gateway/konto.php?id=$benutzer&pw=$passwort";
  $kontostand=fgets(fopen($url, 'r'));
  SetValueString(!VARIABLENID!, $kontostand);
   
?>

in diesem script muss in Zeile 21 noch die ID der StringVariable eingetragen werden in die der Konotstand abgelegt werden soll!!!

viel spass

Hab ich mich auch gerade mal angemeldet.

Das wäre natürlich auch Klasse im WebFront mit individueller Texteingabe über das in der 2.2 integrierte Keyboard !

hi,
müsste doch eigentlich gehen… einfach in $text den text reinschreiben lassen und in $empfänger den empfänger und dann sollte das auch gehen.
du kannst sogar mehr als 160zeichen versenden. dann kostet ne sms um die 7ct und man kann sie verketten… ist für eine solche anwendung vielleicht garnich übel… musst dazu allerdings den type des gateways in der adresszeile von „2“ auf „4“ ändern ;o)

PS: man kann über diesen service auch MMS mit bild etc. versenden…

mir ist gerade noch eingefallen… wenn man den teureren gatewaytype also „4“ nimmt kann man noch einen absender angeben ;o) dann kann auch jeder gleich auf das normale handy zurückantworten… oder mit smswitch für den empfang koppeln und gleich im webfront oder designer die empfangene sms anzeigen lassen ;o)

Hallo pinki99,

vielen Dank für das tolle Script :slight_smile:

Funktioniert super!

In Zeile 12 fehlt nur ein „;“ am ende.

Schöne Grüße,
Dennis

Nö. Beste Lösung ist clickatel. Diese ist nämlich seit 2.2 nativ in IPS integriert. :wink:

Die Integration ist zwar super, aber die beste Lösung ist Clickatell nicht. Mit meiner portierten Handynummer funktioniert es nämlich nicht …

Ich hätte noch einen Codeschnipsel für innosend.de zu ergänzen:
Wenn der Status beim HTTP-Request nicht „100“ für OK war, wird die SMS nochmal per SMTP rausgeschickt (dafür muss natürlich eine entsprechende SMTP-Instanz angelegt sein):

$id = "id123";
$pw = "passwort";
$empfaenger = "0049177...";
$type = "2"; // 2 quick-dirty
// $smstext sollte per Aufruf übergeben werden, ansonsten:
// $smstext="test234";

$smstext1 = urlencode("[IPS] ".$smstext);
$result = file_get_contents("http://www.innosend.de/gateway/sms.php?id=".$id."&pw=".$pw."&type=".$type."&text=".$smstext1."&reply=1&reply_email=replyadresse@domain.com&empfaenger=".$empfaenger."&absender=".$empfaenger);

// wenn nicht ok dann per smtp senden
$result1 = substr(stristr($result,"100"),0,3);
IF (($result1 != "100") OR ($result == FALSE) OR ($result1 = FALSE))
  { SMTP_sendmail(27114,$id."#".$pw."#".$empfaenger."#".$empfaenger,"[IPS] ".$smstext);
  }

Grundsätzlich ist SMTP auch gut, dauert aber bis zu 1 Minute länger, weil das Postfach bei innosend.de nur minütlich abgefragt wird. Trotzdem meine ich, bei ganz wichtigen Benachrichtigungen ist SMTP als Backup nicht ganz schlecht - kann ja immer mal sein, daß HTTP nicht auf Anhieb funktioniert hat.

Danke für das script
Bin gerade in Florida und mein Haus haelt mich auf dem laufende.
Habe das script 30 Minuten vor abflug eingespielt

Sent from my GT-I9000 using Tapatalk

das freut mich aber das noch einige andere innosend für sich entdeckt haben.
mit clickatel hatte ich immer so meine probleme… und nur weil etwas nativ eingebunden ist muss es ja noch nicht zwangsläufig besser sein.
mir gefiel damals eben das der preis geringer war und die sms schneller ankamen. dazu kann ich auch mms und der gleichen verschicken oder sms größer 160zeichen. evtl kann clickajens das ja mittlerweile auch.

was auf jeden fall besser gewurden ist mit innosend, ich habe keine sms mehr die abgebucht wurden aber nicht angekommen sind.

ich freu mich das mal jemand was von mir brauchen konnte!
viele grüße
Danny

Ja, Dein Script hat mir auch geholfen. Auch wenn ich über den Beitrag erst gestolpert bin, nachdem ich mir selbst was mit der API-Dokumentation von Innosend gebastelt hatte :smiley:

Na ja - zwischendurch hab ich immer mal das Problem, daß die billigen Typ2-SMS nicht ankommen. Möglicherweise liegt das daran, daß meine Nummer mal portiert wurde. Für echt wichtige Benachrichtigungen nehme ich halt Typ4, die sind idR schon auf dem handy, bevor IP-Symcon sie rausgeschickt hat :stuck_out_tongue:
Jedenfalls läuft es deutlich besser als mit Clickatell, und die AGB können sich im Vergleich zu anderen auch gut sehen lassen.

Gruß
Karsten

Ich würde ja die SMS über teammessage.de versenden. Da kostet die SMS zwar 10ct, aber man kann den Versand über https triggern. Mit innosend.de scheint das nicht möglich zu sein. Bei doch ziemlich vertraulichen INformation im HTTP-Request würde ich eine unverschlüsselte Übertragung nicht empfehlen.
Bei innosend kostet das „direkt deutsche Qualitätsrouting auch 8ct“

Na ja, lt. API-Beschreibung kann Innosend das wohl auch, hab ich allerdings noch nicht probiert. Bei smskaufen.com (dem gleichen Anbieter, aber Portal für Geschäftskunden) geht das auch ohne Übermittlung des Passwortes, man verwendet stattdessen einen API-Schlüssel.
Grundsätzlich ist https natürlich besser, obwohl außer im internen Hausnetz vermutlich niemand so schnell das Passwort für ein SMS-Portal sniffen wird (so alt ist meine Tochter noch nicht …). Und meine Inhalte in den IP-Symcon-SMS sind nicht wirklich hochvertraulich :wink:

Aber gut, daß es verschiedene Anbieter auch in D gibt, Wettbewerb belebt ja das Geschäft. Und per PHP ansteuerbar sind wohl inzwischen fast alle.

arbeitet denn noch jemand aktuell mit innosend ?
hatte versucht clickatell zu aktivieren, bin aber an deren Seite gescheitert. :frowning:
vielleicht werde ich mich mal an einem Modul versuchen für inno

ja, smskaufen.com (GK-Portal von innosend) ist hier nach wie vor im Einsatz, funktioniert prima.
Allerdings meine ich wahrgenommen zu haben, dass das Portal ausläuft und der Anbieter eine neue Plattform aufgebaut hat - vermutlich mit wieder anderer API.

Was brauchst Du denn konkret ?

Bei mir geht´s per SMTP raus an T2@smskaufen.com
Trigger dann im Script wie folgt:

<?
// SMS-Versand per Innosend.de
//innosend.com: $id = "benutzername";
//innosend.de $pw = "passwort";
//smskaufen.com:
$id = "benutzerid";
$apikey = "827bfc45823423423708f54354535698363457e4b65557fb";
$empfaenger = "004916300012345";
$type = "4"; // 4 ordentlich mit Absender
// $smstext sollte per Aufruf übergeben werden
// $smstext="test234";
// Test SMSkaufen   $smstext = file("http://www.smskaufen.com/sms/gateway/sms.php?id=tundk&pw=passwort&type=4&text=Die+Nachricht+wurde+ueber+smskaufen+versendet&empfaenger=004916300012345&absender=004916300012345");

$smstext1 = urlencode("IPS ".$smstext);
//innosend.de: $apiurl = "http://www.innosend.de/gateway/sms.php?id=".$id."&pw=".$pw."&type=".$type."&text=".$smstext1."&reply=1&reply_email=deineadresse@domain.de&empfaenger=".$empfaenger."&absender=".$empfaenger;
$apiurl = "http://www.smskaufen.com/sms/gateway/sms.php?id=".$id."&apikey=".$apikey."&type=".$type."&text=".$smstext1."&reply=1&reply_email=deineadresse@domain.de&empfaenger=".$empfaenger."&absender=".$empfaenger;
// echo $apiurl;
$result1 = file_get_contents($apiurl, NULL, NULL, 0, 3);

// wenn nicht ok dann per smtp senden
// alter Versuch: $result1 = substr(stristr($result,"100"),0,3); (falls URL komplett eingelesen wurde)
IF (($result1 != "100") OR ($result1 == FALSE))
//innosend.de:  { SMTP_sendmail(27114 /*[Technik\SMS (smskaufen.com)\.SMS SMTP (innosend.de)]*/,$id."#".$pw."#".$empfaenger."#".$empfaenger,"[IPS] ".$smstext);
  { SMTP_sendmail(39939 /*[Technik\SMS (smskaufen.com)\.SMS SMTP (smskaufen.com)]*/,$id."#".$apikey."#".$empfaenger."#".$empfaenger,"[IPS] ".$smstext);
    WFC_SendNotification(34133 /*[kt1]*/, 'SMS-Status',"SMS-Versand verzögert / ".$result1, '', 20); }
  ELSE
  { WFC_SendNotification(34133 /*[kt1]*/, 'SMS-Status',"SMS erfolgreich versandt! - ".$smstext." / ".$result1, '', 20); };

// sicherheitshalber nur den Status nochmal per Mail raus  ...
SMTP_SendMail(23365 /*[Technik\E-Mail senden (SMTP)]*/, "[IPS] SMS-Status",$result1);

// Kontostandsabfrage
set_time_limit(25);
sleep(20); //*****20sec. warten damit die neuen daten auf jeden fall beim provider generiert sind
$url="https://www.smskaufen.com/sms/gateway/konto.php?id=$id&apikey=$apikey";
$kontostand=fgets(fopen($url, 'r'));
SetValueString(36926 /*[Technik\SMS (smskaufen.com)\kontostand]*/, $kontostand);
?>

Gruß
Karsten

Hallo Karsten, vielen Dank für den Code . allerdings läuft innosend bei mir mit Api einwandfrei, nutze nur den type=3
smskaufen und inno ist eh die gleiche plattform (orange und blau :wink:
sollte sie was umstellen, werde ich natürlich den Code anpassen.
Mit dem Modul bin ich kläglich gescheitert, bekomme das Form zwar hin aber das wars auch schon.
Gruss Axel

EDIT
%0a ist die Lösung!

…kann mir hier jemand sagen, wie ich in dem „text=…“ für die Gatewayvariante „type=3“ unter „http://www.innosend.de/gateway/sms.php?.…“ einen Zeilenumbruch in der SMS realisiere?

Vielen Dank!