Class: NewStoreApi::Client

Inherits:
Object
  • Object
show all
Includes:
CoreLibrary
Defined in:
lib/new_store_api/client.rb

Overview

new_store_api client class.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection: nil, adapter: :net_http_persistent, timeout: 60, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put],, http_callback: nil, proxy_settings: nil, environment: Environment::STAGING, tenant: 'dodici', o_auth_client_id: nil, o_auth_client_secret: nil, o_auth_token: nil, o_auth_scopes: nil, client_credentials_auth_credentials: nil, config: nil) ⇒ Client

Returns a new instance of Client.



507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
# File 'lib/new_store_api/client.rb', line 507

def initialize(
  connection: nil, adapter: :net_http_persistent, timeout: 60,
  max_retries: 0, retry_interval: 1, backoff_factor: 2,
  retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
  retry_methods: %i[get put], http_callback: nil, proxy_settings: nil,
  environment: Environment::STAGING, tenant: 'dodici',
  o_auth_client_id: nil, o_auth_client_secret: nil, o_auth_token: nil,
  o_auth_scopes: nil, client_credentials_auth_credentials: nil, config: nil
)
  @config = if config.nil?
              Configuration.new(
                connection: connection, adapter: adapter, timeout: timeout,
                max_retries: max_retries, retry_interval: retry_interval,
                backoff_factor: backoff_factor,
                retry_statuses: retry_statuses,
                retry_methods: retry_methods, http_callback: http_callback,
                proxy_settings: proxy_settings, environment: environment,
                tenant: tenant, o_auth_client_id: o_auth_client_id,
                o_auth_client_secret: o_auth_client_secret,
                o_auth_token: o_auth_token, o_auth_scopes: o_auth_scopes,
                client_credentials_auth_credentials: client_credentials_auth_credentials
              )
            else
              config
            end

  @global_configuration = GlobalConfiguration.new(client_configuration: @config)
                                             .base_uri_executor(@config.method(:get_base_uri))
                                             .global_errors(BaseController::GLOBAL_ERRORS)
                                             .user_agent(BaseController.user_agent)

  initialize_auth_managers(@global_configuration)
  @global_configuration = @global_configuration.auth_managers(@auth_managers)
end

Instance Attribute Details

#auth_managersObject (readonly)

Returns the value of attribute auth_managers.



10
11
12
# File 'lib/new_store_api/client.rb', line 10

def auth_managers
  @auth_managers
end

#configObject (readonly)

Returns the value of attribute config.



10
11
12
# File 'lib/new_store_api/client.rb', line 10

def config
  @config
end

Class Method Details

.from_env(**overrides) ⇒ Object

Creates a client directly from environment variables.



553
554
555
556
557
# File 'lib/new_store_api/client.rb', line 553

def self.from_env(**overrides)
  default_config = Configuration.build_default_config_from_env
  new_config = default_config.clone_with(**overrides)
  new(config: new_config)
end

Instance Method Details

#addressAddressController

Access to address controller.

Returns:



83
84
85
# File 'lib/new_store_api/client.rb', line 83

def address
  @address ||= AddressController.new @global_configuration
end

#address_completionAddressCompletionController

Access to address_completion controller.

Returns:



383
384
385
# File 'lib/new_store_api/client.rb', line 383

def address_completion
  @address_completion ||= AddressCompletionController.new @global_configuration
end

#adyen_adapterAdyenAdapterController

Access to adyen_adapter controller.

Returns:



329
330
331
# File 'lib/new_store_api/client.rb', line 329

def adyen_adapter
  @adyen_adapter ||= AdyenAdapterController.new @global_configuration
end

#associate_app_experiments_configurationAssociateAppExperimentsConfigurationController

Access to associate_app_experiments_configuration controller.

Returns:



419
420
421
# File 'lib/new_store_api/client.rb', line 419

def associate_app_experiments_configuration
  @associate_app_experiments_configuration ||= AssociateAppExperimentsConfigurationController.new @global_configuration
end

#audit_eventsAuditEventsController

Access to audit_events controller.

Returns:



461
462
463
# File 'lib/new_store_api/client.rb', line 461

def audit_events
  @audit_events ||= AuditEventsController.new @global_configuration
end

#bookingsBookingsController

Access to bookings controller.

Returns:



203
204
205
# File 'lib/new_store_api/client.rb', line 203

def bookings
  @bookings ||= BookingsController.new @global_configuration
end

#cartCartController

Access to cart controller.

Returns:



41
42
43
# File 'lib/new_store_api/client.rb', line 41

def cart
  @cart ||= CartController.new @global_configuration
end

