Skip to content

Issue#9 email #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 18 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,20 @@
# restcomm-sdk-java
The Java SDK for RestComm REST API

- To build the Project, after downloading the zip and extracting it from GitHub, navigate to the folder containing the pom.xml
file and buiild the project using the following command in the terminal

```sh
$ mvn package
```
- Now when this command is executed, the compilation,validation and testing will be done and after the successful completion of them, a jar file will be generated in the target folder.

- Include the jar file in your build path to get Started.

Java version: 1.8.0_131

This is an SDK for RestComm REST API,
To know more about Restcomm, please refer to http://documentation.telestax.com/

Regarding issues, please refer to https://github.com/RestComm/restcomm-sdk-java/issues

54 changes: 54 additions & 0 deletions restcomm-connect.java.sdk/src/main/asciidoc/Email.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@

= Restcomm JAVA Sdk - Emails

[[Emails]]
== Emails

Using the RestComm API, you can send Emails through a simple request.

=== Sending a New Email

A new Email Message can be sent by using the newEmail() method of the Email class.
....
String FromUser;
String ToUser;
String MessageBody;
.
.
.
Email.newEmail().From(FromUser).To(ToUser).Body(MessageBody).sendEmail();
....

====List of Parameters for Sending Email
[cols=",",options="header",]
|==========================================================================================================
|Parameter |Method
|From |From().
|To |To().
|Body |Body().
|Subject |Subject().
|BCC |BCC().
|CC |CC().
|==========================================================================================================

In order to capture the new Email sent,
....
Email message = Email.newEmail().From(FromUser).To(ToUser).Body(MessageBody).sendEmail();
....

You can also access some of the fields of the Email captured,
....
String AccountSid;
AccountSid = message.getAccount_sid();
....

==== List of Fields
|======================================================================
|Property |Method
|DateSent |getDate_sent().
|AccountSid |getAccount_sid().
|From |getFrom().
|To |getTo().
|Body |getBody().
|Subject |getSubject().
|======================================================================
141 changes: 141 additions & 0 deletions restcomm-connect.java.sdk/src/main/asciidoc/Notifications.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@

= Restcomm JAVA Sdk - Notifications

[[Notifications]]
== Notifications

A *Notification* resource represents a single log entry made by RestComm while handling your calls or your use of the Restful APIs. It is very useful for debugging purposes. The Notifications list resource represents the set of notifications generated for an account.


From here onwards, by a Notification, we refer to a Notification Resource Object

=== Fetching a Notification

A Notification with a given Sid can be fetched by the following code snippet
....
String Sid;
.
.
.
Notification CallNotification = Notification.getNotification(Sid);
....

=== Accessing the Fetched Notification

A Field of a Notification Object can be accessed by using the corresponding getMethod for that Field
....
String Message;
Message = CallNotification.getMessage_text().
....

==== List of Fields
[cols=",",options="header",]
|===============================================================================================================================================================================================================================
|Property |Method
|Sid | getSid().
|DateCreated |getDate_created().
|DateUpdated |getDate_updated().
|AccountSid |getAccount_sid().
|CallSid |getCall_sid().
|ApiVersion |getApi_version().
|Log |getLog().
|ErrorCode |getErrorCode().
|MoreInfo |getMore_info().
|MessageText |getMessage_text().
|MessageDate |getMessage_date().
|RequestUrl |getRequest_url().
|RequestMethod |getRequest_method().
|RequestVariables |getRequest_variables().
|ResponseHeaders |getResponse_headers().
|ResponseBody |getResponse_body().
|Uri |getUri().
|===============================================================================================================================================================================================================================

== Fetching List of Notifications

=== Fetching the Default List

The Default Notifications List can be fetched by using the following code

....
NotificationList List = NotificationList.getList();
....

=== Fetching a Filtered List

A Filtered Notifications List can be fetched by using the getFilteredList() method of the class NotificationList

....
NotificationList List = NotificationList.getFilteredList().ErrorCode("1").MessageText("Hello World").Filter();
....

The above mentioned code snippet fetches the Notifications with ErrorCode = 1 and MessageText = Hello World

==== List of FilterParameters
[cols=",",options="header",]
|===============================================================================================================================================================================================================================
|Parameter |Method
|StartTime |StartTime().
|EndTime |EndTime().
|ErrorCode |ErrorCode().
|MessageText |MessageText().
|RequestUrl |RequestUrl().
|===============================================================================================================================================================================================================================

In addition to these, the regular Paging paramters can also be used similar to the FilterParameters
....
NotificationList List = NotificationList.getFilteredList().PageSize("1").Filter().
....

==== List of PagingParameters
[cols=",",options="header",]
|===============================================================================================================================================================================================================================
|Paramter |Method
|Page |Page().
|NumPages |NumPages().
|PageSize |PageSize().
|Total |Total().
|Start |Start().
|End |End().
|===============================================================================================================================================================================================================================

== Accessing the Fetched NotificationList

