vds-phil
06/05/2014, 10h33
Bonjour,
Nous avons développé un programme pour la gestion du marketing au sein de notre société (grossiste horeca). Nous envoyons régulièrement des SMS à nos clients pour des actions promotionnelles (avec leur accord naturellement).
Nous avons donc décidé d'inclure la fonction SMS à notre programme. cependant, nous avons un problème avec la fonction SmsMultiSend.
En effet, nous avons développé un petit utilitaire pour tester les fonctionnalités soapi SMS avant de l'intégrer à notre programme complet.
Tout fonctionne très bien avec la fonction telephonySmsSend.
Avec la fonction TelephonySmsMultiSend, nous avons le message d'erreur suivant :
---------------------------
Wsdlsoapi
---------------------------
Following receivers phone number are invalid : "HASH(0x13395c08)"
alors que nous envoyons le SMS aux 2 mêmes numéros qu'avec la fonction telephonySmsSend.
Est-ce que quelqu'un peut aider ?
Merci beaucoup pour votre aide
Nous avons développé un programme pour la gestion du marketing au sein de notre société (grossiste horeca). Nous envoyons régulièrement des SMS à nos clients pour des actions promotionnelles (avec leur accord naturellement).
Nous avons donc décidé d'inclure la fonction SMS à notre programme. cependant, nous avons un problème avec la fonction SmsMultiSend.
En effet, nous avons développé un petit utilitaire pour tester les fonctionnalités soapi SMS avant de l'intégrer à notre programme complet.
Tout fonctionne très bien avec la fonction telephonySmsSend.
Avec la fonction TelephonySmsMultiSend, nous avons le message d'erreur suivant :
---------------------------
Wsdlsoapi
---------------------------
Following receivers phone number are invalid : "HASH(0x13395c08)"
alors que nous envoyons le SMS aux 2 mêmes numéros qu'avec la fonction telephonySmsSend.
Est-ce que quelqu'un peut aider ?
Merci beaucoup pour votre aide
Code:
// ----------------------------------------------------------------------------- { Project : Webservices testprogram Executable : WsdlSoapi File : MainForm.pas Author : Marc Georges Compiler : Delphi 2010 Contents : Main form History : 10/04/14 } // WSDL Vies // http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl // HTTPRIO is created by GetcheckVatPortType // WSDL Soapi // http://www.ovh.com/soapi/soapi-dlw-1.63.wsdl // HTTPRIO is created by GetmanagerPortType // ----------------------------------------------------------------------------- Unit MainForm; // ------------------------------------------------------------------------------------------------- Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; // ------------------------------------------------------------------------------------------------- Type TfrmMain = Class( TForm ) Panel1: TPanel; btnSendSms: TButton; btnMultiSend: TButton; GroupBox1: TGroupBox; Splitter1: TSplitter; GroupBox2: TGroupBox; edtAccount: TLabeledEdit; edtPassWord: TLabeledEdit; edtSmsAccount: TLabeledEdit; edtBxl: TLabeledEdit; edtLiege: TLabeledEdit; edVAT: TLabeledEdit; GroupBox3: TGroupBox; Panel2: TPanel; edtTo1: TLabeledEdit; edtTo2: TLabeledEdit; memMessageText: TMemo; GroupBox4: TGroupBox; memLog: TMemo; Splitter2: TSplitter; Procedure btnSendSmsClick( Sender: TObject ); Procedure btnMultiSendClick( Sender: TObject ); Private { Private declarations } Public { Public declarations } End; // ------------------------------------------------------------------------------------------------- Var frmMain: TfrmMain; // ------------------------------------------------------------------------------------------------- Implementation Uses soapi_dlw_1; {$R *.dfm} // ------------------------------------------------------------------------------------------------- Procedure TfrmMain.btnSendSmsClick( Sender: TObject ); Var SmsManager: managerPortType; SmsSession: String; Lang: String; Begin screen.Cursor := crHourGlass; Try Lang := 'fr'; SmsManager := GetmanagerPortType( ); memLog.Lines.Add( 'SmsManager initialised'); Try SmsSession := SmsManager.login( edtAccount.Text, edtPassWord.Text, Lang, false ); memLog.Lines.Add( 'OVH-Login succeeded' ); Except On E: Exception Do Begin memLog.Lines.Add( 'Login failure ' + sLineBreak + E.Message ); End; End; If edtTo1.Text <> EmptyStr Then Begin { telephonySmsSend } SmsManager.telephonySmsSend( SmsSession, edtSmsAccount.Text, edtBxl.Text, edtTo1.Text, memMessageText.Lines.Text, 0, 0, 0, 0, 0, '', false ); memLog.Lines.Add( 'SmsSend ' + edtTo1.Text + ' successfull' ); End; If edtTo2.Text <> EmptyStr Then Begin { telephonySmsSend } SmsManager.telephonySmsSend( SmsSession, edtSmsAccount.Text, edtBxl.Text, edtTo2.Text, memMessageText.Lines.Text, 0, 0, 0, 0, 0, '', false ); memLog.Lines.Add( 'SmsSend ' + edtTo2.Text + ' successfull' ); End; SmsManager.logout( SmsSession ); memLog.Lines.Add( 'OVH-Logout success' ); Except memLog.Lines.Add( 'Something went wrong' ); End; screen.Cursor := crDefault; End; // ------------------------------------------------------------------------------------------------- Procedure TfrmMain.btnMultiSendClick( Sender: TObject ); Var SmsManager: managerPortType; SmsSession: String; Lang: String; aString: item8; ToList: MyArrayOfStringType; Begin Try Lang := 'fr'; SmsManager := GetmanagerPortType( ); memLog.Lines.Add( 'SmsManager initialised' ); Try SmsSession := SmsManager.login( edtAccount.Text, edtPassWord.Text, Lang, false ); memLog.Lines.Add( 'OVH-Login success' ); Except On E: Exception Do Begin memLog.Lines.Add( 'Login failure ' + sLineBreak + E.Message ); End; End; { prepare number of items in MyArrayOfStringType } SetLength( ToList, 2 ); { Add first number} aString := edtTo1.Text; ToList[0] := aString; { Add second number} aString := edtTo2.Text; ToList[1] := aString; memLog.Lines.Add( SmsSession + ' ' + ToList[0] + ' ' + ToList[1] + ' sendtest' ); { telephonySmsMultiSend } SmsManager.telephonySmsMultiSend( SmsSession { const session: string; } , edtSmsAccount.Text { const smsAccount: string; } , edtLiege.Text { const numberFrom: string; } , ToList { const numberTo: MyArrayOfStringType; } , memLog.Lines.Text { const message_: string; } , 0 { const smsValidity: Integer; } , 0 { const smsClass: Integer; } , 0 { const smsDeferred: Integer; } , 0 { const smsPriority: Integer; } , 0 { const smsCoding: Integer; } , '' { const tag: string; } , '' { const numberToCsv: string; } , false { const noStop: Boolean } ); memLog.Lines.Add( 'SmsSend success' ); SmsManager.logout( SmsSession ); memLog.Lines.Add( 'OVH-Logout success' ); Finally memLog.Lines.Add( 'Something went wrong' ); screen.Cursor := crDefault; End; End; // ------------------------------------------------------------------------------------------------- End.