#cashboxesCashboxesController

Access to cashboxes controller.

Returns:



137
138
139
# File 'lib/new_store_api/client.rb', line 137

def cashboxes
  @cashboxes ||= CashboxesController.new @global_configuration
end

#clientsClientsController

Access to clients controller.

Returns:



233
234
235
# File 'lib/new_store_api/client.rb', line 233

def clients
  @clients ||= ClientsController.new @global_configuration
end

#countingCountingController

Access to counting controller.

Returns:



287
288
289
# File 'lib/new_store_api/client.rb', line 287

def counting
  @counting ||= CountingController.new @global_configuration
end

#customer_configurationCustomerConfigurationController

Access to customer_configuration controller.

Returns:



89
90
91
# File 'lib/new_store_api/client.rb', line 89

def customer_configuration
  @customer_configuration ||= CustomerConfigurationController.new @global_configuration
end

#customer_profileCustomerProfileController

Access to customer_profile controller.

Returns:



65
66
67
# File 'lib/new_store_api/client.rb', line 65

def customer_profile
  @customer_profile ||= CustomerProfileController.new @global_configuration
end

#dataDataController

Access to data controller.

Returns:



71
72
73
# File 'lib/new_store_api/client.rb', line 71

def data
  @data ||= DataController.new @global_configuration
end

#datasetsDatasetsController

Access to datasets controller.

Returns:



101
102
103
# File 'lib/new_store_api/client.rb', line 101

def datasets
  @datasets ||= DatasetsController.new @global_configuration
end

#device_notificationsDeviceNotificationsController

Access to device_notifications controller.

Returns:



395
396
397
# File 'lib/new_store_api/client.rb', line 395

def device_notifications
  @device_notifications ||= DeviceNotificationsController.new @global_configuration
end

#device_registrationsDeviceRegistrationsController

Access to device_registrations controller.

Returns:



401
402
403
# File 'lib/new_store_api/client.rb', line 401

def device_registrations
  @device_registrations ||= DeviceRegistrationsController.new @global_configuration
end

#device_subscriptionsDeviceSubscriptionsController

Access to device_subscriptions controller.

Returns:



407
408
409
# File 'lib/new_store_api/client.rb', line 407

def device_subscriptions
  @device_subscriptions ||= DeviceSubscriptionsController.new @global_configuration
end

#discountsDiscountsController

Access to discounts controller.

Returns:



365
366
367
# File 'lib/new_store_api/client.rb', line 365

def discounts
  @discounts ||= DiscountsController.new @global_configuration
end

#easypost_adapter_configEasypostAdapterConfigController

Access to easypost_adapter_config controller.

Returns:



161
162
163
# File 'lib/new_store_api/client.rb', line 161

def easypost_adapter_config
  @easypost_adapter_config ||= EasypostAdapterConfigController.new @global_configuration
end

#eventsEventsController

Access to events controller.

Returns:



113
114
115
# File 'lib/new_store_api/client.rb', line 113

def events
  @events ||= EventsController.new @global_configuration
end

#extensionsExtensionsController

Access to extensions controller.

Returns:



119
120
121
# File 'lib/new_store_api/client.rb', line 119

def extensions
  @extensions ||= ExtensionsController.new @global_configuration
end

#financial_documentFinancialDocumentController

Access to financial_document controller.

Returns:



47
48
49
# File 'lib/new_store_api/client.rb', line 47

def financial_document
  @financial_document ||= FinancialDocumentController.new @global_configuration
end

#fiscal_providersFiscalProvidersController

Access to fiscal_providers controller.

Returns:



149
150
151
# File 'lib/new_store_api/client.rb', line 149

def fiscal_providers
  @fiscal_providers ||= FiscalProvidersController.new @global_configuration
end

#fulfillment_requestsFulfillmentRequestsController

Access to fulfillment_requests controller.

Returns:



209
210
211
# File 'lib/new_store_api/client.rb', line 209

def fulfillment_requests
  @fulfillment_requests ||= FulfillmentRequestsController.new @global_configuration
end

#fulfillment_tasksFulfillmentTasksController

Access to fulfillment_tasks controller.

Returns:



215
216
217
# File 'lib/new_store_api/client.rb', line 215

def fulfillment_tasks
  @fulfillment_tasks ||= FulfillmentTasksController.new @global_configuration
end

#identity_providersIdentityProvidersController

Access to identity_providers controller.

Returns:



239
240
241
# File 'lib/new_store_api/client.rb', line 239

def identity_providers
  @identity_providers ||= IdentityProvidersController.new @global_configuration
end

#import_schemasImportSchemasController

Access to import_schemas controller.

