Skip to content
Merged
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
22 changes: 10 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Vonage APIs Quickstart Examples for Ruby on Rails

<br>
The purpose of the quickstart guide is to provide simple examples focused on one goal. For example, sending an SMS, making a Text to Speech call, or sending an image in WhatsApp.

## Configure with Your Vonage API Keys

<br>
To use this sample you will first need a [Vonage account](https://dashboard.nexmo.com/sign-up). Once you have your own API credentials, rename the `.env.example` file to `.env` and set the values as required.

For some of the examples you will need to [buy a number](https://dashboard.nexmo.com/buy-numbers).

## Setup

<br>
```
git clone [email protected]:Vonage-Community/sample-messages-ruby_on_rails-quickstart.git
cd sample-messages-ruby_on_rails-quickstart
Expand All @@ -18,46 +18,44 @@ bundle install
rails db:create db:migrate
rails s
```

## Tutorials & Sample Code

### SMS

<br>
Tutorial | Code Sample
--------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------
[How to Send SMS Messages with Ruby on Rails](https://developer.vonage.com/en/blog/send-sms-ruby-on-rails-dr) | [outbound_sms_controller.rb](app/controllers/outbound_sms_controller.rb)
[Receive an SMS Message Status with Ruby on Rails](#) | [sms_message_status_controller.rb](app/controllers/sms_message_status_controller.rb)
[How to Receive SMS Messages with Ruby on Rails](https://developer.vonage.com/en/blog/receive-sms-messages-ruby-on-rails-dr) | [inbound_sms_controller.rb](app/controllers/inbound_sms_controller.rb)

### Voice

<br>
Tutorial | Code Sample
------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------
[How to Make an Outbound Text-to-Speech Phone Call with Rails](#) | [outbound_calls_controller.rb](app/controllers/outbound_calls_controller.rb)
[How to receive an Call Event webhook with Ruby on Rails](#) | [call_events_controller.rb](app/controllers/call_events_controller.rb)
[How to Handle Inbound Phone Calls with Ruby on Rails](#) | [inbound_calls_controller.rb](app/controllers/inbound_calls_controller.rb)

### RCS

<br>
Tutorial | Code Sample
--------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------
[How to Send RCS Suggested Reply Messages with Ruby on Rails](#) | [outbound_rcs_controller.rb](app/controllers/outbound_rcs_controller.rb)
[Receive an RCS Message Status with Ruby on Rails](#) | [rcs_message_status_controller.rb](app/controllers/rcs_message_status_controller.rb)
[How to Receive RCS Reply Messages with Ruby on Rails](#) | [inbound_rcs_controller.rb](app/controllers/inbound_rcs_controller.rb)

### WhatsApp

<br>
Tutorial | Code Sample
--------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------
[How to Send WhatsApp Messages with Ruby on Rails](#) | [outbound_whatsapp_controller.rb](app/controllers/outbound_whatsapp_controller.rb)
[How to Receive WhatsApp Messages with Ruby on Rails](#) | [#](#)
[How to Receive WhatsApp Messages with Ruby on Rails](#) | [inbound_whatsapp_controller.rb](app/controllers/inbound_whatsapp_controller.rb)

## Request More Examples

<br>
For help with the code or to request an example not listed here, please join the [Vonage Community Slack](https://developer.vonage.com/en/community/slack). Feedback and requests are highly appreciated!

## Licenses

<br>
- The code samples in this repo is under [MIT](LICENSE)

- The tutorials contents are under Creative Commons, [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode)
Expand Down
127 changes: 0 additions & 127 deletions WHATSAPP_SETUP.md

This file was deleted.

141 changes: 141 additions & 0 deletions app/assets/stylesheets/home.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
/* README container */
.readme-container {
max-width: 1000px;
margin: 0 auto;
padding: 40px 20px;
background-color: #ffffff;
min-height: 100vh;
}

.readme-content {
background: white;
padding: 40px;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Markdown styling */
.markdown-body {
font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #333;
}

.markdown-body h1 {
font-family: 'Montserrat', sans-serif;
font-size: 32px;
font-weight: 600;
color: #000;
margin: 0 0 24px 0;
padding-bottom: 16px;
border-bottom: 2px solid #871FFF;
}

.markdown-body h2 {
font-family: 'Montserrat', sans-serif;
font-size: 24px;
font-weight: 600;
color: #333;
margin: 32px 0 16px 0;
padding-bottom: 8px;
border-bottom: 1px solid #e5e5e5;
}

.markdown-body h3 {
font-family: 'Montserrat', sans-serif;
font-size: 20px;
font-weight: 600;
color: #333;
margin: 24px 0 12px 0;
}

.markdown-body p {
margin: 0 0 16px 0;
line-height: 1.7;
}

.markdown-body a {
color: #871FFF;
text-decoration: none;
font-weight: 500;
transition: color 0.2s;
}

.markdown-body a:hover {
color: #6a19cc;
text-decoration: underline;
}

.markdown-body code {
background-color: #f5f5f5;
padding: 2px 6px;
border-radius: 3px;
font-family: 'Roboto Mono', monospace;
font-size: 14px;
color: #871FFF;
}

.markdown-body pre {
background-color: #f5f5f5;
padding: 16px;
border-radius: 6px;
overflow-x: auto;
margin: 16px 0;
border: 1px solid #e5e5e5;
}

.markdown-body pre code {
background-color: transparent;
padding: 0;
color: #333;
font-size: 13px;
line-height: 1.5;
}

.markdown-body ul,
.markdown-body ol {
margin: 0 0 16px 0;
padding-left: 24px;
}

.markdown-body li {
margin: 8px 0;
line-height: 1.6;
}

.markdown-body table {
width: 100%;
border-collapse: collapse;
margin: 16px 0;
font-size: 14px;
}

.markdown-body table th {
background: linear-gradient(135deg, #871FFF 0%, #FFA68C 100%);
color: white;
padding: 12px;
text-align: left;
font-weight: 600;
font-family: 'Montserrat', sans-serif;
}

.markdown-body table td {
padding: 12px;
border-bottom: 1px solid #e5e5e5;
}

.markdown-body table tr:hover {
background-color: #fafafa;
}

.markdown-body strong {
font-weight: 600;
color: #000;
}

.markdown-body hr {
border: none;
border-top: 1px solid #e5e5e5;
margin: 32px 0;
}
Loading
Loading