Sha256: b4b7cfefd48c82ed06a7fb2894f033ac8ec208bf0a088353e7ea0c4150a4d506

Contents?: true

Size: 995 Bytes

Versions: 10

Compression:

Stored size: 995 Bytes

Contents

module Services
  module Hubspot
    module Contacts
      class CreateBatch
        def initialize(emails, access_token)
          @emails = emails
          @access_token = access_token
        end

        def call
          contacts_object = ::Hubspot::Crm::Contacts::BatchInputSimplePublicObjectInput.new(
            inputs: contacts
          )
          batch_api.create_batch(body: contacts_object, auth_names: 'oauth2')
        end

        private

        def contacts
          @emails.map do |email|
            ::Hubspot::Crm::Contacts::SimplePublicObjectInput.new(
              properties: { email: email }
            )
          end
        end

        def batch_api
          config = ::Hubspot::Crm::Contacts::Configuration.new do |config|
            config.access_token = @access_token
          end
          api_client = ::Hubspot::Crm::Contacts::ApiClient.new(config)
          ::Hubspot::Crm::Contacts::BatchApi.new(api_client)
        end
      end
    end
  end
end

Version data entries

10 entries across 5 versions & 1 rubygems

Version Path
hubspot-api-client-2.3.2 sample-apps/rate-limits-redis-sample-app/app/lib/services/hubspot/contacts/create_batch.rb
hubspot-api-client-2.3.2 sample-apps/leaky-bucket-app/app/lib/services/hubspot/contacts/create_batch.rb
hubspot-api-client-2.3.1 sample-apps/leaky-bucket-app/app/lib/services/hubspot/contacts/create_batch.rb
hubspot-api-client-2.3.1 sample-apps/rate-limits-redis-sample-app/app/lib/services/hubspot/contacts/create_batch.rb
hubspot-api-client-2.2.0 sample-apps/rate-limits-redis-sample-app/app/lib/services/hubspot/contacts/create_batch.rb
hubspot-api-client-2.2.0 sample-apps/leaky-bucket-app/app/lib/services/hubspot/contacts/create_batch.rb
hubspot-api-client-2.1.0 sample-apps/rate-limits-redis-sample-app/app/lib/services/hubspot/contacts/create_batch.rb
hubspot-api-client-2.1.0 sample-apps/leaky-bucket-app/app/lib/services/hubspot/contacts/create_batch.rb
hubspot-api-client-2.0.0 sample-apps/leaky-bucket-app/app/lib/services/hubspot/contacts/create_batch.rb
hubspot-api-client-2.0.0 sample-apps/rate-limits-redis-sample-app/app/lib/services/hubspot/contacts/create_batch.rb