Come inviare l’API di WhatsApp utilizzando Ruby

Introduzione all’API di WhatsApp con Ruby

In questo tutorial creeremo semplici esempi per inviare messaggi utilizzando l’API di WhatsApp utilizzando Ruby.

Inizialmente, devi assicurarti che la libreria net/http sia pronta Perché useremo questa libreria In questo articolo per inviare messaggi a Ultramsg Gateway.

Primo messaggio WhatsApp con Ruby

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ultramsg.com/instance1316/messages/chat")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "token=5v941eyo9eqixrsi&to=14155552671&body=WhatsApp API on UltraMsg.com works good&priority=10&referenceId="

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

Quando il codice precedente viene eseguito e se il messaggio viene inviato correttamente, la risposta sarà così:

{"sent":"true","message":"ok","id":47}

Invia immagine

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ultramsg.com/instance1316/messages/image")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "token=5v941eyo9eqixrsi&to=14155552671&image=https://file-example.s3-accelerate.amazonaws.com/images/test.jpg&caption=image Caption&referenceId="

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

Invia documento

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ultramsg.com/instance1316/messages/document")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "token=5v941eyo9eqixrsi&to=14155552671&filename=hello.pdf&document=https://file-example.s3-accelerate.amazonaws.com/documents/cv.pdf&referenceId="

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

Invia audio

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ultramsg.com/instance1316/messages/audio")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "token=5v941eyo9eqixrsi&to=14155552671&audio=https://file-example.s3-accelerate.amazonaws.com/audio/2.mp3&referenceId="

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

Invia voce

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ultramsg.com/instance1316/messages/voice")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "token=5v941eyo9eqixrsi&to=14155552671&audio=https://file-example.s3-accelerate.amazonaws.com/voice/oog_example.ogg&referenceId="

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

Invia video

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ultramsg.com/instance1316/messages/video")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "token=5v941eyo9eqixrsi&to=14155552671&video=https://file-example.s3-accelerate.amazonaws.com/video/test.mp4&referenceId="

response = http.request(request)
puts response.read_body
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ultramsg.com/instance1316/messages/link")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "token=5v941eyo9eqixrsi&to=14155552671&link=https://en.wikipedia.org/wiki/COVID-19&referenceId="

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

Invia contatto

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ultramsg.com/instance1316/messages/contact")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "token=5v941eyo9eqixrsi&to=14155552671&[email protected]&referenceId="

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

Invia posizione

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ultramsg.com/instance1316/messages/location")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "token=5v941eyo9eqixrsi&to=14155552671&address=ABC company \n Sixth floor , office 38&lat=25.197197&lng=55.2721877&referenceId="

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

Invia Vcard

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ultramsg.com/instance1316/messages/vcard")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "token=5v941eyo9eqixrsi&to=14155552671&vcard= BEGIN:VCARD\nVERSION:3.0\nN:lastname;firstname\nFN:firstname lastname\nTEL;TYPE=CELL;waid=14000000001:14000000002\nNICKNAME:nickname\nBDAY:01.01.1987\nX-GENDER:M\nNOTE:note\nADR;TYPE=home:;;;;;;\nADR;TYPE=work_:;;;;;;\nEND:VCARD&referenceId="

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

infine, puoi vedere la documentazione completa dell’API di Whatsapp e le domande frequenti .