Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .fernignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
lib/square_legacy/
lib/square_legacy.rb
1,248 changes: 672 additions & 576 deletions CHANGELOG.md

Large diffs are not rendered by default.

13 changes: 3 additions & 10 deletions doc/auth/oauth-2-bearer-token.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@

# OAuth 2 Bearer token



Documentation for accessing and setting credentials for global.

## Auth Credentials

| Name | Type | Description | Getter |
| --- | --- | --- | --- |
| Name | Type | Description | Getter |
| ----------- | -------- | --------------------------------------------------- | -------------- |
| AccessToken | `String` | The OAuth 2.0 Access Token to use for API requests. | `access_token` |



**Note:** Auth credentials can be set using named parameter for any of the above credentials (e.g. `access_token`) in the client initialization.

## Usage Example
Expand All @@ -22,11 +17,9 @@ Documentation for accessing and setting credentials for global.
You must provide credentials in the client as shown in the following code snippet.

```ruby
client = Square::Client.new(
client = SquareLegacy::Client.new(
bearer_auth_credentials: BearerAuthCredentials.new(
access_token: 'AccessToken'
)
)
```


146 changes: 72 additions & 74 deletions doc/client.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,29 @@

# Client Class Documentation

The following parameters are configurable for the API Client:

| Parameter | Type | Description |
| --- | --- | --- |
| `square_version` | `String` | Square Connect API versions<br>*Default*: `'2025-07-16'` |
| `custom_url` | `String` | Sets the base URL requests are made to. Defaults to `https://connect.squareup.com`<br>*Default*: `'https://connect.squareup.com'` |
| `environment` | `string` | The API environment. <br> **Default: `production`** |
| `connection` | `Faraday::Connection` | The Faraday connection object passed by the SDK user for making requests |
| `adapter` | `Faraday::Adapter` | The Faraday adapter object passed by the SDK user for performing http requests |
| `timeout` | `Float` | The value to use for connection timeout. <br> **Default: 60** |
| `max_retries` | `Integer` | The number of times to retry an endpoint call if it fails. <br> **Default: 0** |
| `retry_interval` | `Float` | Pause in seconds between retries. <br> **Default: 1** |
| `backoff_factor` | `Float` | The amount to multiply each successive retry's interval amount by in order to provide backoff. <br> **Default: 2** |
| `retry_statuses` | `Array` | A list of HTTP statuses to retry. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
| `retry_methods` | `Array` | A list of HTTP methods to retry. <br> **Default: %i[get put]** |
| `http_callback` | `HttpCallBack` | The Http CallBack allows defining callables for pre and post API calls. |
| `user_agent_detail` | `string` | User agent detail, to be appended with user-agent header. |
| `additional_headers` | `String` | Additional headers to add to each API request |
| `bearer_auth_credentials` | [`BearerAuthCredentials`](auth/oauth-2-bearer-token.md) | The credential object for OAuth 2 Bearer token |
| Parameter | Type | Description |
| ------------------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `square_version` | `String` | Square Connect API versions<br>_Default_: `'2025-07-16'` |
| `custom_url` | `String` | Sets the base URL requests are made to. Defaults to `https://connect.squareup.com`<br>_Default_: `'https://connect.squareup.com'` |
| `environment` | `string` | The API environment. <br> **Default: `production`** |
| `connection` | `Faraday::Connection` | The Faraday connection object passed by the SDK user for making requests |
| `adapter` | `Faraday::Adapter` | The Faraday adapter object passed by the SDK user for performing http requests |
| `timeout` | `Float` | The value to use for connection timeout. <br> **Default: 60** |
| `max_retries` | `Integer` | The number of times to retry an endpoint call if it fails. <br> **Default: 0** |
| `retry_interval` | `Float` | Pause in seconds between retries. <br> **Default: 1** |
| `backoff_factor` | `Float` | The amount to multiply each successive retry's interval amount by in order to provide backoff. <br> **Default: 2** |
| `retry_statuses` | `Array` | A list of HTTP statuses to retry. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
| `retry_methods` | `Array` | A list of HTTP methods to retry. <br> **Default: %i[get put]** |
| `http_callback` | `HttpCallBack` | The Http CallBack allows defining callables for pre and post API calls. |
| `user_agent_detail` | `string` | User agent detail, to be appended with user-agent header. |
| `additional_headers` | `String` | Additional headers to add to each API request |
| `bearer_auth_credentials` | [`BearerAuthCredentials`](auth/oauth-2-bearer-token.md) | The credential object for OAuth 2 Bearer token |

The API client can be initialized as follows:

