How to Send a WhatsApp API using Ruby

Introduction

In this code snippet, you learn how to send a WhatsApp API using Ruby, to send a text message, WhatsApp Templates, media, interactive buttons, lists, products … etc, Alvochat account is required to run the following codes. Create an Account if you don’t have one.

Send template using WhatsApp API and Ruby

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/template")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:name => 'hello_world',
:language => 'en_us',
:header => '',
:body => '',
:buttons => '',
:priority => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send a text message using WhatsApp API and Ruby

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/chat")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:body => 'WhatsApp API on alvochat.com works good',
:priority => '',
:preview_url => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send image

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/image")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:image => 'https://alvochat-example.s3-accelerate.amazonaws.com/image/1.jpeg',
:caption => 'image caption',
:priority => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send audio

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/audio")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:audio => 'https://alvochat-example.s3-accelerate.amazonaws.com/audio/1.mp3',
:priority => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send video

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/video")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:video => 'https://alvochat-example.s3-accelerate.amazonaws.com/video/1.mp4',
:caption => 'video caption',
:priority => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send document

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/document")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:document => 'https://alvochat-example.s3-accelerate.amazonaws.com/document/1.pdf',
:filename => '',
:priority => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send sticker

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/sticker")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:sticker => 'https://alvochat-example.s3-accelerate.amazonaws.com/sticker/1.webp',
:priority => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send Contact

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/contact")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:contact => '',
:priority => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send Location

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/location")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:lat => '37.484296',
:lng => '-122.148703',
:address => 'Menlo Park, California, United States',
:name => 'Meta Headquarters',
:priority => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send list

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/list")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:header => 'header',
:body => ' please select one of the following options',
:footer => 'footer',
:button => 'options',
:sections => 'option_1,option_2,option_3',
:priority => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send button

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/button")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:header => 'header',
:body => ' please select one of the following options',
:footer => 'footer',
:buttons => 'option_1,option_2,option_3',
:priority => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

Send products

require 'uri'
require 'net/http' 

url = URI("https://api.alvochat.com/instance1199/messages/product")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true 

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
form_data = URI.encode_www_form( {
:token => 'YourToken',
:to => '16315555555',
:header => 'header',
:body => 'Hi , check out our new products',
:footer => 'footer',
:catalog_id => '',
:product => '',
:priority => '',
:message_id => ''
})
request.body = form_data

response = http.request(request)
puts response.read_body

You can see the Full Whatsapp API Documentation here.