Skip to main content

Send Messages in Oracle APEX using Twilio API

   

Twilio Integration with Oracle APEX 22.1

The objective of this blog post is to show you how to sent messages in Oracle APEX using Twilio API.

Before we get into the topic, let's take a look at the following link, which will help you to understand how you can get started with Twilio and call it's APIs in Oracle APEX.

Send Messages using Twilio API

Below are steps involved to get this process done.
  1. Get Twilio Account SID, AUTH Token and Phone Number
  2. Get Twilio Create Message API End Point
  3. Invoke Twilio Create Message API with Postman
  4. Invoke Twilio API to Sent Messages (Using PL/SQL)

I) Get Twilio Account SID, AUTH Token and Phone Number

Login Twilio with your credentials and It will take you to the console page where you could see your Twilio Account SID, AUTH Token and Phone Number.

II) Get Twilio Create Message API End Point

Step 1: You can get the end point from Console: Login --> Explore Products --> API Explorer

Step 2: Select "Programmable SMS" from the dropdown

Step 3: Expand "Messages" and click "Create a Message". Configure the attributes and then under "Request " you can find the end point.

III) Invoke Twilio Create Message API with Postman

Step 1: Define Twilio Account Id as global variable (account_sid) in postman. Click "Environment Quick Look" to define global variables.


Step 2: Setup Body by defining key and it's values


Step 3: Setup Authorization (Basic Authentication) and click "Send" button to call the API.


Note: When status code is between 200 and 299, then API is working fine.

IV) Invoke Twilio API to Send Messages (Using PL/SQL)

Step 1: Create a new blank page.

Step 2: Create a Form like below and call the procedure "send_messages_twilo" on button "Send" call.

Query:

You can download it from Github

API Success Response:

{ "sid":"SM02e4532468ca4c5c99a37b866c5c3701", "date_created":"Tue, 17 May 2022 12:38:49 +0000", "date_updated":"Tue, 17 May 2022 12:38:49 +0000", "date_sent":null, "account_sid":"AC2b7b7fffbc349c2f59c82f5bdaa0fd2b", "to":"+971582036853", "from":"+17755227844", "messaging_service_sid":null, "body":"Sent from your Twilio trial account - Thanks for showing interest to join Oracle APEX Community", "status":"queued", "num_segments":"1", "num_media":"0", "direction":"outbound-api", "api_version":"2010-04-01", "price":null, "price_unit":"USD", "error_code":null, "error_message":null, "uri":"/2010-04-01/Accounts/AC2b7b7fffbc349c2f59c82f5bdaa0fd2b/Messages/SM02e4532468ca4c5c99a37b866c5c3701.json", "subresource_uris":{ "media":"/2010-04-01/Accounts/AC2b7b7fffbc349c2f59c82f5bdaa0fd2b/Messages/SM02e4532468ca4c5c99a37b866c5c3701/Media.json" } }

Output:

SMS/Message sent to the mobile number which you defined.


That's it. Happy APEXing!

Related Posts:

References/Credits:

Comments

Popular posts from this blog

Printing Page Numbers in RTF Template [Oracle BI Publisher]

Here I am giving an example to print the page numbers dynamically in the RTF (Rich Text Format) template. Step 1:  Go to page footer and copy and paste the below script. Page |  <?fo:page-number?>  of  <?fo:page-number-citation:xdofo:lastpage-joinseq?> <fo:page-number> :   This is the object, which is used to represent the current page-number. <?fo:page-number-citation:xdofo:lastpage-joinseq?> :  This is the syntax, which is used to represent the total number of pages. Step 2:  Load the XML and preview the result. Output: That's it. References: fo:page-number Printing Page Number Code in Oracle XMLP RTF Template

Generating the report with APEX_DATA_EXPORT

With the APEX_DATA_EXPORT package, you are able to export data from Oracle Application Express in the following file types: PDF, XLSX, HTML, CSV, XML, and JSON. Step 1: Create a table and populate it with some sample records. CREATE TABLE emp   (     empno        NUMBER,     first_name   VARCHAR2(240),     last_name    VARCHAR2(240),     mgr          NUMBER,     deptno       NUMBER,     sal          NUMBER,     created_date TIMESTAMP (6),     comm         NUMBER,     hiredate     DATE,     JOB          VARCHAR2(240),     ename        VARCHAR2(240),     PRIMARY KEY (empno) USING INDEX ENABLE   ); /    INSERT INTO emp (empno, first_name, last_name, mgr,                   deptno, sal, created_date)         VALUES                 (1, 'Larry', 'Ellison', ,                  10, 5000, LOCALTIMESTAMP);   INSERT INTO emp (empno, first_name, last_name, mgr,                   deptno, sal, created_date)         VALUES                 (2, 'Juan', 'Juan', 1,  

Save Selected Interactive Grid Records into a Collection - Oracle APEX

Here I am giving an example to save selected interactive grid records into a oracle apex collection. Step 1: Create a new blank page. Note: Mine was page 20. You will need to update reference to " P20 " with your page number if it's different. Step 2: Create a new interactive grid report region to the page using below query. Set Static Id "EmpDetails" to the region. SELECT  *     FROM   ( SELECT  emp . empno ,                emp . ename ,                emp . JOB ,                dept . dname department ,                dept . loc  LOCATION ,                mgr . ename  manager ,                emp . hiredate ,                 nvl ( emp . sal , 0 )  salary ,                 nvl ( emp . comm , 0 )  commission            FROM  eba_demo_chart_emp emp ,                eba_demo_chart_dept dept ,                eba_demo_chart_emp mgr           WHERE  emp . deptno = dept . deptno             AND  emp . mgr      = mgr . empno  ( + )           ORDER   BY  emp . ename