Module: Attio

Defined in:
lib/attio.rb,
lib/attio/client.rb,
lib/attio/errors.rb,
lib/attio/version.rb,
lib/attio/oauth/token.rb,
lib/attio/api_resource.rb,
lib/attio/oauth/client.rb,
lib/attio/webhook/event.rb,
lib/attio/resources/deal.rb,
lib/attio/resources/list.rb,
lib/attio/resources/meta.rb,
lib/attio/resources/note.rb,
lib/attio/resources/task.rb,
lib/attio/internal/record.rb,
lib/attio/resources/entry.rb,
lib/attio/resources/object.rb,
lib/attio/resources/person.rb,
lib/attio/resources/thread.rb,
lib/attio/util/time_period.rb,
lib/attio/resources/comment.rb,
lib/attio/resources/company.rb,
lib/attio/resources/webhook.rb,
lib/attio/util/id_extractor.rb,
lib/attio/util/configuration.rb,
lib/attio/resources/attribute.rb,
lib/attio/builders/name_builder.rb,
lib/attio/oauth/scope_validator.rb,
lib/attio/resources/typed_record.rb,
lib/attio/util/webhook_signature.rb,
lib/attio/util/currency_formatter.rb,
lib/attio/concerns/time_filterable.rb,
lib/attio/resources/workspace_member.rb,
lib/attio/webhook/signature_verifier.rb

Overview

Attio Ruby SDK

The official Ruby client library for the Attio API. This library provides a simple and intuitive interface for interacting with Attio's CRM platform.

Examples:

Basic configuration

Attio.configure do |config|
  config.api_key = "your_api_key"
end

Creating a person

person = Attio::Person.create(
  first_name: "John",
  last_name: "Doe",
  email: "[email protected]"
)

See Also:

Defined Under Namespace

Modules: Builders, Concerns, ErrorFactory, OAuth, Util, WebhookUtils Classes: APIResource, Attribute, AuthenticationError, BadRequestError, Client, ClientError, Comment, Company, ConfigurationError, ConflictError, ConnectionError, Deal, Entry, Error, ForbiddenError, InvalidRequestError, List, Meta, NetworkError, NotFoundError, Note, Object, Person, RateLimitError, ServerError, Task, Thread, TimeoutError, TypedRecord, UnprocessableEntityError, Webhook, WorkspaceMember

Constant Summary collapse

VERSION =

Current version of the Attio Ruby gem

"0.1.5"
Deals =

Alias for Deal (plural form)

Examples:

Attio::Deals.create(name: "New Deal", value: 10000)
Deal
People =

Convenience alias

Person
Companies =

Convenience alias

Company

Class Method Summary collapse

Class Method Details

.api_baseString

Gets the API base URL

Returns:

  • (String)

    The API base URL



103
104
105
# File 'lib/attio.rb', line 103

def api_base
  configuration.api_base
end

.api_keyString?

Gets the current API key

Returns:

  • (String, nil)

    The API key



88
89
90
# File 'lib/attio.rb', line 88

def api_key
  configuration.api_key
end

.api_key=(value) ⇒ String

Sets the API key

Parameters:

  • value (String)

    The API key

Returns:

  • (String)

    The API key



96
97
98
# File 'lib/attio.rb', line 96

def api_key=(value)
  configuration.api_key = value
end

.api_versionString

Gets the API version

Returns:

  • (String)

    The API version



110
111
112
# File 'lib/attio.rb', line 110

def api_version
  configuration.api_version
end

.client(api_key: nil) ⇒ Client

Creates a new HTTP client instance

Returns:

  • (Client)

    The HTTP client



117
118
119
# File 'lib/attio.rb', line 117

def client(api_key: nil)
  Client.new(api_key: api_key)
end

.configurationAttio::Util::Configuration

Returns the current configuration object

Returns:



59
60
61
# File 'lib/attio.rb', line 59

def configuration
  @configuration ||= Util::Configuration.new.tap(&:apply_env_vars!)
end

.configure {|config| ... } ⇒ Object

Configures the Attio client

Examples:

Attio.configure do |config|
  config.api_key = "your_api_key"
  config.timeout = 30
  config.debug = true
end

Yields:

  • (config)

    Configuration block

Yield Parameters:



74
75
76
# File 'lib/attio.rb', line 74

def configure(&)
  configuration.configure(&)
end

.reset!nil

Resets the configuration to defaults

Returns:

  • (nil)


81
82
83
# File 'lib/attio.rb', line 81

def reset!
  @configuration = nil
end