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(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