The Plivo Ruby SDK makes it simpler to integrate voice and SMS communications into your Ruby applications using the Plivo REST APIs. Using the SDK, you’ll be able to make voice calls, send SMS messages, and generate Plivo XML documents to control your call flows.
To make API requests, you need to create a RestClient and provide it with authentication credentials, which you can find on the Overview page of the Plivo console.We recommend that you store your credentials in the PLIVO_AUTH_ID and the PLIVO_AUTH_TOKEN environment variables, to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables:
Copy
Ask AI
client = RestClient.new;
Alternatively, you can specify the authentication credentials while initializing the RestClient.
The SDK uses consistent interfaces to create, retrieve, update, delete, and list resources. The pattern is:
Copy
Ask AI
client.resources.create(params); # Createclient.resources.get(resource_identifier); # Getclient.resources.update(resource_identifier, params); # Updateclient.resources.delete(resource_identifier); # Deleteclient.resources.list; # List all resources, max 20 at a time
You can also use the resource directly to update and delete it. For example:
Copy
Ask AI
resource = client.resources.get(resource_identifier);resource.update(params); # update the resourceresource.delete(); # Delete the resource
Using client.resources.list lists the first 20 resources by default (the first page, with limit as 20, and offset as 0). Use limit and offset to get more pages of resources.To list all resources, you can use this pattern to handle pagination for you automatically, so you don’t have to worry about passing the right limit and offset values.
Copy
Ask AI
client.resources.each do |resource| puts resource.idend
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phone number placeholders with actual phone numbers in E.164 format (for example, +12025551234).
require 'rubygems'require 'plivo'include Plivo::XMLresponse = Response.newresponse.addSpeak('Hello, world!')puts response.to_xml # Prints the XML stringxml_response = PlivoXML.new(response)puts xml_response.to_xml # Prints XML along with XML version & encoding details
require 'rubygems'require 'plivo'include PlivoAUTH_ID = '<auth_id>'AUTH_TOKEN = '<auth_token>'client = Phlo.new(AUTH_ID, AUTH_TOKEN)# if credentials are stored in the PLIVO_AUTH_ID and the PLIVO_AUTH_TOKEN environment variables# then initialize client as:# client = Phlo.new# run a phlo:begin #parameters set in PHLO - params params = { from: '<caller_id>', to: '<destination_number>' } response = phlo.run(params) puts response rescue PlivoRESTError => e puts 'Exception: ' + e.message end
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phlo_id placeholder with your PHLO ID from the Plivo console. Replace the phone number placeholders with actual phone numbers in E.164 format (for example, +12025551234).