cybersource_rest_client 0.0.87 → 0.0.88

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cybersource_rest_client/api/acp_checkout_api.rb +553 -0
  3. data/lib/cybersource_rest_client/api/agent_registration_api.rb +721 -0
  4. data/lib/cybersource_rest_client/api/bank_account_validation_api.rb +0 -1
  5. data/lib/cybersource_rest_client/api/enrollment_api.rb +104 -0
  6. data/lib/cybersource_rest_client/api/{merchant_capabilities_api.rb → merchant_registration_api.rb} +47 -391
  7. data/lib/cybersource_rest_client/api/payment_events_api.rb +197 -0
  8. data/lib/cybersource_rest_client/api/product_feed_api.rb +365 -0
  9. data/lib/cybersource_rest_client/api/purchase_intent_api.rb +278 -0
  10. data/lib/cybersource_rest_client/api/ucp_checkout_api.rb +453 -0
  11. data/lib/cybersource_rest_client/models/activate_merchant_key_response200.rb +1 -1
  12. data/lib/cybersource_rest_client/models/add_agent_key_response201.rb +11 -11
  13. data/lib/cybersource_rest_client/models/agent_registration_response201.rb +13 -15
  14. data/lib/cybersource_rest_client/models/agent_registration_response201_keys.rb +8 -8
  15. data/lib/cybersource_rest_client/models/agent_request.rb +9 -11
  16. data/lib/cybersource_rest_client/models/agent_update.rb +7 -9
  17. data/lib/cybersource_rest_client/models/auth_reversal_request.rb +1 -1
  18. data/lib/cybersource_rest_client/models/boarding_payouts_configurations.rb +1 -1
  19. data/lib/cybersource_rest_client/models/{inline_response_200_19_google_merchant_products.rb → boarding_payouts_configurations_acquirer.rb} +33 -76
  20. data/lib/cybersource_rest_client/models/{inline_response_200_19_errors.rb → boarding_payouts_configurations_merchant_descriptor.rb} +25 -33
  21. data/lib/cybersource_rest_client/models/boarding_payouts_configurations_processors.rb +581 -0
  22. data/lib/cybersource_rest_client/models/capture_payment_request.rb +1 -1
  23. data/lib/cybersource_rest_client/models/create_order_request.rb +11 -1
  24. data/lib/cybersource_rest_client/models/create_payment_request.rb +14 -1
  25. data/lib/cybersource_rest_client/models/create_session_req.rb +14 -1
  26. data/lib/cybersource_rest_client/models/create_session_request.rb +14 -1
  27. data/lib/cybersource_rest_client/models/iccv1agents_keys.rb +4 -4
  28. data/lib/cybersource_rest_client/models/iccv1merchants_api_integrations.rb +2 -2
  29. data/lib/cybersource_rest_client/models/iccv1merchants_encryption_key.rb +6 -6
  30. data/lib/cybersource_rest_client/models/iccv1merchants_protocol_interactions.rb +1 -1
  31. data/lib/cybersource_rest_client/models/iccv1merchants_web_integrations.rb +2 -2
  32. data/lib/cybersource_rest_client/models/inline_response_200_17.rb +55 -0
  33. data/lib/cybersource_rest_client/models/inline_response_200_18.rb +40 -0
  34. data/lib/cybersource_rest_client/models/inline_response_200_19.rb +30 -107
  35. data/lib/cybersource_rest_client/models/inline_response_200_19_processing.rb +213 -0
  36. data/lib/cybersource_rest_client/models/inline_response_200_19_syndication.rb +224 -0
  37. data/lib/cybersource_rest_client/models/inline_response_200_20_products.rb +80 -682
  38. data/lib/cybersource_rest_client/models/inline_response_201_12.rb +40 -0
  39. data/lib/cybersource_rest_client/models/inline_response_201_12_fulfillment_options.rb +30 -0
  40. data/lib/cybersource_rest_client/models/inline_response_201_12_totals.rb +15 -0
  41. data/lib/cybersource_rest_client/models/inline_response_201_6_setups_risk.rb +15 -5
  42. data/lib/cybersource_rest_client/models/inline_response_201_6_setups_value_added_services.rb +15 -5
  43. data/lib/cybersource_rest_client/models/{deactivate_merchant_key_response200.rb → inline_response_202_1.rb} +11 -16
  44. data/lib/cybersource_rest_client/models/key_request.rb +4 -4
  45. data/lib/cybersource_rest_client/models/key_request_1.rb +5 -5
  46. data/lib/cybersource_rest_client/models/key_update.rb +5 -5
  47. data/lib/cybersource_rest_client/models/key_update_1.rb +5 -5
  48. data/lib/cybersource_rest_client/models/list_agent_keys_response200.rb +2 -2
  49. data/lib/cybersource_rest_client/models/merchant_registration_response201.rb +10 -10
  50. data/lib/cybersource_rest_client/models/merchant_registration_response201_api_integrations.rb +225 -0
  51. data/lib/cybersource_rest_client/models/merchant_registration_response201_keys.rb +1 -1
  52. data/lib/cybersource_rest_client/models/merchant_registration_response201_web_integrations.rb +225 -0
  53. data/lib/cybersource_rest_client/models/merchant_request.rb +7 -7
  54. data/lib/cybersource_rest_client/models/merchant_update.rb +7 -7
  55. data/lib/cybersource_rest_client/models/mit_reversal_request.rb +1 -1
  56. data/lib/cybersource_rest_client/models/mit_void_request.rb +15 -5
  57. data/lib/cybersource_rest_client/models/payments_configuration_setup.rb +11 -1
  58. data/lib/cybersource_rest_client/models/payments_products.rb +11 -1
  59. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response.rb +12 -1
  60. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1.rb +12 -1
  61. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_order_information.rb +44 -1
  62. data/lib/cybersource_rest_client/models/{pts_v2_payouts_post201_response_merchant_information_merchant_descriptor.rb → pts_v2_payments_post201_response_1_order_information_merchant_descriptor.rb} +1 -1
  63. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_processor_information.rb +18 -1
  64. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_installment_information.rb +101 -5
  65. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_ship_to.rb +12 -1
  66. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_point_of_sale_information.rb +22 -5
  67. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb +22 -5
  68. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb +22 -5
  69. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response.rb +1 -1
  70. data/lib/cybersource_rest_client/models/{ptsv2paymentsidreversals_point_of_sale_information.rb → pts_v2_payments_reversals_post201_response_point_of_sale_information.rb} +2 -2
  71. data/lib/cybersource_rest_client/models/{ptsv2paymentsidreversals_point_of_sale_information_emv.rb → pts_v2_payments_reversals_post201_response_point_of_sale_information_emv.rb} +1 -1
  72. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_processor_information.rb +22 -5
  73. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_merchant_information.rb +1 -1
  74. data/lib/cybersource_rest_client/models/ptsv2intents_buyer_information.rb +196 -0
  75. data/lib/cybersource_rest_client/models/ptsv2intents_merchant_information_merchant_descriptor.rb +18 -1
  76. data/lib/cybersource_rest_client/models/ptsv2intents_order_information_bill_to.rb +154 -1
  77. data/lib/cybersource_rest_client/models/ptsv2intents_order_information_line_items.rb +16 -5
  78. data/lib/cybersource_rest_client/models/ptsv2intentsid_merchant_information.rb +1 -1
  79. data/lib/cybersource_rest_client/models/ptsv2intentsid_merchant_information_merchant_descriptor.rb +207 -0
  80. data/lib/cybersource_rest_client/models/{ptsv2paymentsidcaptures_point_of_sale_information.rb → ptsv2payments_buyer.rb} +55 -31
  81. data/lib/cybersource_rest_client/models/{inline_response_200_19_google_merchant.rb → ptsv2payments_order_history.rb} +42 -41
  82. data/lib/cybersource_rest_client/models/ptsv2payments_ship_to.rb +281 -0
  83. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_point_of_sale_information.rb +1 -1
  84. data/lib/cybersource_rest_client/models/{ptsv2paymentsidcaptures_point_of_sale_information_emv.rb → ptsv2paymentsidrefunds_point_of_sale_information_emv.rb} +1 -1
  85. data/lib/cybersource_rest_client/models/risk_products.rb +15 -5
  86. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_point_of_sale_information.rb +1 -1
  87. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_point_of_sale_information.rb +1 -1
  88. data/lib/cybersource_rest_client/models/unifiedrisk_acquirer_merchant_account_security_amount.rb +3 -3
  89. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_merchant_descriptor_expected_annual_sales.rb +3 -3
  90. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_merchant_descriptor_expected_average_ticket_size.rb +3 -3
  91. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_merchant_descriptor_expected_monthly_sales.rb +3 -3
  92. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_merchant_descriptor_limit_value.rb +3 -3
  93. data/lib/cybersource_rest_client/models/unifiedrisk_payment_bank_account_balance_before.rb +2 -2
  94. data/lib/cybersource_rest_client/models/unifiedrisk_payment_bank_account_credit_limit.rb +3 -3
  95. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_additional_fees.rb +2 -2
  96. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_amount.rb +3 -3
  97. data/lib/cybersource_rest_client/models/value_added_services_products.rb +15 -5
  98. data/lib/cybersource_rest_client/models/void_capture_request.rb +15 -5
  99. data/lib/cybersource_rest_client/models/void_credit_request.rb +15 -5
  100. data/lib/cybersource_rest_client/models/void_payment_request.rb +15 -5
  101. data/lib/cybersource_rest_client/models/void_refund_request.rb +15 -5
  102. data/lib/cybersource_rest_client.rb +25 -11
  103. metadata +27 -13
  104. data/lib/cybersource_rest_client/api/agent_capabilities_api.rb +0 -2279