```ruby
client = Square::Client.new(
client = SquareLegacy::Client.new(
square_version: '2025-06-18',
bearer_auth_credentials: BearerAuthCredentials.new(
access_token: 'AccessToken'
Expand All @@ -36,25 +35,25 @@ client = Square::Client.new(

API calls return an `ApiResponse` object that includes the following fields:

| Field | Description |
| --- | --- |
| `status_code` | Status code of the HTTP response |
| `reason_phrase` | Reason phrase of the HTTP response |
| `headers` | Headers of the HTTP response as a Hash |
| `raw_body` | The body of the HTTP response as a String |
| `request` | HTTP request info |
| `errors` | Errors, if they exist |
| `cursor` | Cursor, if it exists |
| `body` | The deserialized body of the HTTP response |
| `data` | Data portion of returned body |
| Field | Description |
| --------------- | ------------------------------------------ |
| `status_code` | Status code of the HTTP response |
| `reason_phrase` | Reason phrase of the HTTP response |
| `headers` | Headers of the HTTP response as a Hash |
| `raw_body` | The body of the HTTP response as a String |
| `request` | HTTP request info |
| `errors` | Errors, if they exist |
| `cursor` | Cursor, if it exists |
| `body` | The deserialized body of the HTTP response |
| `data` | Data portion of returned body |

## Make Calls with the API Client

```ruby
require 'square'
require 'square_legacy'
include Square

