Come inviare un’API WhatsApp usando Ruby

Introduzione

In questo snippet di codice, imparerete come inviare un’API di WhatsApp utilizzando Ruby, per inviare un messaggio di testo, modelli di WhatsApp, media, pulsanti interattivi, liste, prodotti … ecc, è necessario un account Alvochat per eseguire i seguenti codici. Create un account se non ne avete uno.

Inviare un modello utilizzando le API di WhatsApp e 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

Inviare un messaggio di testo utilizzando le API di WhatsApp e 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

Invia immagine

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

Inviare l’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

Invia il 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

Inviare il documento

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

Invia l’adesivo

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

Inviare il contatto

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

Invia posizione

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

Inviare l’elenco

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

Pulsante di invio

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

Inviare i prodotti

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

È possibile consultare la documentazione completa dell’API di Whatsapp qui.