পৃষ্ঠাসমূহ

এই ব্লগটি সন্ধান করুন

রবিবার, ২৪ সেপ্টেম্বর, ২০১৭

Send SMS Procedure in Oracle

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;

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন