A gem to help you communicate to the Responsys Interact SOAP API.
Have a look at the wiki to understand how it works as well as special tips specially prepared for you ! If you have any questions please create an issue.
Add this line to your application"s Gemfile:
gem "responsys-api"
Or install it yourself as:
$ gem install responsys-api
# Configure ResponsysApi in your initializers (config/initializers/responsys_api.rb):
Responsys.configure do |config|
config.settings = {
:username => "your_responsys_username",
:password => "your_responsys_password",
:wsdl => "https://wsXXXX.responsys.net/webservices/wsdl/ResponsysWS_Level1.wsdl"
}
end
#!/usr/bin/env ruby
## Scenario : subscribe a user to a newsletter
## Details : the user exists in the list of your users in Responsys @ "the_folder_containing_the_list/my_customers_list". He just decided to subscribe so let's update his status !
# Require the gem
require 'responsys_api'
Responsys.configure do |config|
config.settings = {
:username => "your_responsys_username",
:password => "your_responsys_password",
:wsdl => "https://wsXXXX.responsys.net/webservices/wsdl/ResponsysWS_Level1.wsdl"
}
end
# A list is an "InteractObject" according to the official API documentation
list = Responsys::Api::Object::InteractObject.new("the_folder_containing_the_list", "my_customers_list")
# Initialize a Member (or "user" for the example)
member = Responsys::Member.new('[email protected]')
# Adding a member to a list ()
member.save(list, subscribe = false)
# Manually handling subscription status
# Subscribe the user if he hasn't subscribed yet
unless member.subscribed?(list)
member.subscribe(list)
else
puts "The user already subscribed"
end
# Check the member has a subscribed status
puts member.subscribed?(list) ? "#{member.email} has subscribed to #{list.objectName}" : "An error happened"
The API client used by the gem logs in as soon as a the first method is called. The same session is used as it is valid. If you want to close the API session you can manually call the log out action :
Responsys::Api::Client.instance.logout
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am "Add some feature"
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
- Add thorough tests with properly mocked out API responses
- Build out API functionality
- Member profile extension
- Creating new key/value
- Updating value by key
- Deleting key/value by key
- Member supplement tables
- Creating new tables
- CRUD operations for records within tables
- Transactional email firing
- List management
- Folder management
- Batch member profile updates
- Member profile extension