Returns:



23
24
25
# File 'lib/new_store_api/client.rb', line 23

def import_schemas
  @import_schemas ||= ImportSchemasController.new @global_configuration
end

#initialize_auth_managers(global_config) ⇒ Object

Initializes the auth managers hash used for authenticating API calls.

Parameters:

  • global_config (GlobalConfiguration)

    The global configuration of the SDK)



544
545
546
547
548
549
550
# File 'lib/new_store_api/client.rb', line 544

def initialize_auth_managers(global_config)
  @auth_managers = {}
  http_client_config = global_config.client_configuration
  %w[oauth].each { |auth| @auth_managers[auth] = nil }
  @auth_managers['oauth'] = OAuth2.new(http_client_config.client_credentials_auth_credentials,
                                       global_config)
end

#insightsInsightsController

Access to insights controller.

Returns:



275
276
277
# File 'lib/new_store_api/client.rb', line 275

def insights
  @insights ||= InsightsController.new @global_configuration
end

#installationsInstallationsController

Access to installations controller.

Returns:



125
126
127
# File 'lib/new_store_api/client.rb', line 125

def installations
  @installations ||= InstallationsController.new @global_configuration
end

#inventory_configurationInventoryConfigurationController

Access to inventory_configuration controller.

Returns:



281
282
283
# File 'lib/new_store_api/client.rb', line 281

def inventory_configuration
  @inventory_configuration ||= InventoryConfigurationController.new @global_configuration
end

#jobsJobsController

Access to jobs controller.

Returns:



107
108
109
# File 'lib/new_store_api/client.rb', line 107

def jobs
  @jobs ||= JobsController.new @global_configuration
end

#manifestsManifestsController

Access to manifests controller.

Returns:



197
198
199
# File 'lib/new_store_api/client.rb', line 197

def manifests
  @manifests ||= ManifestsController.new @global_configuration
end

#notificationsNotificationsController

Access to notifications controller.

Returns:



53
54
55
# File 'lib/new_store_api/client.rb', line 53

def notifications
  @notifications ||= NotificationsController.new @global_configuration
end

#o_auth_authorizationOAuthAuthorizationController

Access to o_auth_authorization controller.

Returns:



503
504
505
# File 'lib/new_store_api/client.rb', line 503

def o_auth_authorization
  @o_auth_authorization ||= OAuthAuthorizationController.new @global_configuration
end

#oauthObject

Returns the configured authentication oauth instance.



17
18
19
# File 'lib/new_store_api/client.rb', line 17

def oauth
  @auth_managers['oauth']
end

#order_injectionOrderInjectionController

Access to order_injection controller.

Returns:



455
456
457
# File 'lib/new_store_api/client.rb', line 455

def order_injection
  @order_injection ||= OrderInjectionController.new @global_configuration
end

#order_injection_configOrderInjectionConfigController

Access to order_injection_config controller.

Returns:



449
450
451
# File 'lib/new_store_api/client.rb', line 449

def order_injection_config
  @order_injection_config ||= OrderInjectionConfigController.new @global_configuration
end

#order_placementOrderPlacementController

Access to order_placement controller.

Returns:



323
324
325
# File 'lib/new_store_api/client.rb', line 323

def order_placement
  @order_placement ||= OrderPlacementController.new @global_configuration
end

#ordersOrdersController

Access to orders controller.

Returns:



143
144
145
# File 'lib/new_store_api/client.rb', line 143

def orders
  @orders ||= OrdersController.new @global_configuration
end

#package_typesPackageTypesController

Access to package_types controller.

Returns:



227
228
229
# File 'lib/new_store_api/client.rb', line 227

def package_types
  @package_types ||= PackageTypesController.new @global_configuration
end

#payment_accountPaymentAccountController

Access to payment_account controller.

Returns:



359
360
361
# File 'lib/new_store_api/client.rb', line 359

def 
  @payment_account ||= PaymentAccountController.new @global_configuration
end

#payment_definitionsPaymentDefinitionsController

Access to payment_definitions controller.

Returns:



335
336
337
# File 'lib/new_store_api/client.rb', line 335

def payment_definitions
  @payment_definitions ||= PaymentDefinitionsController.new @global_configuration
end

Access to payment_links controller.

Returns:



353
354
355
# File 'lib/new_store_api/client.rb', line 353

def payment_links
  @payment_links ||= PaymentLinksController.new @global_configuration
end

#phavda_notificationsPhavdaNotificationsController

Access to phavda_notifications controller.

Returns:



305
306
307
# File 'lib/new_store_api/client.rb', line 305

def phavda_notifications
  @phavda_notifications ||= PhavdaNotificationsController.new @global_configuration
end

#platform_event_callbacksPlatformEventCallbacksController

Access to platform_event_callbacks controller.

Returns:



467
468
469
# File 'lib/new_store_api/client.rb', line 467

def platform_event_callbacks
  @platform_event_callbacks ||= PlatformEventCallbacksController.new @global_configuration
end

#platform_statusPlatformStatusController

Access to platform_status controller.

Returns:



413
414
415
# File 'lib/new_store_api/client.rb', line 413

def platform_status
  @platform_status ||= PlatformStatusController.new @global_configuration
end

#pricebook_exportPricebookExportController

Access to pricebook_export controller.

Returns:



29
30
31
# File 'lib/new_store_api/client.rb', line 29

def pricebook_export
  @pricebook_export ||= PricebookExportController.new @global_configuration
end

#product_exportProductExportController

Access to product_export controller.

Returns:



35
36
37
# File 'lib/new_store_api/client.rb', line 35

def product_export
  @product_export ||= ProductExportController.new @global_configuration
end

#profilesProfilesController

Access to profiles controller.

Returns:



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

def profiles
  @profiles ||= ProfilesController.new @global_configuration
end

#provider_ratesProviderRatesController

Access to provider_rates controller.

Returns:



173
174
175
# File 'lib/new_store_api/client.rb', line 173

def provider_rates
  @provider_rates ||= ProviderRatesController.new @global_configuration
end

#providersProvidersController

Access to providers controller.

Returns:



347
348
349
# File 'lib/new_store_api/client.rb', line 347

def providers
  @providers ||= ProvidersController.new @global_configuration
end

#reason_codesReasonCodesController

Access to reason_codes controller.

Returns:



377
378
379
# File 'lib/new_store_api/client.rb', line 377

def reason_codes
  @reason_codes ||= ReasonCodesController.new @global_configuration
end

#reservationsReservationsController

Access to reservations controller.

Returns:



299
300
301
# File 'lib/new_store_api/client.rb', line 299

def reservations
  @reservations ||= ReservationsController.new @global_configuration
end

#rolesRolesController

Access to roles controller.

Returns:



257
258
259
# File 'lib/new_store_api/client.rb', line 257

def roles
  @roles ||= RolesController.new @global_configuration
end

#routingRoutingController

Access to routing controller.

Returns:



443
444
445
# File 'lib/new_store_api/client.rb', line 443

def routing
  @routing ||= RoutingController.new @global_configuration
end

#routing_configRoutingConfigController

Access to routing_config controller.

Returns:



437
438
439
# File 'lib/new_store_api/client.rb', line 437

def routing_config
  @routing_config ||= RoutingConfigController.new @global_configuration
end

#routing_rulesetRoutingRulesetController

Access to routing_ruleset controller.

Returns:



431
432
433
# File 'lib/new_store_api/client.rb', line 431

def routing_ruleset
  @routing_ruleset ||= RoutingRulesetController.new @global_configuration
end

#sales_goals_managementSalesGoalsManagementController

Access to sales_goals_management controller.

Returns:



263
264
265
# File 'lib/new_store_api/client.rb', line 263

def sales_goals_management
  @sales_goals_management ||= SalesGoalsManagementController.new @global_configuration
end

#sales_ordersSalesOrdersController

Access to sales_orders controller.

Returns:



311
312
313
# File 'lib/new_store_api/client.rb', line 311

def sales_orders
  @sales_orders ||= SalesOrdersController.new @global_configuration
end

#segmentationSegmentationController

Access to segmentation controller.

Returns:



95
96
97
# File 'lib/new_store_api/client.rb', line 95

def segmentation
  @segmentation ||= SegmentationController.new @global_configuration
end

#settingsSettingsController

Access to settings controller.

Returns:



389
390
391
# File 'lib/new_store_api/client.rb', line 389

def settings
  @settings ||= SettingsController.new @global_configuration
end

#shipment_configurationsShipmentConfigurationsController

Access to shipment_configurations controller.

Returns:



167
168
169
# File 'lib/new_store_api/client.rb', line 167

def shipment_configurations
  @shipment_configurations ||= ShipmentConfigurationsController.new @global_configuration
end

#shipping_labelsShippingLabelsController

Access to shipping_labels controller.

Returns:



191
192
193
# File 'lib/new_store_api/client.rb', line 191

def shipping_labels
  @shipping_labels ||= ShippingLabelsController.new @global_configuration
end

#shipping_option_auditsShippingOptionAuditsController

Access to shipping_option_audits controller.

Returns:



185
186
187
# File 'lib/new_store_api/client.rb', line 185

def shipping_option_audits
  @shipping_option_audits ||= ShippingOptionAuditsController.new @global_configuration
end

#shipping_optionsShippingOptionsController

Access to shipping_options controller.

Returns:



179
180
181
# File 'lib/new_store_api/client.rb', line 179

def shipping_options
  @shipping_options ||= ShippingOptionsController.new @global_configuration
end

#shortingsShortingsController

Access to shortings controller.

Returns:



221
222
223
# File 'lib/new_store_api/client.rb', line 221

def shortings
  @shortings ||= ShortingsController.new @global_configuration
end

#simulationSimulationController

Access to simulation controller.

Returns:



425
426
427
# File 'lib/new_store_api/client.rb', line 425

def simulation
  @simulation ||= SimulationController.new @global_configuration
end

#stockStockController

Access to stock controller.

Returns:



317
318
319
# File 'lib/new_store_api/client.rb', line 317

def stock
  @stock ||= StockController.new @global_configuration
end

#store_reporting_configStoreReportingConfigController

Access to store_reporting_config controller.

Returns:



269
270
271
# File 'lib/new_store_api/client.rb', line 269

def store_reporting_config
  @store_reporting_config ||= StoreReportingConfigController.new @global_configuration
end

#store_tax_configurationStoreTaxConfigurationController

Access to store_tax_configuration controller.

Returns:



479
480
481
# File 'lib/new_store_api/client.rb', line 479

def store_tax_configuration
  @store_tax_configuration ||= StoreTaxConfigurationController.new @global_configuration
end

#storesStoresController

Access to stores controller.

Returns:



131
132
133
# File 'lib/new_store_api/client.rb', line 131

def stores
  @stores ||= StoresController.new @global_configuration
end

#stripe_webhook_notificationsStripeWebhookNotificationsController

Access to stripe_webhook_notifications controller.

Returns:



341
342
343
# File 'lib/new_store_api/client.rb', line 341

def stripe_webhook_notifications
  @stripe_webhook_notifications ||= StripeWebhookNotificationsController.new @global_configuration
end

#support_usersSupportUsersController

Access to support_users controller.

Returns:



251
252
253
# File 'lib/new_store_api/client.rb', line 251

def support_users
  @support_users ||= SupportUsersController.new @global_configuration
end

#tax_definitionsTaxDefinitionsController

Access to tax_definitions controller.

Returns:



473
474
475
# File 'lib/new_store_api/client.rb', line 473

def tax_definitions
  @tax_definitions ||= TaxDefinitionsController.new @global_configuration
end

#tax_quotationsTaxQuotationsController

Access to tax_quotations controller.

Returns:



491
492
493
# File 'lib/new_store_api/client.rb', line 491

def tax_quotations
  @tax_quotations ||= TaxQuotationsController.new @global_configuration
end

#tax_transactionsTaxTransactionsController

Access to tax_transactions controller.

Returns:



485
486
487
# File 'lib/new_store_api/client.rb', line 485

def tax_transactions
  @tax_transactions ||= TaxTransactionsController.new @global_configuration
end

#tenant_configTenantConfigController

Access to tenant_config controller.

Returns:



155
156
157
# File 'lib/new_store_api/client.rb', line 155

def tenant_config
  @tenant_config ||= TenantConfigController.new @global_configuration
end

#tenant_tax_configurationTenantTaxConfigurationController

Access to tenant_tax_configuration controller.

Returns:



497
498
499
# File 'lib/new_store_api/client.rb', line 497

def tenant_tax_configuration
  @tenant_tax_configuration ||= TenantTaxConfigurationController.new @global_configuration
end

#token_operationsTokenOperationsController

Access to token_operations controller.

Returns:



77
78
79
# File 'lib/new_store_api/client.rb', line 77

def token_operations
  @token_operations ||= TokenOperationsController.new @global_configuration
end

#tppeTppeController

Access to tppe controller.

Returns:



371
372
373
# File 'lib/new_store_api/client.rb', line 371

def tppe
  @tppe ||= TppeController.new @global_configuration
end

#transferringTransferringController

Access to transferring controller.

Returns:



293
294
295
# File 'lib/new_store_api/client.rb', line 293

def transferring
  @transferring ||= TransferringController.new @global_configuration
end

#user_agent_detailObject



12
13
14
# File 'lib/new_store_api/client.rb', line 12

def user_agent_detail
  config.user_agent_detail
end

#usersUsersController

Access to users controller.

Returns:



245
246
247
# File 'lib/new_store_api/client.rb', line 245

def users
  @users ||= UsersController.new @global_configuration
end