Как отправить API WhatsApp с помощью Ruby

Введение

В этом фрагменте кода вы узнаете, как отправить WhatsApp API с помощью Ruby, чтобы отправить текстовое сообщение, WhatsApp Шаблоны, медиа, интерактивные кнопки, списки, продукты … и т.д., Для запуска следующих кодов требуется учетная запись Alvochat. Создайте аккаунт, если у вас его нет.

Отправка шаблона с помощью WhatsApp API и 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

Отправка текстового сообщения с помощью WhatsApp API и 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

Отправить изображение

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

Отправить аудио

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

Отправить видео

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

Отправить документ

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

Отправить наклейку

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

Отправить контакт

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

Отправить местоположение

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

Список отправки

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

Кнопка отправки

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

Отправить продукцию

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

Вы можете посмотреть полную документацию Whatsapp API здесь.