Einzelnen Beitrag anzeigen

hesch21

Registriert seit: 31. Aug 2004
Ort: Basel
114 Beiträge
 
Delphi XE2 Enterprise
 
#1

Datenübergabe JSON-Array an FreeSMS-Anbieter

  Alt 2. Apr 2014, 15:29
Liebe Delphianer
ich habe da einen interessanten FreeSMS-Anbieter gefunden. Unsere Software arbeitet zwar üblicherweise mit Indy und einem Gateway für den Versand von SMS, aber unsere ganz kleinen Kunden haben kein eigenes Gateway und denen haben wir bisher ein Interface zu Skype angeboten. Nun hat aber Skype sein API ausser Betrieb genommen. Nach langer Suche sind wir jetzt auf http://www.freesmsgateway.com/api gestossen. Die bieten 100 SMS pro Monat gratis an und das reicht für unsere Bedürfnisse allemal.
Nun aber endlich zum Problem. Der Link oben verweist auf das API des Anbieters. Ich bekomme da auch schön eine Verbindung hin, habe es schon geschafft, den Text zu 'URLencoden', nur wie ich die Telefonnummer in ein JSON-Array bekommen und dieses noch als Parameter weiter geben soll, ist mir einfach zu hoch. Dass es so wie unten nicht klappen kann, ist klar, aber wie?
Code:
procedure TForm2.PostExample;
var param : TStringList;
    valid : boolean;
    url  : string;
    text : string;
    EText : string;
    jsobj : TJsonObject;
    jsa  : TJsonArray;
begin
  param := TStringList.create;
  param.Clear;
  param.Add('access_token = 43efcb76....................e3fdb6');
  EText := TIdURI.URLEncode('http://' + Edit1.Text);
  Delete(EText, 1, 7);
  param.Add('message = ' + EText);
  param.Add('send_to=post_contacts');
  jsObj := TJsonObject.Create();
  jsa  := TJsonArray.Create();
  jsa.AddElement(Edit2.Text);
  param.Add('post_contacts=' + jsobj);
  valid := true;
  url  := 'http://www.FreeSMSGateway.com/api_send';
  try
     text := http.Post(url,param);
  except
     on E : Exception do
            valid := false;
  end;
  if valid then
     showmessage(text)
  else
     showmessage( '' );
  end;
Heinz Schneider
  Mit Zitat antworten Zitat