client = Square::Client.new(
client = SquareLegacy::Client.new(
square_version: '2025-06-18',
bearer_auth_credentials: BearerAuthCredentials.new(
access_token: 'AccessToken'
Expand All @@ -78,48 +77,47 @@ The gateway for the SDK. This class acts as a factory for the Apis and also hold

## API

| Name | Description |
| --- | --- |
| mobile_authorization | Gets MobileAuthorizationApi |
| o_auth | Gets OAuthApi |
| v1_transactions | Gets V1TransactionsApi |
| apple_pay | Gets ApplePayApi |
| bank_accounts | Gets BankAccountsApi |
| bookings | Gets BookingsApi |
| booking_custom_attributes | Gets BookingCustomAttributesApi |
| cards | Gets CardsApi |
| cash_drawers | Gets CashDrawersApi |
| catalog | Gets CatalogApi |
| customers | Gets CustomersApi |
| Name | Description |
| -------------------------- | -------------------------------- |
| mobile_authorization | Gets MobileAuthorizationApi |
| o_auth | Gets OAuthApi |
| v1_transactions | Gets V1TransactionsApi |
| apple_pay | Gets ApplePayApi |
| bank_accounts | Gets BankAccountsApi |
| bookings | Gets BookingsApi |
| booking_custom_attributes | Gets BookingCustomAttributesApi |
| cards | Gets CardsApi |
| cash_drawers | Gets CashDrawersApi |
| catalog | Gets CatalogApi |
| customers | Gets CustomersApi |
| customer_custom_attributes | Gets CustomerCustomAttributesApi |
| customer_groups | Gets CustomerGroupsApi |
| customer_segments | Gets CustomerSegmentsApi |
| devices | Gets DevicesApi |
| disputes | Gets DisputesApi |
| employees | Gets EmployeesApi |
| events | Gets EventsApi |
| gift_cards | Gets GiftCardsApi |
| gift_card_activities | Gets GiftCardActivitiesApi |
| inventory | Gets InventoryApi |
| invoices | Gets InvoicesApi |
| labor | Gets LaborApi |
| locations | Gets LocationsApi |
| customer_groups | Gets CustomerGroupsApi |
| customer_segments | Gets CustomerSegmentsApi |
| devices | Gets DevicesApi |
| disputes | Gets DisputesApi |
| employees | Gets EmployeesApi |
| events | Gets EventsApi |
| gift_cards | Gets GiftCardsApi |
| gift_card_activities | Gets GiftCardActivitiesApi |
| inventory | Gets InventoryApi |
| invoices | Gets InvoicesApi |
| labor | Gets LaborApi |
| locations | Gets LocationsApi |
| location_custom_attributes | Gets LocationCustomAttributesApi |
| checkout | Gets CheckoutApi |
| transactions | Gets TransactionsApi |
| loyalty | Gets LoyaltyApi |
| merchants | Gets MerchantsApi |
| checkout | Gets CheckoutApi |
| transactions | Gets TransactionsApi |
| loyalty | Gets LoyaltyApi |
| merchants | Gets MerchantsApi |
| merchant_custom_attributes | Gets MerchantCustomAttributesApi |
| orders | Gets OrdersApi |
| order_custom_attributes | Gets OrderCustomAttributesApi |
| payments | Gets PaymentsApi |
| payouts | Gets PayoutsApi |
| refunds | Gets RefundsApi |
| sites | Gets SitesApi |
| snippets | Gets SnippetsApi |
| subscriptions | Gets SubscriptionsApi |
| team | Gets TeamApi |
| terminal | Gets TerminalApi |
| vendors | Gets VendorsApi |
| webhook_subscriptions | Gets WebhookSubscriptionsApi |

| orders | Gets OrdersApi |
| order_custom_attributes | Gets OrderCustomAttributesApi |
| payments | Gets PaymentsApi |
| payouts | Gets PayoutsApi |
| refunds | Gets RefundsApi |
| sites | Gets SitesApi |
| snippets | Gets SnippetsApi |
| subscriptions | Gets SubscriptionsApi |
| team | Gets TeamApi |
| terminal | Gets TerminalApi |
| vendors | Gets VendorsApi |
| webhook_subscriptions | Gets WebhookSubscriptionsApi |
4 changes: 2 additions & 2 deletions examples/customers.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'square'
require 'square_legacy'

# Initialize Square Client
square = Square::Client.new(
square = SquareLegacy::Client.new(
access_token: 'ACCESS_TOKEN'
)

Expand Down
76 changes: 0 additions & 76 deletions lib/square.rb

This file was deleted.

76 changes: 76 additions & 0 deletions lib/square_legacy.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
require 'date'
require 'json'

require 'apimatic_core_interfaces'
require 'apimatic_core'
require 'apimatic_faraday_client_adapter'

require_relative 'square_legacy/api_helper'
require_relative 'square_legacy/client'

# Utilities
require_relative 'square_legacy/utilities/file_wrapper'
require_relative 'square_legacy/utilities/date_time_helper'

# Http
require_relative 'square_legacy/http/api_response'
require_relative 'square_legacy/http/http_call_back'
require_relative 'square_legacy/http/http_method_enum'
require_relative 'square_legacy/http/http_request'
require_relative 'square_legacy/http/http_response'

# Logger
require_relative 'square_legacy/http/auth/o_auth2'

# Models

# Exceptions
require_relative 'square_legacy/exceptions/api_exception'

require_relative 'square_legacy/configuration'

# Controllers
require_relative 'square_legacy/api/base_api'
require_relative 'square_legacy/api/mobile_authorization_api'
require_relative 'square_legacy/api/o_auth_api'
require_relative 'square_legacy/api/v1_transactions_api'
require_relative 'square_legacy/api/apple_pay_api'
require_relative 'square_legacy/api/bank_accounts_api'
require_relative 'square_legacy/api/bookings_api'
require_relative 'square_legacy/api/booking_custom_attributes_api'
require_relative 'square_legacy/api/cards_api'
require_relative 'square_legacy/api/cash_drawers_api'
require_relative 'square_legacy/api/catalog_api'
require_relative 'square_legacy/api/customers_api'
require_relative 'square_legacy/api/customer_custom_attributes_api'
require_relative 'square_legacy/api/customer_groups_api'
require_relative 'square_legacy/api/customer_segments_api'
require_relative 'square_legacy/api/devices_api'
require_relative 'square_legacy/api/disputes_api'
require_relative 'square_legacy/api/employees_api'
require_relative 'square_legacy/api/events_api'
require_relative 'square_legacy/api/gift_cards_api'
require_relative 'square_legacy/api/gift_card_activities_api'
require_relative 'square_legacy/api/inventory_api'
require_relative 'square_legacy/api/invoices_api'
require_relative 'square_legacy/api/labor_api'
require_relative 'square_legacy/api/locations_api'
require_relative 'square_legacy/api/location_custom_attributes_api'
require_relative 'square_legacy/api/checkout_api'
require_relative 'square_legacy/api/transactions_api'
require_relative 'square_legacy/api/loyalty_api'
require_relative 'square_legacy/api/merchants_api'
require_relative 'square_legacy/api/merchant_custom_attributes_api'
require_relative 'square_legacy/api/orders_api'
require_relative 'square_legacy/api/order_custom_attributes_api'
require_relative 'square_legacy/api/payments_api'
require_relative 'square_legacy/api/payouts_api'
require_relative 'square_legacy/api/refunds_api'
require_relative 'square_legacy/api/sites_api'
require_relative 'square_legacy/api/snippets_api'
require_relative 'square_legacy/api/subscriptions_api'
require_relative 'square_legacy/api/team_api'
require_relative 'square_legacy/api/terminal_api'
require_relative 'square_legacy/api/vendors_api'
require_relative 'square_legacy/api/webhook_subscriptions_api'
require_relative 'square_legacy/utilities/webhooks_helper'
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module Square
module SquareLegacy
# ApplePayApi
class ApplePayApi < BaseApi
# Activates a domain for use with Apple Pay on the Web and Square. A
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module Square
module SquareLegacy
# BankAccountsApi
class BankAccountsApi < BaseApi
# Returns a list of [BankAccount]($m/BankAccount) objects linked to a Square
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module Square
module SquareLegacy
# BaseApi.
class BaseApi
include CoreLibrary
Expand Down
Loading
Loading