Class: WalmartApIs::Client

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

Overview

walmart_ap_is client class.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection: nil, adapter: :net_http_persistent, timeout: 30, 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, logging_configuration: nil, environment: Environment::PRODUCTION, seller_auth_authorization_code_credentials: nil, seller_auth_client_credentials_credentials: nil, basic_client_auth_credentials: nil, wallet_auth_credentials: nil, config: nil) ⇒ Client

Returns a new instance of Client.



223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
# File 'lib/walmart_ap_is/client.rb', line 223

def initialize(
  connection: nil, adapter: :net_http_persistent, timeout: 30,
  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,
  logging_configuration: nil, environment: Environment::PRODUCTION,
  seller_auth_authorization_code_credentials: nil,
  seller_auth_client_credentials_credentials: nil,
  basic_client_auth_credentials: nil, wallet_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,
                logging_configuration: logging_configuration,
                environment: environment,
                seller_auth_authorization_code_credentials: seller_auth_authorization_code_credentials,
                seller_auth_client_credentials_credentials: seller_auth_client_credentials_credentials,
                basic_client_auth_credentials: basic_client_auth_credentials,
                wallet_auth_credentials: wallet_auth_credentials
              )
            else
              config
            end
  user_agent_params = BaseApi.user_agent_parameters

  @global_configuration = GlobalConfiguration.new(client_configuration: @config)
                                             .base_uri_executor(@config.method(:get_base_uri))
                                             .global_errors(BaseApi::GLOBAL_ERRORS)
                                             .user_agent(BaseApi.user_agent,
                                                         agent_parameters: user_agent_params)

  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/walmart_ap_is/client.rb', line 10

def auth_managers
  @auth_managers
end

#configObject (readonly)

Returns the value of attribute config.



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

def config
  @config
end

Class Method Details

.from_env(**overrides) ⇒ Object

Creates a client directly from environment variables.



286
287
288
289
290
# File 'lib/walmart_ap_is/client.rb', line 286

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

#authorizationAuthorizationApi

Access to authorization controller.

Returns:



33
34
35
# File 'lib/walmart_ap_is/client.rb', line 33

def authorization
  @authorization ||= AuthorizationApi.new @global_configuration
end

#catalogCatalogApi

Access to catalog controller.

Returns:

  • (CatalogApi)

    Returns the controller instance.



39
40
41
# File 'lib/walmart_ap_is/client.rb', line 39

def catalog
  @catalog ||= CatalogApi.new @global_configuration
end

#data_kioskDataKioskApi

Access to data_kiosk controller.

Returns:



45
46
47
# File 'lib/walmart_ap_is/client.rb', line 45

def data_kiosk
  @data_kiosk ||= DataKioskApi.new @global_configuration
end

#disputesDisputesApi

Access to disputes controller.

Returns:



129
130
131
# File 'lib/walmart_ap_is/client.rb', line 129

def disputes
  @disputes ||= DisputesApi.new @global_configuration
end

#fba_inventoryFbaInventoryApi

Access to fba_inventory controller.

Returns:



75
76
77
# File 'lib/walmart_ap_is/client.rb', line 75

def fba_inventory
  @fba_inventory ||= FbaInventoryApi.new @global_configuration
end

#feedsFeedsApi

Access to feeds controller.

Returns:

  • (FeedsApi)

    Returns the controller instance.



51
52
53
# File 'lib/walmart_ap_is/client.rb', line 51

def feeds
  @feeds ||= FeedsApi.new @global_configuration
end

#feesFeesApi

Access to fees controller.

Returns:

  • (FeesApi)

    Returns the controller instance.



159
160
161
# File 'lib/walmart_ap_is/client.rb', line 159

def fees
  @fees ||= FeesApi.new @global_configuration
end

#final_payoutFinalPayoutApi

Access to final_payout controller.

Returns:



135
136
137
# File 'lib/walmart_ap_is/client.rb', line 135

def final_payout
  @final_payout ||= FinalPayoutApi.new @global_configuration
end

#financesFinancesApi

Access to finances controller.

Returns:



141
142
143
# File 'lib/walmart_ap_is/client.rb', line 141

def finances
  @finances ||= FinancesApi.new @global_configuration
end

#fulfillment_outboundFulfillmentOutboundApi

Access to fulfillment_outbound controller.

Returns:



57
58
59
# File 'lib/walmart_ap_is/client.rb', line 57

def fulfillment_outbound
  @fulfillment_outbound ||= FulfillmentOutboundApi.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)



266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
# File 'lib/walmart_ap_is/client.rb', line 266

def initialize_auth_managers(global_config)
  @auth_managers = {}
  http_client_config = global_config.client_configuration
  %w[sellerAuth_authorization_code sellerAuth_client_credentials basicClientAuth walletAuth].each do |auth|
    @auth_managers[auth] = nil
  end
  @auth_managers['sellerAuth_authorization_code'] = SellerAuthAuthorizationCode.new(
    http_client_config.seller_auth_authorization_code_credentials, global_config
  )
  @auth_managers['sellerAuth_client_credentials'] = SellerAuthClientCredentials.new(
    http_client_config.seller_auth_client_credentials_credentials, global_config
  )
  @auth_managers['basicClientAuth'] = BasicClientAuth.new(
    http_client_config.basic_client_auth_credentials
  )
  @auth_managers['walletAuth'] = WalletAuth.new(http_client_config.wallet_auth_credentials,
                                                global_config)
end

#inventoryInventoryApi

Access to inventory controller.

Returns:



63
64
65
# File 'lib/walmart_ap_is/client.rb', line 63

def inventory
  @inventory ||= InventoryApi.new @global_configuration
end

#listings_itemsListingsItemsApi

Access to listings_items controller.

Returns:



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

def listings_items
  @listings_items ||= ListingsItemsApi.new @global_configuration
end

#listings_restrictionsListingsRestrictionsApi

Access to listings_restrictions controller.

Returns:



87
88
89
# File 'lib/walmart_ap_is/client.rb', line 87

def listings_restrictions
  @listings_restrictions ||= ListingsRestrictionsApi.new @global_configuration
end

#merchant_fulfillmentMerchantFulfillmentApi

Access to merchant_fulfillment controller.

Returns:



93
94
95
# File 'lib/walmart_ap_is/client.rb', line 93

def merchant_fulfillment
  @merchant_fulfillment ||= MerchantFulfillmentApi.new @global_configuration
end

#messagingMessagingApi

Access to messaging controller.

Returns:



189
190
191
# File 'lib/walmart_ap_is/client.rb', line 189

def messaging
  @messaging ||= MessagingApi.new @global_configuration
end

#notificationsNotificationsApi

Access to notifications controller.

Returns:



195
196
197
# File 'lib/walmart_ap_is/client.rb', line 195

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

#oauth_authorizationOauthAuthorizationApi

Access to oauth_authorization controller.

Returns:



219
220
221
# File 'lib/walmart_ap_is/client.rb', line 219

def oauth_authorization
  @oauth_authorization ||= OauthAuthorizationApi.new @global_configuration
end

#ordersOrdersApi

Access to orders controller.

Returns:

  • (OrdersApi)

    Returns the controller instance.



99
100
101
# File 'lib/walmart_ap_is/client.rb', line 99

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

#payoutsPayoutsApi

Access to payouts controller.

Returns:

  • (PayoutsApi)

    Returns the controller instance.



123
124
125
# File 'lib/walmart_ap_is/client.rb', line 123

def payouts
  @payouts ||= PayoutsApi.new @global_configuration
end

#product_feesProductFeesApi

Access to product_fees controller.

Returns:



153
154
155
# File 'lib/walmart_ap_is/client.rb', line 153

def product_fees
  @product_fees ||= ProductFeesApi.new @global_configuration
end

#product_pricingProductPricingApi

Access to product_pricing controller.

Returns:



147
148
149
# File 'lib/walmart_ap_is/client.rb', line 147

def product_pricing
  @product_pricing ||= ProductPricingApi.new @global_configuration
end

#product_type_definitionsProductTypeDefinitionsApi

Access to product_type_definitions controller.

Returns:



165
166
167
# File 'lib/walmart_ap_is/client.rb', line 165

def product_type_definitions
  @product_type_definitions ||= ProductTypeDefinitionsApi.new @global_configuration
end

#reconciliationReconciliationApi

Access to reconciliation controller.

Returns:



111
112
113
# File 'lib/walmart_ap_is/client.rb', line 111

def reconciliation
  @reconciliation ||= ReconciliationApi.new @global_configuration
end

#report_schedulesReportSchedulesApi

Access to report_schedules controller.

Returns:



171
172
173
# File 'lib/walmart_ap_is/client.rb', line 171

def report_schedules
  @report_schedules ||= ReportSchedulesApi.new @global_configuration
end

#reportsReportsApi

Access to reports controller.

Returns:

  • (ReportsApi)

    Returns the controller instance.



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

def reports
  @reports ||= ReportsApi.new @global_configuration
end

#salesSalesApi

Access to sales controller.

Returns:

  • (SalesApi)

    Returns the controller instance.



177
178
179
# File 'lib/walmart_ap_is/client.rb', line 177

def sales
  @sales ||= SalesApi.new @global_configuration
end

#seller_auth_authorization_codeObject

Returns the configured authentication sellerAuth_authorization_code instance.



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

def seller_auth_authorization_code
  @auth_managers['sellerAuth_authorization_code']
end

#seller_auth_client_credentialsObject

Returns the configured authentication sellerAuth_client_credentials instance.



22
23
24
# File 'lib/walmart_ap_is/client.rb', line 22

def seller_auth_client_credentials
  @auth_managers['sellerAuth_client_credentials']
end

#sellersSellersApi

Access to sellers controller.

Returns:

  • (SellersApi)

    Returns the controller instance.



201
202
203
# File 'lib/walmart_ap_is/client.rb', line 201

def sellers
  @sellers ||= SellersApi.new @global_configuration
end

#settlementSettlementApi

Access to settlement controller.

Returns:



105
106
107
# File 'lib/walmart_ap_is/client.rb', line 105

def settlement
  @settlement ||= SettlementApi.new @global_configuration
end

#shippingShippingApi

Access to shipping controller.

Returns:



207
208
209
# File 'lib/walmart_ap_is/client.rb', line 207

def shipping
  @shipping ||= ShippingApi.new @global_configuration
end

#solicitationsSolicitationsApi

Access to solicitations controller.

Returns:



183
184
185
# File 'lib/walmart_ap_is/client.rb', line 183

def solicitations
  @solicitations ||= SolicitationsApi.new @global_configuration
end

#uploadsUploadsApi

Access to uploads controller.

Returns:

  • (UploadsApi)

    Returns the controller instance.



213
214
215
# File 'lib/walmart_ap_is/client.rb', line 213

def uploads
  @uploads ||= UploadsApi.new @global_configuration
end

#user_agent_detailObject



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

def user_agent_detail
  config.user_agent_detail
end

#wallet_authObject

Returns the configured authentication walletAuth instance.



27
28
29
# File 'lib/walmart_ap_is/client.rb', line 27

def wallet_auth
  @auth_managers['walletAuth']
end

#wfs_inventoryWfsInventoryApi

Access to wfs_inventory controller.

Returns:



69
70
71
# File 'lib/walmart_ap_is/client.rb', line 69

def wfs_inventory
  @wfs_inventory ||= WfsInventoryApi.new @global_configuration
end