@@ -0,0 +1,197 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.38
10
+ =end
11
+
12
+ require 'uri'
13
+ require 'AuthenticationSDK/util/MLEUtility'
14
+ module CyberSource
15
+ class PaymentEventsApi
16
+ attr_accessor :api_client
17
+
18
+ def initialize(api_client = ApiClient.default, config)
19
+ @api_client = api_client
20
+ @api_client.set_configuration(config)
21
+ end
22
+ # Confirm transaction events
23
+ # Confirm transaction events for a completed purchase. The agent calls this endpoint after the payment has been submitted to notify the Intelligent Commerce Connect of the transaction outcome. The request includes processor information (transaction type, status, approval codes), order details (shipping, tracking, product information), and merchant information. Returns HTTP 202 acknowledging receipt of the confirmation.
24
+ #
25
+ # @param instruction_id Unique identifier for the purchase intent instruction.
26
+ # @param agentic_confirm_transaction_events_request
27
+ # @param [Hash] opts the optional parameters
28
+ # @return [AgenticConfirmTransactionEventsResponse202]
29
+ #
30
+ def confirm_transaction_events(instruction_id, agentic_confirm_transaction_events_request, opts = {})
31
+ data, status_code, headers = confirm_transaction_events_with_http_info(instruction_id, agentic_confirm_transaction_events_request, opts)
32
+ return data, status_code, headers
33
+ end
34
+
35
+ # Confirm transaction events
36
+ # Confirm transaction events for a completed purchase. The agent calls this endpoint after the payment has been submitted to notify the Intelligent Commerce Connect of the transaction outcome. The request includes processor information (transaction type, status, approval codes), order details (shipping, tracking, product information), and merchant information. Returns HTTP 202 acknowledging receipt of the confirmation.
37
+ # @param instruction_id Unique identifier for the purchase intent instruction.
38
+ # @param agentic_confirm_transaction_events_request
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [Array<(AgenticConfirmTransactionEventsResponse202, Fixnum, Hash)>] AgenticConfirmTransactionEventsResponse202 data, response status code and response headers
41
+ def confirm_transaction_events_with_http_info(instruction_id, agentic_confirm_transaction_events_request, opts = {})
42
+
43
+ if @api_client.config.debugging
44
+ begin
45
+ raise
46
+ @api_client.config.logger.debug 'Calling API: PaymentEventsApi.confirm_transaction_events ...'
47
+ rescue
48
+ puts 'Cannot write to log'
49
+ end
50
+ end
51
+ # verify the required parameter 'instruction_id' is set
52
+ if @api_client.config.client_side_validation && instruction_id.nil?
53
+ fail ArgumentError, "Missing the required parameter 'instruction_id' when calling PaymentEventsApi.confirm_transaction_events"
54
+ end
55
+ # verify the required parameter 'agentic_confirm_transaction_events_request' is set
56
+ if @api_client.config.client_side_validation && agentic_confirm_transaction_events_request.nil?
57
+ fail ArgumentError, "Missing the required parameter 'agentic_confirm_transaction_events_request' when calling PaymentEventsApi.confirm_transaction_events"
58
+ end
59
+ # resource path
60
+ local_var_path = 'icc/v1/instructions/{instructionId}/confirmations'.sub('{' + 'instructionId' + '}', instruction_id.to_s)
61
+
62
+ # query parameters
63
+ query_params = {}
64
+
65
+ # header parameters
66
+ header_params = {}
67
+ # HTTP header 'Accept' (if needed)
68
+ header_params['Accept'] = @api_client.select_header_accept(['application/hal+json;charset=utf-8'])
69
+ # HTTP header 'Content-Type'
70
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
71
+
72
+ # form parameters
73
+ form_params = {}
74
+
75
+ # http body (model)
76
+ post_body = @api_client.object_to_http_body(agentic_confirm_transaction_events_request)
77
+ sdk_tracker = SdkTracker.new
78
+ post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'AgenticConfirmTransactionEventsRequest', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId)
79
+ inbound_mle_status = "mandatory"
80
+ if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["confirm_transaction_events","confirm_transaction_events_with_http_info"])
81
+ begin
82
+ post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body)
83
+ rescue
84
+ raise
85
+ end
86
+ end
87
+
88
+ is_response_mle_for_api = MLEUtility.check_is_response_mle_for_api(@api_client.merchantconfig, ["confirm_transaction_events","confirm_transaction_events_with_http_info"])
89
+
90
+ auth_names = []
91
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
92
+ :header_params => header_params,
93
+ :query_params => query_params,
94
+ :form_params => form_params,
95
+ :body => post_body,
96
+ :auth_names => auth_names,
97
+ :return_type => 'AgenticConfirmTransactionEventsResponse202',
98
+ :isResponseMLEForApi => is_response_mle_for_api)
99
+ if @api_client.config.debugging
100
+ begin
101
+ raise
102
+ @api_client.config.logger.debug "API called: PaymentEventsApi#confirm_transaction_events\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
103
+ rescue
104
+ puts 'Cannot write to log'
105
+ end
106
+ end
107
+ return data, status_code, headers
108
+ end
109
+ # Retrieve payment credentials
110
+ # Retrieve tokenized payment credentials for a purchase intent to complete the transaction at a merchant. The agent calls this endpoint after a purchase intent has been created and approved, providing transaction-level details including order information, merchant details, payment options, and production information. Returns COMPLETED (HTTP 200) with a signed payload containing encrypted payment credentials (authorization token and JWS-signed payload), or PENDING (HTTP 202) with pendingEvents if additional cardholder authentication is required. The signed payload is used by the merchant's payment processor to complete the transaction.
111
+ #
112
+ # @param instruction_id Unique identifier for the purchase intent instruction.
113
+ # @param agentic_retrieve_payment_credentials_request
114
+ # @param [Hash] opts the optional parameters
115
+ # @return [AgenticRetrievePaymentCredentialsResponse200]
116
+ #
117
+ def retrieve_payment_credentials(instruction_id, agentic_retrieve_payment_credentials_request, opts = {})
118
+ data, status_code, headers = retrieve_payment_credentials_with_http_info(instruction_id, agentic_retrieve_payment_credentials_request, opts)
119
+ return data, status_code, headers
120
+ end
121
+
122
+ # Retrieve payment credentials
123
+ # Retrieve tokenized payment credentials for a purchase intent to complete the transaction at a merchant. The agent calls this endpoint after a purchase intent has been created and approved, providing transaction-level details including order information, merchant details, payment options, and production information. Returns COMPLETED (HTTP 200) with a signed payload containing encrypted payment credentials (authorization token and JWS-signed payload), or PENDING (HTTP 202) with pendingEvents if additional cardholder authentication is required. The signed payload is used by the merchant&#39;s payment processor to complete the transaction.
124
+ # @param instruction_id Unique identifier for the purchase intent instruction.
125
+ # @param agentic_retrieve_payment_credentials_request
126
+ # @param [Hash] opts the optional parameters
127
+ # @return [Array<(AgenticRetrievePaymentCredentialsResponse200, Fixnum, Hash)>] AgenticRetrievePaymentCredentialsResponse200 data, response status code and response headers
128
+ def retrieve_payment_credentials_with_http_info(instruction_id, agentic_retrieve_payment_credentials_request, opts = {})
129
+
130
+ if @api_client.config.debugging
131
+ begin
132
+ raise
133
+ @api_client.config.logger.debug 'Calling API: PaymentEventsApi.retrieve_payment_credentials ...'
134
+ rescue
135
+ puts 'Cannot write to log'
136
+ end
137
+ end
138
+ # verify the required parameter 'instruction_id' is set
139
+ if @api_client.config.client_side_validation && instruction_id.nil?
140
+ fail ArgumentError, "Missing the required parameter 'instruction_id' when calling PaymentEventsApi.retrieve_payment_credentials"
141
+ end
142
+ # verify the required parameter 'agentic_retrieve_payment_credentials_request' is set
143
+ if @api_client.config.client_side_validation && agentic_retrieve_payment_credentials_request.nil?
144
+ fail ArgumentError, "Missing the required parameter 'agentic_retrieve_payment_credentials_request' when calling PaymentEventsApi.retrieve_payment_credentials"
145
+ end
146
+ # resource path
147
+ local_var_path = 'icc/v1/instructions/{instructionId}/credentials'.sub('{' + 'instructionId' + '}', instruction_id.to_s)
148
+
149
+ # query parameters
150
+ query_params = {}
151
+
152
+ # header parameters
153
+ header_params = {}
154
+ # HTTP header 'Accept' (if needed)
155
+ header_params['Accept'] = @api_client.select_header_accept(['application/hal+json;charset=utf-8'])
156
+ # HTTP header 'Content-Type'
157
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
158
+
159
+ # form parameters
160
+ form_params = {}
161
+
162
+ # http body (model)
163
+ post_body = @api_client.object_to_http_body(agentic_retrieve_payment_credentials_request)
164
+ sdk_tracker = SdkTracker.new
165
+ post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'AgenticRetrievePaymentCredentialsRequest', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId)
166
+ inbound_mle_status = "mandatory"
167
+ if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["retrieve_payment_credentials","retrieve_payment_credentials_with_http_info"])
168
+ begin
169
+ post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body)
170
+ rescue
171
+ raise
172
+ end
173
+ end
174
+
175
+ is_response_mle_for_api = MLEUtility.check_is_response_mle_for_api(@api_client.merchantconfig, ["retrieve_payment_credentials","retrieve_payment_credentials_with_http_info"])
176
+
177
+ auth_names = []
178
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
179
+ :header_params => header_params,
180
+ :query_params => query_params,
181
+ :form_params => form_params,
182
+ :body => post_body,
183
+ :auth_names => auth_names,
184
+ :return_type => 'AgenticRetrievePaymentCredentialsResponse200',
185
+ :isResponseMLEForApi => is_response_mle_for_api)
186
+ if @api_client.config.debugging
187
+ begin
188
+ raise
189
+ @api_client.config.logger.debug "API called: PaymentEventsApi#retrieve_payment_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
190
+ rescue
191
+ puts 'Cannot write to log'
192
+ end
193
+ end
194
+ return data, status_code, headers
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,365 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.38
10
+ =end
11
+
12
+ require 'uri'
13
+ require 'AuthenticationSDK/util/MLEUtility'
14
+ module CyberSource
15
+ class ProductFeedApi
16
+ attr_accessor :api_client
17
+
18
+ def initialize(api_client = ApiClient.default, config)
19
+ @api_client = api_client
20
+ @api_client.set_configuration(config)
21
+ end
22
+ # Get All Products
23
+ # Returns the full product catalog stored in ACG. **Note:** This endpoint is intended for catalog verification and merchant tooling. It is not a real-time product discovery API for end buyers.
24
+ #
25
+ # @param get_all_products_request Empty request body.
26
+ # @param [Hash] opts the optional parameters
27
+ # @option opts [Integer] :page Page number to retrieve (0-based). Defaults to 0. (default to 0)
28
+ # @option opts [Integer] :size Number of products per page. Defaults to 300. Server enforces a maximum of 1000; values above 1000 are capped. (default to 300)
29
+ # @return [InlineResponse20020]
30
+ #
31
+ def get_all_products(get_all_products_request, opts = {})
32
+ data, status_code, headers = get_all_products_with_http_info(get_all_products_request, opts)
33
+ return data, status_code, headers
34
+ end
35
+
36
+ # Get All Products
37
+ # Returns the full product catalog stored in ACG. **Note:** This endpoint is intended for catalog verification and merchant tooling. It is not a real-time product discovery API for end buyers.
38
+ # @param get_all_products_request Empty request body.
39
+ # @param [Hash] opts the optional parameters
40
+ # @option opts [Integer] :page Page number to retrieve (0-based). Defaults to 0.
41
+ # @option opts [Integer] :size Number of products per page. Defaults to 300. Server enforces a maximum of 1000; values above 1000 are capped.
42
+ # @return [Array<(InlineResponse20020, Fixnum, Hash)>] InlineResponse20020 data, response status code and response headers
43
+ def get_all_products_with_http_info(get_all_products_request, opts = {})
44
+
45
+ if @api_client.config.debugging
46
+ begin
47
+ raise
48
+ @api_client.config.logger.debug 'Calling API: ProductFeedApi.get_all_products ...'
49
+ rescue
50
+ puts 'Cannot write to log'
51
+ end
52
+ end
53
+ # verify the required parameter 'get_all_products_request' is set
54
+ if @api_client.config.client_side_validation && get_all_products_request.nil?
55
+ fail ArgumentError, "Missing the required parameter 'get_all_products_request' when calling ProductFeedApi.get_all_products"
56
+ end
57
+ # resource path
58
+ local_var_path = 'icc/v1/products'
59
+
60
+ # query parameters
61
+ query_params = {}
62
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
63
+ query_params[:'size'] = opts[:'size'] if !opts[:'size'].nil?
64
+
65
+ # header parameters
66
+ header_params = {}
67
+ # HTTP header 'Accept' (if needed)
68
+ header_params['Accept'] = @api_client.select_header_accept(['application/hal+json;charset=utf-8'])
69
+ # HTTP header 'Content-Type'
70
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
71
+
72
+ # form parameters
73
+ form_params = {}
74
+
75
+ # http body (model)
76
+ post_body = @api_client.object_to_http_body(get_all_products_request)
77
+ sdk_tracker = SdkTracker.new
78
+ post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'Object', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId)
79
+ inbound_mle_status = "false"
80
+ if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["get_all_products","get_all_products_with_http_info"])
81
+ begin
82
+ post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body)
83
+ rescue
84
+ raise
85
+ end
86
+ end
87
+
88
+ is_response_mle_for_api = MLEUtility.check_is_response_mle_for_api(@api_client.merchantconfig, ["get_all_products","get_all_products_with_http_info"])
89
+
90
+ auth_names = []
91
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
92
+ :header_params => header_params,
93
+ :query_params => query_params,
94
+ :form_params => form_params,
95
+ :body => post_body,
96
+ :auth_names => auth_names,
97
+ :return_type => 'InlineResponse20020',
98
+ :isResponseMLEForApi => is_response_mle_for_api)
99
+ if @api_client.config.debugging
100
+ begin
101
+ raise
102
+ @api_client.config.logger.debug "API called: ProductFeedApi#get_all_products\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
103
+ rescue
104
+ puts 'Cannot write to log'
105
+ end
106
+ end
107
+ return data, status_code, headers
108
+ end
109
+ # Get Feed Job Status
110
+ # Returns the processing and syndication status of a previously submitted product feed job. Use this to poll the `jobId` returned by the Ingest Product Feed endpoint until processing and syndication complete.
111
+ #
112
+ # @param job_id Unique identifier of the feed submission job, returned by the Ingest Product Feed endpoint.
113
+ # @param get_feed_job_status_request Empty request body.
114
+ # @param [Hash] opts the optional parameters
115
+ # @return [InlineResponse20019]
116
+ #
117
+ def get_feed_job_status(job_id, get_feed_job_status_request, opts = {})
118
+ data, status_code, headers = get_feed_job_status_with_http_info(job_id, get_feed_job_status_request, opts)
119
+ return data, status_code, headers
120
+ end
121
+
122
+ # Get Feed Job Status
123
+ # Returns the processing and syndication status of a previously submitted product feed job. Use this to poll the &#x60;jobId&#x60; returned by the Ingest Product Feed endpoint until processing and syndication complete.
124
+ # @param job_id Unique identifier of the feed submission job, returned by the Ingest Product Feed endpoint.
125
+ # @param get_feed_job_status_request Empty request body.
126
+ # @param [Hash] opts the optional parameters
127
+ # @return [Array<(InlineResponse20019, Fixnum, Hash)>] InlineResponse20019 data, response status code and response headers
128
+ def get_feed_job_status_with_http_info(job_id, get_feed_job_status_request, opts = {})
129
+
130
+ if @api_client.config.debugging
131
+ begin
132
+ raise
133
+ @api_client.config.logger.debug 'Calling API: ProductFeedApi.get_feed_job_status ...'
134
+ rescue
135
+ puts 'Cannot write to log'
136
+ end
137
+ end
138
+ # verify the required parameter 'job_id' is set
139
+ if @api_client.config.client_side_validation && job_id.nil?
140
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling ProductFeedApi.get_feed_job_status"
141
+ end
142
+ # verify the required parameter 'get_feed_job_status_request' is set
143
+ if @api_client.config.client_side_validation && get_feed_job_status_request.nil?
144
+ fail ArgumentError, "Missing the required parameter 'get_feed_job_status_request' when calling ProductFeedApi.get_feed_job_status"
145
+ end
146
+ # resource path
147
+ local_var_path = 'icc/v1/products/feed/bulk/{jobId}'.sub('{' + 'jobId' + '}', job_id.to_s)
148
+
149
+ # query parameters
150
+ query_params = {}
151
+
152
+ # header parameters
153
+ header_params = {}
154
+ # HTTP header 'Accept' (if needed)
155
+ header_params['Accept'] = @api_client.select_header_accept(['application/hal+json;charset=utf-8'])
156
+ # HTTP header 'Content-Type'
157
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
158
+
159
+ # form parameters
160
+ form_params = {}
161
+
162
+ # http body (model)
163
+ post_body = @api_client.object_to_http_body(get_feed_job_status_request)
164
+ sdk_tracker = SdkTracker.new
165
+ post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'Object', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId)
166
+ inbound_mle_status = "false"
167
+ if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["get_feed_job_status","get_feed_job_status_with_http_info"])
168
+ begin
169
+ post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body)
170
+ rescue
171
+ raise
172
+ end
173
+ end
174
+
175
+ is_response_mle_for_api = MLEUtility.check_is_response_mle_for_api(@api_client.merchantconfig, ["get_feed_job_status","get_feed_job_status_with_http_info"])
176
+
177
+ auth_names = []
178
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
179
+ :header_params => header_params,
180
+ :query_params => query_params,
181
+ :form_params => form_params,
182
+ :body => post_body,
183
+ :auth_names => auth_names,
184
+ :return_type => 'InlineResponse20019',
185
+ :isResponseMLEForApi => is_response_mle_for_api)
186
+ if @api_client.config.debugging
187
+ begin
188
+ raise
189
+ @api_client.config.logger.debug "API called: ProductFeedApi#get_feed_job_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
190
+ rescue
191
+ puts 'Cannot write to log'
192
+ end
193
+ end
194
+ return data, status_code, headers
195
+ end
196
+ # Get Product by ID
197
+ # Retrieves a single product from the ACG catalog by its unique product identifier (SKU). Use this to verify that a product was ingested correctly, inspect its current field values, or check its syndication-eligibility flags (`is_eligible_search`, `is_eligible_checkout`).
198
+ #
199
+ # @param product_id The unique product identifier (SKU) assigned by the merchant and provided during feed ingestion. Example: &#x60;SKU-1001&#x60;.
200
+ # @param get_product_request Empty request body.
201
+ # @param [Hash] opts the optional parameters
202
+ # @return [InlineResponse20021]
203
+ #
204
+ def get_product(product_id, get_product_request, opts = {})
205
+ data, status_code, headers = get_product_with_http_info(product_id, get_product_request, opts)
206
+ return data, status_code, headers
207
+ end
208
+
209
+ # Get Product by ID
210
+ # Retrieves a single product from the ACG catalog by its unique product identifier (SKU). Use this to verify that a product was ingested correctly, inspect its current field values, or check its syndication-eligibility flags (&#x60;is_eligible_search&#x60;, &#x60;is_eligible_checkout&#x60;).
211
+ # @param product_id The unique product identifier (SKU) assigned by the merchant and provided during feed ingestion. Example: &#x60;SKU-1001&#x60;.
212
+ # @param get_product_request Empty request body.
213
+ # @param [Hash] opts the optional parameters
214
+ # @return [Array<(InlineResponse20021, Fixnum, Hash)>] InlineResponse20021 data, response status code and response headers
215
+ def get_product_with_http_info(product_id, get_product_request, opts = {})
216
+
217
+ if @api_client.config.debugging
218
+ begin
219
+ raise
220
+ @api_client.config.logger.debug 'Calling API: ProductFeedApi.get_product ...'
221
+ rescue
222
+ puts 'Cannot write to log'
223
+ end
224
+ end
225
+ # verify the required parameter 'product_id' is set
226
+ if @api_client.config.client_side_validation && product_id.nil?
227
+ fail ArgumentError, "Missing the required parameter 'product_id' when calling ProductFeedApi.get_product"
228
+ end
229
+ # verify the required parameter 'get_product_request' is set
230
+ if @api_client.config.client_side_validation && get_product_request.nil?
231
+ fail ArgumentError, "Missing the required parameter 'get_product_request' when calling ProductFeedApi.get_product"
232
+ end
233
+ # resource path
234
+ local_var_path = 'icc/v1/products/{product_id}'.sub('{' + 'product_id' + '}', product_id.to_s)
235
+
236
+ # query parameters
237
+ query_params = {}
238
+
239
+ # header parameters
240
+ header_params = {}
241
+ # HTTP header 'Accept' (if needed)
242
+ header_params['Accept'] = @api_client.select_header_accept(['application/hal+json;charset=utf-8'])
243
+ # HTTP header 'Content-Type'
244
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
245
+
246
+ # form parameters
247
+ form_params = {}
248
+
249
+ # http body (model)
250
+ post_body = @api_client.object_to_http_body(get_product_request)
251
+ sdk_tracker = SdkTracker.new
252
+ post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'Object', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId)
253
+ inbound_mle_status = "false"
254
+ if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["get_product","get_product_with_http_info"])
255
+ begin
256
+ post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body)
257
+ rescue
258
+ raise
259
+ end
260
+ end
261
+
262
+ is_response_mle_for_api = MLEUtility.check_is_response_mle_for_api(@api_client.merchantconfig, ["get_product","get_product_with_http_info"])
263
+
264
+ auth_names = []
265
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
266
+ :header_params => header_params,
267
+ :query_params => query_params,
268
+ :form_params => form_params,
269
+ :body => post_body,
270
+ :auth_names => auth_names,
271
+ :return_type => 'InlineResponse20021',
272
+ :isResponseMLEForApi => is_response_mle_for_api)
273
+ if @api_client.config.debugging
274
+ begin
275
+ raise
276
+ @api_client.config.logger.debug "API called: ProductFeedApi#get_product\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
277
+ rescue
278
+ puts 'Cannot write to log'
279
+ end
280
+ end
281
+ return data, status_code, headers
282
+ end
283
+ # Ingest Product Feed
284
+ # Submits a merchant product catalog to ACG for asynchronous processing and syndication to all configured protocol backends (e.g. Google Merchant Center). **Processing pipeline:** 1. The request is accepted immediately and a `jobId` is returned — validation, ingestion, and syndication all happen asynchronously in the background. 2. Each product is validated against UCP/ACP schema requirements (required fields, format rules) 3. Valid products are saved to the ACG catalog 4. An async syndication job is triggered to push the catalog to configured backends **Supported content types:** `application/json` (this endpoint). CSV and JSONL uploads are also supported via file upload endpoints. **Note:** This endpoint no longer returns per-product validation results or syndication outcomes synchronously — only the `jobId` acknowledgement shown below. Use that `jobId` to track processing and syndication status.
285
+ #
286
+ # @param product_feed_request Product feed payload. The &#x60;products&#x60; array is required and must contain at least one product. See &#x60;ProductInput&#x60; for the full list of required fields.
287
+ # @param [Hash] opts the optional parameters
288
+ # @return [InlineResponse2021]
289
+ #
290
+ def submit_product_feed_json(product_feed_request, opts = {})
291
+ data, status_code, headers = submit_product_feed_json_with_http_info(product_feed_request, opts)
292
+ return data, status_code, headers
293
+ end
294
+
295
+ # Ingest Product Feed
296
+ # Submits a merchant product catalog to ACG for asynchronous processing and syndication to all configured protocol backends (e.g. Google Merchant Center). **Processing pipeline:** 1. The request is accepted immediately and a &#x60;jobId&#x60; is returned — validation, ingestion, and syndication all happen asynchronously in the background. 2. Each product is validated against UCP/ACP schema requirements (required fields, format rules) 3. Valid products are saved to the ACG catalog 4. An async syndication job is triggered to push the catalog to configured backends **Supported content types:** &#x60;application/json&#x60; (this endpoint). CSV and JSONL uploads are also supported via file upload endpoints. **Note:** This endpoint no longer returns per-product validation results or syndication outcomes synchronously — only the &#x60;jobId&#x60; acknowledgement shown below. Use that &#x60;jobId&#x60; to track processing and syndication status.
297
+ # @param product_feed_request Product feed payload. The &#x60;products&#x60; array is required and must contain at least one product. See &#x60;ProductInput&#x60; for the full list of required fields.
298
+ # @param [Hash] opts the optional parameters
299
+ # @return [Array<(InlineResponse2021, Fixnum, Hash)>] InlineResponse2021 data, response status code and response headers
300
+ def submit_product_feed_json_with_http_info(product_feed_request, opts = {})
301
+
302
+ if @api_client.config.debugging
303
+ begin
304
+ raise
305
+ @api_client.config.logger.debug 'Calling API: ProductFeedApi.submit_product_feed_json ...'
306
+ rescue
307
+ puts 'Cannot write to log'
308
+ end
309
+ end
310
+ # verify the required parameter 'product_feed_request' is set
311
+ if @api_client.config.client_side_validation && product_feed_request.nil?
312
+ fail ArgumentError, "Missing the required parameter 'product_feed_request' when calling ProductFeedApi.submit_product_feed_json"
313
+ end
314
+ # resource path
315
+ local_var_path = 'icc/v1/products/feed'
316
+
317
+ # query parameters
318
+ query_params = {}
319
+
320
+ # header parameters
321
+ header_params = {}
322
+ # HTTP header 'Accept' (if needed)
323
+ header_params['Accept'] = @api_client.select_header_accept(['application/hal+json;charset=utf-8'])
324
+ # HTTP header 'Content-Type'
325
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
326
+
327
+ # form parameters
328
+ form_params = {}
329
+
330
+ # http body (model)
331
+ post_body = @api_client.object_to_http_body(product_feed_request)
332
+ sdk_tracker = SdkTracker.new
333
+ post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'ProductFeedRequest', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId)
334
+ inbound_mle_status = "mandatory"
335
+ if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["submit_product_feed_json","submit_product_feed_json_with_http_info"])
336
+ begin
337
+ post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body)
338
+ rescue
339
+ raise
340
+ end
341
+ end
342
+
343
+ is_response_mle_for_api = MLEUtility.check_is_response_mle_for_api(@api_client.merchantconfig, ["submit_product_feed_json","submit_product_feed_json_with_http_info"])
344
+
345
+ auth_names = []
346
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
347
+ :header_params => header_params,
348
+ :query_params => query_params,
349
+ :form_params => form_params,
350
+ :body => post_body,
351
+ :auth_names => auth_names,
352
+ :return_type => 'InlineResponse2021',
353
+ :isResponseMLEForApi => is_response_mle_for_api)
354
+ if @api_client.config.debugging
355
+ begin
356
+ raise
357
+ @api_client.config.logger.debug "API called: ProductFeedApi#submit_product_feed_json\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
358
+ rescue
359
+ puts 'Cannot write to log'
360
+ end
361
+ end
362
+ return data, status_code, headers
363
+ end
364
+ end
365
+ end