CREATE OR REPLACE PROCEDURE sendSMSBD
( pRecipient IN VARCHAR2
, pText IN VARCHAR2
)
IS
NowSMS_USERNAME CONSTANT VARCHAR2(40) := '01722623382';
NowSMS_PASSWORD CONSTANT VARCHAR2(40) := '*******';
NowSMS_SENDER CONSTANT VARCHAR2(40) := ''; /* set sender address if needed */
NowSMS_SERVER CONSTANT VARCHAR2(80) := 'https://panel.onnorokomsms.com/Client/SendSms/SendSms'; /* NowSMS server address */
--
vRequest Utl_Http.req;
vPostText VARCHAR2(500);
vResponse Utl_Http.resp;
vResponseText VARCHAR2(2000);
vErrorText VARCHAR2(200);
BEGIN
----------------------------------------------------------------------------
-- Build text for the post action.
-- For a field description, see
-- http://www.nowsms.com/doc/submitting-sms-messages/url-parameters
----------------------------------------------------------------------------
vPostText :=
'User=' ||Utl_Url.escape(NowSMS_USERNAME, TRUE)||CHR(38)||
'Password=' ||Utl_Url.escape(NowSMS_PASSWORD, TRUE)||CHR(38)||
'Sender=' ||Utl_Url.escape(NowSMS_SENDER, TRUE)||CHR(38)||
'PhoneNumber=' ||Utl_Url.escape(pRecipient, TRUE)||CHR(38)||
'Text=' ||Utl_Url.escape(pText, TRUE);
----------------------------------------------------------------------------
-- Send SMS through the NowSMS SMS service.
----------------------------------------------------------------------------
vRequest := Utl_Http.begin_request
( url => NowSMS_SERVER
, method => 'POST'
);
Utl_Http.set_header
( r => vRequest
, name => 'Content-Type'
, value => 'application/x-www-form-urlencoded'
);
Utl_Http.set_header
( r => vRequest
, name => 'Content-Length'
, value => LENGTH(vPostText)
);
Utl_Http.write_text
( r => vRequest
, data => vPostText
);
vResponse := Utl_Http.get_response(vRequest);
IF vResponse.status_code = '200'
THEN
Utl_Http.read_text(vResponse, vResponseText);
--
IF vResponseText NOT LIKE '%MessageID=%'
THEN
vErrorText := vResponseText;
END IF;
ELSE
vErrorText := 'HTTP status: '||vResponse.status_code||'-'||vResponse.reason_phrase;
END IF;
--
Utl_Http.end_response(vResponse);
--
IF vErrorText IS NOT NULL
THEN
RAISE_APPLICATION_ERROR(-20001, 'Sending SMS failed with '||vErrorText);
END IF;
END sendSMSBD;
BEGIN
sendSMSBD('+8801722623382','this is a test from Imam by using NowSMS');
END;
( pRecipient IN VARCHAR2
, pText IN VARCHAR2
)
IS
NowSMS_USERNAME CONSTANT VARCHAR2(40) := '01722623382';
NowSMS_PASSWORD CONSTANT VARCHAR2(40) := '*******';
NowSMS_SENDER CONSTANT VARCHAR2(40) := ''; /* set sender address if needed */
NowSMS_SERVER CONSTANT VARCHAR2(80) := 'https://panel.onnorokomsms.com/Client/SendSms/SendSms'; /* NowSMS server address */
--
vRequest Utl_Http.req;
vPostText VARCHAR2(500);
vResponse Utl_Http.resp;
vResponseText VARCHAR2(2000);
vErrorText VARCHAR2(200);
BEGIN
----------------------------------------------------------------------------
-- Build text for the post action.
-- For a field description, see
-- http://www.nowsms.com/doc/submitting-sms-messages/url-parameters
----------------------------------------------------------------------------
vPostText :=
'User=' ||Utl_Url.escape(NowSMS_USERNAME, TRUE)||CHR(38)||
'Password=' ||Utl_Url.escape(NowSMS_PASSWORD, TRUE)||CHR(38)||
'Sender=' ||Utl_Url.escape(NowSMS_SENDER, TRUE)||CHR(38)||
'PhoneNumber=' ||Utl_Url.escape(pRecipient, TRUE)||CHR(38)||
'Text=' ||Utl_Url.escape(pText, TRUE);
----------------------------------------------------------------------------
-- Send SMS through the NowSMS SMS service.
----------------------------------------------------------------------------
vRequest := Utl_Http.begin_request
( url => NowSMS_SERVER
, method => 'POST'
);
Utl_Http.set_header
( r => vRequest
, name => 'Content-Type'
, value => 'application/x-www-form-urlencoded'
);
Utl_Http.set_header
( r => vRequest
, name => 'Content-Length'
, value => LENGTH(vPostText)
);
Utl_Http.write_text
( r => vRequest
, data => vPostText
);
vResponse := Utl_Http.get_response(vRequest);
IF vResponse.status_code = '200'
THEN
Utl_Http.read_text(vResponse, vResponseText);
--
IF vResponseText NOT LIKE '%MessageID=%'
THEN
vErrorText := vResponseText;
END IF;
ELSE
vErrorText := 'HTTP status: '||vResponse.status_code||'-'||vResponse.reason_phrase;
END IF;
--
Utl_Http.end_response(vResponse);
--
IF vErrorText IS NOT NULL
THEN
RAISE_APPLICATION_ERROR(-20001, 'Sending SMS failed with '||vErrorText);
END IF;
END sendSMSBD;
BEGIN
sendSMSBD('+8801722623382','this is a test from Imam by using NowSMS');
END;
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন