This gem gives you the tools to interact with apisync.io.


Add this line to your application's Gemfile:

gem 'apisync'


On Rails? Please use apisync-rails instead. It has automatic integration with ActiveRecord.

Vanilla Ruby

To create an inventory item:

client = Apisync.new(api_key: token)
  attributes: {
    ad_template_type: "vehicle",
    available:        true,
    brand:            "brand",
    condition:        "new",
    content_language: "pt-br",
    reference_id:     "1"

    # more attributes

For details on the attributes, see the API Reference documentation.

You can also define the API key globally:

Apisync.api_key = "my-key"

# Instantiate the client now without passing a token
client = Apisync.new


If you want to output to $stdout, set verbose: true:

# Define in the instance
client = Apisync.new(api_key: 'api-key', verbose: true)

# or define it globally
Apisync.verbose = true

That is useful on Rails console in development mode, so you know what requests are being made


You can inject a logger as well:

Apisync.logger = Logger.new($stdout)

# or
Apisync.logger = Rails.logger


All HTTP calls return an HTTPart::Response instance:

response = client.inventory_items.save(attributes)
response.success? # => true

In case too many requests are made simultaneously, the server will return 429 and this lib will raise the Apisync::TooManyRequests exception.


To run tests:

bundle exec rspec spec

To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.


Bug reports and pull requests are welcome on GitHub at https://github.com/apisync/apisync-ruby.


The gem is available as open source under the terms of the MIT License.