mhenrixon / active_campaign

A simple ruby wrapper for the ActiveCampaign API

Home Page:http://www.activecampaign.com/api/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JSON::ParserError: A JSON text must at least contain two octets!

sythang opened this issue · comments

I using active_campaign version 0.1.14 and i have issue

@client = ::ActiveCampaign::Client.new(api_endpoint: ENV['ACTIVE_CAMPAIGN_ENDPOINT'], api_key: ENV['ACTIVE_CAMPAIGN_KEY'])
   params = {
        :query => { :listid => 1 },
        :id => 1,
        :email=>'example@email.com',
        :ip4 => '127.0.0.1'
      }
@client.contact_add(params)

Error log:

JSON::ParserError: A JSON text must at least contain two octets!
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/json_pure-1.8.3/lib/json/common.rb:155:in `initialize'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/json_pure-1.8.3/lib/json/common.rb:155:in `new'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/json_pure-1.8.3/lib/json/common.rb:155:in `parse'
    from /Users/julian/.rvm/gems/ruby-2.3.0@skilltracker/gems/active_campaign-0.1.14/lib/active_campaign/client.rb:77:in `request'
    from /Users/julian/.rvm/gems/ruby-2.3.0@skilltracker/gems/active_campaign-0.1.14/lib/active_campaign/client.rb:51:in `get'
    from /Users/julian/.rvm/gems/ruby-2.3.0@skilltracker/gems/active_campaign-0.1.14/lib/active_campaign/method_creator.rb:28:in `block in define_api_method'
    from /Users/julian/Documents/vinova/skilltracker-backend/app/services/service/active_campaign.rb:17:in `contact_add'
    from (irb):14
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/railties-4.2.5.1/lib/rails/commands/console.rb:110:in `start'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/railties-4.2.5.1/lib/rails/commands/console.rb:9:in `start'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:68:in `console'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/railties-4.2.5.1/lib/rails/commands.rb:17:in `<top (required)>'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:274:in `require'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:274:in `block in require'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:240:in `load_dependency'
... 2 levels...
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:268:in `load'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:268:in `block in load'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:240:in `load_dependency'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:268:in `load'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/spring-1.7.1/lib/spring/commands/rails.rb:6:in `call'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/spring-1.7.1/lib/spring/command_wrapper.rb:38:in `call'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/spring-1.7.1/lib/spring/application.rb:191:in `block in serve'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/spring-1.7.1/lib/spring/application.rb:161:in `fork'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/spring-1.7.1/lib/spring/application.rb:161:in `serve'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/spring-1.7.1/lib/spring/application.rb:131:in `block in run'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/spring-1.7.1/lib/spring/application.rb:125:in `loop'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/spring-1.7.1/lib/spring/application.rb:125:in `run'
    from /Users/julian/.rvm/gems/ruby-2.3.0@global/gems/spring-1.7.1/lib/spring/application/boot.rb:19:in `<top (required)>'
    from /Users/julian/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/julian/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'

@sythang What does your endpoint URL look like? I just got this and as it turns out you can't simply copy and paste the URL from the ActiveCampaign settings, you have to stick /admin/api.php onto the end of it.

This worked for me as well. Is it required? If so I'd be happy to open a PR updating the documentation.

@jonah-katz Yes, it does seem to be required, otherwise it doesn't work.