The size of the Fetched List can be known by
....
int size = CallNotification.size();
....

The a Notification from the fetched NotificationList Object can be obtained by
....
Notification a = CallNotification.get(1);
....

== Additional Paging Information
We can also access the Additional Paging Information by using the Methods of NotificationList
....
String Uri;
Uri = CallNotification.getpreviouspageuri();
....

The API returns URIs to the next, previous, first and last pages of the returned list as shown in the table below:

=== Request Parameters

[cols=",",options="header",]
|============================================================
|Parameter |Method
|Uri |geturi().
|Firstpageuri |getfirstpageuri().
|Nextpageuri |getnextpageuri().
|Previouspageuri |getpreviouspageuri().
|Lastpageuri |getlastpageuri().
|============================================================

NOTE: The Default Account from which we fetch the Notifications is the Main Account.

If we want to change the Default Account to any specific SubAccount , use the following method before Fetching the Notification(s)
....
NotifactionList.SubAccountAccess(SubAccountSid);
NotificationList List = NotificationList.getList();
....
155 changes: 155 additions & 0 deletions restcomm-connect.java.sdk/src/main/asciidoc/SMS.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@

= Restcomm JAVA Sdk - SMSMessages

[[SMSMessages]]
== SMSMessages

A *SMS Message* resource represents an inbound or outbound SMS message.

=== Fetching an SMS

A SMS with a given Sid can be fetched by implementing the following code snippet
....
String Sid;
.
.
.
SMS newSMS = SMS.getSMS(Sid);
....

=== Accessing the Fetched SMS

A Field of a SMS Object can be accessed by using the corresponding getMethod for that Field
....
String MessageBody;
MessageBody = CallNotification.getBody().
....

==== List of Fields
[cols=",",options="header",]
|========================================================================================================
|Field |Method
|Sid |getSid().
|DateCreated |getDate_created().
|DateUpdated |getDate_updated().
|DateSent |getDate_sent().
|AccountSid |getAccount_sid().
|From |getFrom().
|To |getTo().
|Body |getBody().
|Status |getStatus().
|Direction |getDirection().
|ApiVersion |getApi_version().
|Uri |getUri().
|========================================================================================================

=== Sending a New SMS

A new SMS Message can be sent by using the newSMS() method of the SMS class.
....
String FromUser;
String ToUser;
String MessageBody;
.
.
.
SMS.newSMS().From(FromUser).To(ToUser).Body(MessageBody).sendSMS();
....

In order to capture the new SMS sent,
....
SMS message = SMS.newSMS().From(FromUser).To(ToUser).Body(MessageBody).sendSMS();
....

== Fetching List of SMSMessages

=== Fetching the Default List

The Default SMSMessage List can be fetched by using the following code

....
SMSList List = SMSList.getList();
....

=== Fetching a Filtered List

A Filtered SMS List can be fetched by using the getFilteredList() method of the class SMSList

....
SMSList List = SMSList.getFilteredList().From("+1234").Filter();
....

The above mentioned code snippet fetches all the SMSMessages sent from = +1234

==== List of FilterParameters
[cols=",",options="header",]
|===========================================================================================================================================================================================================================================================================
|Parameter |Methods
|To |To().
|From |From().
|StartTime |Start_time().
|EndTime |End_time().
|Body |Body().
|===========================================================================================================================================================================================================================================================================
In addition to these, the regular Paging paramters can also be used similar to the FilterParameters
....
NotificationList List = NotificationList.getFilteredList().From("+1234").PageSize("1").Filter().
....
The above mentioned code snippet fetches all the SMSMessages sent from = +1234 in pages of size 1

==== List of PagingParameters
[cols=",",options="header",]
|===============================================================================================================================================================================================================================
|Paramter |Method
|Page |Page().
|NumPages |NumPages().
|PageSize |PageSize().
|Total |Total().
|Start |Start().
|End |End().
|===============================================================================================================================================================================================================================

== Accessing the Fetched SMSList

The size of the Fetched List can be known by
....
SMSList MessageList;
.
.
.
int size = MessageList.size();
....

The a SMS from the fetched SMSList Object can be obtained by
....
SMS a =MessageList.get(1);
....

== Additional Paging Information
We can also access the Additional Paging Information
....
String Uri;
Uri = MessageList.getpreviouspageuri();
....

The API returns URIs to the next, previous, first and last pages of the returned list as shown in the table below:

=== Request Parameters

[cols=",",options="header",]
|============================================================
|Parameter |Method
|Uri |geturi().
|Firstpageuri |getfirstpageuri().
|Nextpageuri |getnextpageuri().
|Previouspageuri |getpreviouspageuri().
|Lastpageuri |getlastpageuri().
|============================================================

NOTE: The Default Account from which we fetch the SMSList is the Main Account.

If we want to change the Default Account to any specific SubAccount , use the following method before Fetching the Notification(s)
....
SMSList.SubAccountAccess(SubAccountSid);
SMSList List = SMSList.getList();
....
Loading