trevol 0.1.0

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 (231) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +15 -0
  3. data/GENERADO.md +14 -0
  4. data/LICENSE +21 -0
  5. data/README.md +173 -0
  6. data/lib/trevol/client.rb +94 -0
  7. data/lib/trevol/errors.rb +152 -0
  8. data/lib/trevol/llave.rb +21 -0
  9. data/lib/trevol/paginacion.rb +41 -0
  10. data/lib/trevol/transporte.rb +173 -0
  11. data/lib/trevol/webhook.rb +100 -0
  12. data/lib/trevol.rb +18 -0
  13. data/lib/trevol_generado/api/balance_api.rb +220 -0
  14. data/lib/trevol_generado/api/credit_notes_api.rb +671 -0
  15. data/lib/trevol_generado/api/debit_notes_api.rb +671 -0
  16. data/lib/trevol_generado/api/equivalent_document_adjustments_api.rb +691 -0
  17. data/lib/trevol_generado/api/equivalent_documents_api.rb +698 -0
  18. data/lib/trevol_generado/api/events_api.rb +231 -0
  19. data/lib/trevol_generado/api/general_api.rb +201 -0
  20. data/lib/trevol_generado/api/invoices_api.rb +736 -0
  21. data/lib/trevol_generado/api/payroll_adjustments_api.rb +637 -0
  22. data/lib/trevol_generado/api/payrolls_api.rb +637 -0
  23. data/lib/trevol_generado/api/radian_events_api.rb +431 -0
  24. data/lib/trevol_generado/api/requests_api.rb +97 -0
  25. data/lib/trevol_generado/api/support_document_adjustments_api.rb +565 -0
  26. data/lib/trevol_generado/api/support_documents_api.rb +565 -0
  27. data/lib/trevol_generado/api/webhook_endpoints_api.rb +556 -0
  28. data/lib/trevol_generado/api_client.rb +441 -0
  29. data/lib/trevol_generado/api_error.rb +58 -0
  30. data/lib/trevol_generado/api_model_base.rb +88 -0
  31. data/lib/trevol_generado/configuration.rb +392 -0
  32. data/lib/trevol_generado/models/acquirer.rb +209 -0
  33. data/lib/trevol_generado/models/air_collection.rb +205 -0
  34. data/lib/trevol_generado/models/air_extension.rb +216 -0
  35. data/lib/trevol_generado/models/allowance_charge.rb +250 -0
  36. data/lib/trevol_generado/models/alternative_currency.rb +180 -0
  37. data/lib/trevol_generado/models/balance.rb +244 -0
  38. data/lib/trevol_generado/models/balance_event_data.rb +172 -0
  39. data/lib/trevol_generado/models/balance_transaction.rb +265 -0
  40. data/lib/trevol_generado/models/balance_transaction_company.rb +172 -0
  41. data/lib/trevol_generado/models/balance_transaction_document.rb +173 -0
  42. data/lib/trevol_generado/models/balance_transaction_list.rb +191 -0
  43. data/lib/trevol_generado/models/carrier.rb +219 -0
  44. data/lib/trevol_generado/models/certificate_event_data.rb +180 -0
  45. data/lib/trevol_generado/models/cinema_extension.rb +214 -0
  46. data/lib/trevol_generado/models/cinema_screening.rb +256 -0
  47. data/lib/trevol_generado/models/company.rb +267 -0
  48. data/lib/trevol_generado/models/company_key.rb +182 -0
  49. data/lib/trevol_generado/models/company_numbering.rb +201 -0
  50. data/lib/trevol_generado/models/consumption.rb +246 -0
  51. data/lib/trevol_generado/models/consumption_adjustment.rb +204 -0
  52. data/lib/trevol_generado/models/contingency.rb +160 -0
  53. data/lib/trevol_generado/models/credit_note_list.rb +191 -0
  54. data/lib/trevol_generado/models/currency.rb +241 -0
  55. data/lib/trevol_generado/models/customer.rb +360 -0
  56. data/lib/trevol_generado/models/debit_note_list.rb +191 -0
  57. data/lib/trevol_generado/models/deleted_object.rb +178 -0
  58. data/lib/trevol_generado/models/delivery.rb +200 -0
  59. data/lib/trevol_generado/models/delivery_email.rb +181 -0
  60. data/lib/trevol_generado/models/delivery_terms.rb +169 -0
  61. data/lib/trevol_generado/models/dian_result.rb +182 -0
  62. data/lib/trevol_generado/models/dian_rule.rb +216 -0
  63. data/lib/trevol_generado/models/document.rb +432 -0
  64. data/lib/trevol_generado/models/document_event_data.rb +315 -0
  65. data/lib/trevol_generado/models/document_reference.rb +169 -0
  66. data/lib/trevol_generado/models/document_totals.rb +299 -0
  67. data/lib/trevol_generado/models/document_totals_currency.rb +197 -0
  68. data/lib/trevol_generado/models/document_totals_item.rb +196 -0
  69. data/lib/trevol_generado/models/document_totals_tax.rb +197 -0
  70. data/lib/trevol_generado/models/document_totals_withholding.rb +206 -0
  71. data/lib/trevol_generado/models/equivalent_adjustment_item.rb +374 -0
  72. data/lib/trevol_generado/models/equivalent_document.rb +470 -0
  73. data/lib/trevol_generado/models/equivalent_document_adjustment.rb +440 -0
  74. data/lib/trevol_generado/models/equivalent_document_adjustment_input.rb +388 -0
  75. data/lib/trevol_generado/models/equivalent_document_adjustment_list.rb +191 -0
  76. data/lib/trevol_generado/models/equivalent_document_contingency.rb +181 -0
  77. data/lib/trevol_generado/models/equivalent_document_contingency_backup.rb +171 -0
  78. data/lib/trevol_generado/models/equivalent_document_event_data.rb +313 -0
  79. data/lib/trevol_generado/models/equivalent_document_input.rb +365 -0
  80. data/lib/trevol_generado/models/equivalent_document_list.rb +191 -0
  81. data/lib/trevol_generado/models/equivalent_document_reference.rb +241 -0
  82. data/lib/trevol_generado/models/equivalent_item.rb +387 -0
  83. data/lib/trevol_generado/models/event.rb +223 -0
  84. data/lib/trevol_generado/models/event_claim.rb +170 -0
  85. data/lib/trevol_generado/models/event_delivery.rb +178 -0
  86. data/lib/trevol_generado/models/event_delivery_email.rb +161 -0
  87. data/lib/trevol_generado/models/event_dian_result.rb +173 -0
  88. data/lib/trevol_generado/models/event_dian_rule.rb +170 -0
  89. data/lib/trevol_generado/models/event_document_error.rb +170 -0
  90. data/lib/trevol_generado/models/event_equivalent_document_ref.rb +161 -0
  91. data/lib/trevol_generado/models/event_error.rb +170 -0
  92. data/lib/trevol_generado/models/event_invoice_ref.rb +161 -0
  93. data/lib/trevol_generado/models/event_list.rb +191 -0
  94. data/lib/trevol_generado/models/event_payroll_ref.rb +160 -0
  95. data/lib/trevol_generado/models/event_radian_invoice_ref.rb +181 -0
  96. data/lib/trevol_generado/models/event_resend_input.rb +177 -0
  97. data/lib/trevol_generado/models/event_support_document_ref.rb +161 -0
  98. data/lib/trevol_generado/models/extension.rb +215 -0
  99. data/lib/trevol_generado/models/foreign_address.rb +218 -0
  100. data/lib/trevol_generado/models/free_of_charge.rb +170 -0
  101. data/lib/trevol_generado/models/game.rb +203 -0
  102. data/lib/trevol_generado/models/game_credit.rb +204 -0
  103. data/lib/trevol_generado/models/games_extension.rb +216 -0
  104. data/lib/trevol_generado/models/games_venue.rb +204 -0
  105. data/lib/trevol_generado/models/interoperability.rb +205 -0
  106. data/lib/trevol_generado/models/interoperability_collection.rb +171 -0
  107. data/lib/trevol_generado/models/interoperability_data.rb +186 -0
  108. data/lib/trevol_generado/models/invoice_input.rb +364 -0
  109. data/lib/trevol_generado/models/invoice_list.rb +191 -0
  110. data/lib/trevol_generado/models/invoice_reference.rb +198 -0
  111. data/lib/trevol_generado/models/item.rb +439 -0
  112. data/lib/trevol_generado/models/item_allowance.rb +190 -0
  113. data/lib/trevol_generado/models/item_consignment.rb +286 -0
  114. data/lib/trevol_generado/models/item_mandator.rb +231 -0
  115. data/lib/trevol_generado/models/item_notary.rb +204 -0
  116. data/lib/trevol_generado/models/item_property.rb +223 -0
  117. data/lib/trevol_generado/models/item_tax.rb +246 -0
  118. data/lib/trevol_generado/models/item_withholding.rb +214 -0
  119. data/lib/trevol_generado/models/meter.rb +233 -0
  120. data/lib/trevol_generado/models/note_input.rb +329 -0
  121. data/lib/trevol_generado/models/numbering.rb +178 -0
  122. data/lib/trevol_generado/models/numbering_expiring_event_data.rb +209 -0
  123. data/lib/trevol_generado/models/numbering_low_event_data.rb +209 -0
  124. data/lib/trevol_generado/models/origin_note.rb +230 -0
  125. data/lib/trevol_generado/models/payment.rb +232 -0
  126. data/lib/trevol_generado/models/payment_method.rb +187 -0
  127. data/lib/trevol_generado/models/payroll.rb +455 -0
  128. data/lib/trevol_generado/models/payroll_adjustment.rb +467 -0
  129. data/lib/trevol_generado/models/payroll_adjustment_input.rb +362 -0
  130. data/lib/trevol_generado/models/payroll_adjustment_list.rb +191 -0
  131. data/lib/trevol_generado/models/payroll_basic.rb +204 -0
  132. data/lib/trevol_generado/models/payroll_compensated_vacation.rb +204 -0
  133. data/lib/trevol_generado/models/payroll_compensation.rb +205 -0
  134. data/lib/trevol_generado/models/payroll_deductions.rb +370 -0
  135. data/lib/trevol_generado/models/payroll_disability.rb +249 -0
  136. data/lib/trevol_generado/models/payroll_earnings.rb +406 -0
  137. data/lib/trevol_generado/models/payroll_employee.rb +437 -0
  138. data/lib/trevol_generado/models/payroll_employer.rb +238 -0
  139. data/lib/trevol_generado/models/payroll_epctv_bonus.rb +191 -0
  140. data/lib/trevol_generado/models/payroll_event_data.rb +303 -0
  141. data/lib/trevol_generado/models/payroll_files.rb +179 -0
  142. data/lib/trevol_generado/models/payroll_input.rb +420 -0
  143. data/lib/trevol_generado/models/payroll_leaves.rb +184 -0
  144. data/lib/trevol_generado/models/payroll_list.rb +191 -0
  145. data/lib/trevol_generado/models/payroll_loan.rb +204 -0
  146. data/lib/trevol_generado/models/payroll_novelty.rb +177 -0
  147. data/lib/trevol_generado/models/payroll_other_concept.rb +197 -0
  148. data/lib/trevol_generado/models/payroll_overtime.rb +262 -0
  149. data/lib/trevol_generado/models/payroll_paid_period.rb +222 -0
  150. data/lib/trevol_generado/models/payroll_payment.rb +215 -0
  151. data/lib/trevol_generado/models/payroll_percent_amount.rb +205 -0
  152. data/lib/trevol_generado/models/payroll_period.rb +247 -0
  153. data/lib/trevol_generado/models/payroll_place.rb +179 -0
  154. data/lib/trevol_generado/models/payroll_reference.rb +188 -0
  155. data/lib/trevol_generado/models/payroll_salary_amounts.rb +171 -0
  156. data/lib/trevol_generado/models/payroll_sanction.rb +205 -0
  157. data/lib/trevol_generado/models/payroll_service_bonus.rb +214 -0
  158. data/lib/trevol_generado/models/payroll_severance.rb +232 -0
  159. data/lib/trevol_generado/models/payroll_solidarity_fund.rb +191 -0
  160. data/lib/trevol_generado/models/payroll_totals.rb +188 -0
  161. data/lib/trevol_generado/models/payroll_transport.rb +181 -0
  162. data/lib/trevol_generado/models/payroll_unpaid_period.rb +195 -0
  163. data/lib/trevol_generado/models/payroll_vacation.rb +173 -0
  164. data/lib/trevol_generado/models/payroll_workplace.rb +188 -0
  165. data/lib/trevol_generado/models/period.rb +169 -0
  166. data/lib/trevol_generado/models/physical_document.rb +179 -0
  167. data/lib/trevol_generado/models/pos.rb +186 -0
  168. data/lib/trevol_generado/models/pos_buyer.rb +181 -0
  169. data/lib/trevol_generado/models/pos_register.rb +269 -0
  170. data/lib/trevol_generado/models/prepayment.rb +248 -0
  171. data/lib/trevol_generado/models/preview.rb +195 -0
  172. data/lib/trevol_generado/models/problem.rb +329 -0
  173. data/lib/trevol_generado/models/problem_error.rb +178 -0
  174. data/lib/trevol_generado/models/public_services_extension.rb +385 -0
  175. data/lib/trevol_generado/models/radian_event.rb +359 -0
  176. data/lib/trevol_generado/models/radian_event_data.rb +289 -0
  177. data/lib/trevol_generado/models/radian_event_input.rb +284 -0
  178. data/lib/trevol_generado/models/radian_event_invoice.rb +208 -0
  179. data/lib/trevol_generado/models/radian_event_list.rb +191 -0
  180. data/lib/trevol_generado/models/received_invoice.rb +200 -0
  181. data/lib/trevol_generado/models/received_invoice_issuer.rb +190 -0
  182. data/lib/trevol_generado/models/references.rb +182 -0
  183. data/lib/trevol_generado/models/request_list.rb +191 -0
  184. data/lib/trevol_generado/models/request_log.rb +275 -0
  185. data/lib/trevol_generado/models/seller.rb +385 -0
  186. data/lib/trevol_generado/models/shipment.rb +178 -0
  187. data/lib/trevol_generado/models/show_event.rb +276 -0
  188. data/lib/trevol_generado/models/show_extension.rb +203 -0
  189. data/lib/trevol_generado/models/show_producer.rb +212 -0
  190. data/lib/trevol_generado/models/standard_code.rb +169 -0
  191. data/lib/trevol_generado/models/stock_exchange_extension.rb +320 -0
  192. data/lib/trevol_generado/models/stock_exchange_prices.rb +169 -0
  193. data/lib/trevol_generado/models/support_adjustment_item.rb +295 -0
  194. data/lib/trevol_generado/models/support_adjustment_reference.rb +188 -0
  195. data/lib/trevol_generado/models/support_currency.rb +231 -0
  196. data/lib/trevol_generado/models/support_document.rb +401 -0
  197. data/lib/trevol_generado/models/support_document_adjustment.rb +409 -0
  198. data/lib/trevol_generado/models/support_document_adjustment_input.rb +331 -0
  199. data/lib/trevol_generado/models/support_document_adjustment_list.rb +191 -0
  200. data/lib/trevol_generado/models/support_document_delivery.rb +199 -0
  201. data/lib/trevol_generado/models/support_document_event_data.rb +305 -0
  202. data/lib/trevol_generado/models/support_document_input.rb +331 -0
  203. data/lib/trevol_generado/models/support_document_list.rb +191 -0
  204. data/lib/trevol_generado/models/support_document_reference.rb +198 -0
  205. data/lib/trevol_generado/models/support_item.rb +317 -0
  206. data/lib/trevol_generado/models/support_item_charge.rb +180 -0
  207. data/lib/trevol_generado/models/support_item_tax.rb +197 -0
  208. data/lib/trevol_generado/models/support_item_withholding.rb +205 -0
  209. data/lib/trevol_generado/models/tacit_acceptance.rb +224 -0
  210. data/lib/trevol_generado/models/tacit_acceptance_rule.rb +226 -0
  211. data/lib/trevol_generado/models/test_event_data.rb +171 -0
  212. data/lib/trevol_generado/models/third_party_charge.rb +277 -0
  213. data/lib/trevol_generado/models/third_party_company.rb +203 -0
  214. data/lib/trevol_generado/models/top_up.rb +199 -0
  215. data/lib/trevol_generado/models/top_up_buyer.rb +352 -0
  216. data/lib/trevol_generado/models/top_up_input.rb +187 -0
  217. data/lib/trevol_generado/models/top_up_wompi.rb +209 -0
  218. data/lib/trevol_generado/models/transport_extension.rb +281 -0
  219. data/lib/trevol_generado/models/webhook_delivery.rb +267 -0
  220. data/lib/trevol_generado/models/webhook_delivery_attempt.rb +192 -0
  221. data/lib/trevol_generado/models/webhook_delivery_list.rb +191 -0
  222. data/lib/trevol_generado/models/webhook_endpoint.rb +317 -0
  223. data/lib/trevol_generado/models/webhook_endpoint_input.rb +229 -0
  224. data/lib/trevol_generado/models/webhook_endpoint_list.rb +191 -0
  225. data/lib/trevol_generado/models/webhook_endpoint_rotate_input.rb +160 -0
  226. data/lib/trevol_generado/models/webhook_endpoint_update.rb +227 -0
  227. data/lib/trevol_generado/models/withholding.rb +224 -0
  228. data/lib/trevol_generado/tablas.rb +243 -0
  229. data/lib/trevol_generado/version.rb +15 -0
  230. data/lib/trevol_generado.rb +251 -0
  231. metadata +386 -0
@@ -0,0 +1,556 @@
1
+ =begin
2
+ #API de Trevol
3
+
4
+ #Trevol API. Documentación: https://platform.trevol.si/docs
5
+
6
+ The version of the OpenAPI document: 2026-10-22
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.26.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module TrevolGenerado
16
+ class WebhookEndpointsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Crear un endpoint de webhooks (máximo 5 por empresa y ambiente)
23
+ # El `secret` (whsec_…) viene SOLO en esta respuesta. Cada entrega lleva `webhook-id` (el mismo en cada reintento: deduplica con él), `webhook-timestamp` y `webhook-signature`: `v1,` + base64(HMAC-SHA256(clave, `{webhook-id}.{webhook-timestamp}.{cuerpo}`)), con la clave de los 32 bytes que siguen a `whsec_`. No usa Idempotency-Key: la respuesta lleva el secreto y no se guarda.
24
+ # @param webhook_endpoint_input [WebhookEndpointInput]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [WebhookEndpoint]
27
+ def create_webhook_endpoint(webhook_endpoint_input, opts = {})
28
+ data, _status_code, _headers = create_webhook_endpoint_with_http_info(webhook_endpoint_input, opts)
29
+ data
30
+ end
31
+
32
+ # Crear un endpoint de webhooks (máximo 5 por empresa y ambiente)
33
+ # El `secret` (whsec_…) viene SOLO en esta respuesta. Cada entrega lleva `webhook-id` (el mismo en cada reintento: deduplica con él), `webhook-timestamp` y `webhook-signature`: `v1,` + base64(HMAC-SHA256(clave, `{webhook-id}.{webhook-timestamp}.{cuerpo}`)), con la clave de los 32 bytes que siguen a `whsec_`. No usa Idempotency-Key: la respuesta lleva el secreto y no se guarda.
34
+ # @param webhook_endpoint_input [WebhookEndpointInput]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(WebhookEndpoint, Integer, Hash)>] WebhookEndpoint data, response status code and response headers
37
+ def create_webhook_endpoint_with_http_info(webhook_endpoint_input, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.create_webhook_endpoint ...'
40
+ end
41
+ # verify the required parameter 'webhook_endpoint_input' is set
42
+ if @api_client.config.client_side_validation && webhook_endpoint_input.nil?
43
+ fail ArgumentError, "Missing the required parameter 'webhook_endpoint_input' when calling WebhookEndpointsApi.create_webhook_endpoint"
44
+ end
45
+ # resource path
46
+ local_var_path = '/webhook_endpoints'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(webhook_endpoint_input)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'WebhookEndpoint'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['llave']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"WebhookEndpointsApi.create_webhook_endpoint",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#create_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Borrar el endpoint (con sus entregas)
91
+ # Tu servidor deja de recibir avisos de inmediato. No se puede deshacer; si solo quieres detenerlo un rato, pausa el endpoint.
92
+ # @param id [String]
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [DeletedObject]
95
+ def delete_webhook_endpoint(id, opts = {})
96
+ data, _status_code, _headers = delete_webhook_endpoint_with_http_info(id, opts)
97
+ data
98
+ end
99
+
100
+ # Borrar el endpoint (con sus entregas)
101
+ # Tu servidor deja de recibir avisos de inmediato. No se puede deshacer; si solo quieres detenerlo un rato, pausa el endpoint.
102
+ # @param id [String]
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(DeletedObject, Integer, Hash)>] DeletedObject data, response status code and response headers
105
+ def delete_webhook_endpoint_with_http_info(id, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.delete_webhook_endpoint ...'
108
+ end
109
+ # verify the required parameter 'id' is set
110
+ if @api_client.config.client_side_validation && id.nil?
111
+ fail ArgumentError, "Missing the required parameter 'id' when calling WebhookEndpointsApi.delete_webhook_endpoint"
112
+ end
113
+ # resource path
114
+ local_var_path = '/webhook_endpoints/{id}'.sub('{id}', CGI.escape(id.to_s))
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+ # HTTP header 'Accept' (if needed)
122
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
123
+
124
+ # form parameters
125
+ form_params = opts[:form_params] || {}
126
+
127
+ # http body (model)
128
+ post_body = opts[:debug_body]
129
+
130
+ # return_type
131
+ return_type = opts[:debug_return_type] || 'DeletedObject'
132
+
133
+ # auth_names
134
+ auth_names = opts[:debug_auth_names] || ['llave']
135
+
136
+ new_options = opts.merge(
137
+ :operation => :"WebhookEndpointsApi.delete_webhook_endpoint",
138
+ :header_params => header_params,
139
+ :query_params => query_params,
140
+ :form_params => form_params,
141
+ :body => post_body,
142
+ :auth_names => auth_names,
143
+ :return_type => return_type
144
+ )
145
+
146
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
147
+ if @api_client.config.debugging
148
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#delete_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
149
+ end
150
+ return data, status_code, headers
151
+ end
152
+
153
+ # Las entregas de este endpoint, de la más nueva a la más vieja
154
+ # Cada intento con su estado HTTP, su error (`timeout`, `http_5xx`, `blocked_address`…) y su duración. Nunca guardamos la respuesta de tu servidor. Se conservan 30 días.
155
+ # @param id [String]
156
+ # @param [Hash] opts the optional parameters
157
+ # @option opts [Integer] :limit
158
+ # @option opts [String] :starting_after
159
+ # @option opts [String] :status
160
+ # @return [WebhookDeliveryList]
161
+ def list_webhook_endpoint_deliveries(id, opts = {})
162
+ data, _status_code, _headers = list_webhook_endpoint_deliveries_with_http_info(id, opts)
163
+ data
164
+ end
165
+
166
+ # Las entregas de este endpoint, de la más nueva a la más vieja
167
+ # Cada intento con su estado HTTP, su error (&#x60;timeout&#x60;, &#x60;http_5xx&#x60;, &#x60;blocked_address&#x60;…) y su duración. Nunca guardamos la respuesta de tu servidor. Se conservan 30 días.
168
+ # @param id [String]
169
+ # @param [Hash] opts the optional parameters
170
+ # @option opts [Integer] :limit
171
+ # @option opts [String] :starting_after
172
+ # @option opts [String] :status
173
+ # @return [Array<(WebhookDeliveryList, Integer, Hash)>] WebhookDeliveryList data, response status code and response headers
174
+ def list_webhook_endpoint_deliveries_with_http_info(id, opts = {})
175
+ if @api_client.config.debugging
176
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.list_webhook_endpoint_deliveries ...'
177
+ end
178
+ # verify the required parameter 'id' is set
179
+ if @api_client.config.client_side_validation && id.nil?
180
+ fail ArgumentError, "Missing the required parameter 'id' when calling WebhookEndpointsApi.list_webhook_endpoint_deliveries"
181
+ end
182
+ allowable_values = ["pending", "sending", "succeeded", "failed", "canceled", "unknown_default_open_api"]
183
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
184
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
185
+ end
186
+ # resource path
187
+ local_var_path = '/webhook_endpoints/{id}/deliveries'.sub('{id}', CGI.escape(id.to_s))
188
+
189
+ # query parameters
190
+ query_params = opts[:query_params] || {}
191
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
192
+ query_params[:'starting_after'] = opts[:'starting_after'] if !opts[:'starting_after'].nil?
193
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
194
+
195
+ # header parameters
196
+ header_params = opts[:header_params] || {}
197
+ # HTTP header 'Accept' (if needed)
198
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
199
+
200
+ # form parameters
201
+ form_params = opts[:form_params] || {}
202
+
203
+ # http body (model)
204
+ post_body = opts[:debug_body]
205
+
206
+ # return_type
207
+ return_type = opts[:debug_return_type] || 'WebhookDeliveryList'
208
+
209
+ # auth_names
210
+ auth_names = opts[:debug_auth_names] || ['llave']
211
+
212
+ new_options = opts.merge(
213
+ :operation => :"WebhookEndpointsApi.list_webhook_endpoint_deliveries",
214
+ :header_params => header_params,
215
+ :query_params => query_params,
216
+ :form_params => form_params,
217
+ :body => post_body,
218
+ :auth_names => auth_names,
219
+ :return_type => return_type
220
+ )
221
+
222
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
223
+ if @api_client.config.debugging
224
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#list_webhook_endpoint_deliveries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
225
+ end
226
+ return data, status_code, headers
227
+ end
228
+
229
+ # Los endpoints de webhooks de la empresa y el ambiente
230
+ # Los de la empresa y el ambiente de la llave (máximo 5). Las llaves de lectura ven el esquema y el host de la `url`, con el camino enmascarado («https://tu-servidor.co/…»): a veces es un secreto. Las de escritura la ven completa.
231
+ # @param [Hash] opts the optional parameters
232
+ # @return [WebhookEndpointList]
233
+ def list_webhook_endpoints(opts = {})
234
+ data, _status_code, _headers = list_webhook_endpoints_with_http_info(opts)
235
+ data
236
+ end
237
+
238
+ # Los endpoints de webhooks de la empresa y el ambiente
239
+ # Los de la empresa y el ambiente de la llave (máximo 5). Las llaves de lectura ven el esquema y el host de la &#x60;url&#x60;, con el camino enmascarado («https://tu-servidor.co/…»): a veces es un secreto. Las de escritura la ven completa.
240
+ # @param [Hash] opts the optional parameters
241
+ # @return [Array<(WebhookEndpointList, Integer, Hash)>] WebhookEndpointList data, response status code and response headers
242
+ def list_webhook_endpoints_with_http_info(opts = {})
243
+ if @api_client.config.debugging
244
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.list_webhook_endpoints ...'
245
+ end
246
+ # resource path
247
+ local_var_path = '/webhook_endpoints'
248
+
249
+ # query parameters
250
+ query_params = opts[:query_params] || {}
251
+
252
+ # header parameters
253
+ header_params = opts[:header_params] || {}
254
+ # HTTP header 'Accept' (if needed)
255
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
256
+
257
+ # form parameters
258
+ form_params = opts[:form_params] || {}
259
+
260
+ # http body (model)
261
+ post_body = opts[:debug_body]
262
+
263
+ # return_type
264
+ return_type = opts[:debug_return_type] || 'WebhookEndpointList'
265
+
266
+ # auth_names
267
+ auth_names = opts[:debug_auth_names] || ['llave']
268
+
269
+ new_options = opts.merge(
270
+ :operation => :"WebhookEndpointsApi.list_webhook_endpoints",
271
+ :header_params => header_params,
272
+ :query_params => query_params,
273
+ :form_params => form_params,
274
+ :body => post_body,
275
+ :auth_names => auth_names,
276
+ :return_type => return_type
277
+ )
278
+
279
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
280
+ if @api_client.config.debugging
281
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#list_webhook_endpoints\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
282
+ end
283
+ return data, status_code, headers
284
+ end
285
+
286
+ # Un endpoint
287
+ # El endpoint (nunca el secreto: solo se muestra al crear o rotar). Un id de otra empresa o de otro ambiente es 404.
288
+ # @param id [String]
289
+ # @param [Hash] opts the optional parameters
290
+ # @return [WebhookEndpoint]
291
+ def retrieve_webhook_endpoint(id, opts = {})
292
+ data, _status_code, _headers = retrieve_webhook_endpoint_with_http_info(id, opts)
293
+ data
294
+ end
295
+
296
+ # Un endpoint
297
+ # El endpoint (nunca el secreto: solo se muestra al crear o rotar). Un id de otra empresa o de otro ambiente es 404.
298
+ # @param id [String]
299
+ # @param [Hash] opts the optional parameters
300
+ # @return [Array<(WebhookEndpoint, Integer, Hash)>] WebhookEndpoint data, response status code and response headers
301
+ def retrieve_webhook_endpoint_with_http_info(id, opts = {})
302
+ if @api_client.config.debugging
303
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.retrieve_webhook_endpoint ...'
304
+ end
305
+ # verify the required parameter 'id' is set
306
+ if @api_client.config.client_side_validation && id.nil?
307
+ fail ArgumentError, "Missing the required parameter 'id' when calling WebhookEndpointsApi.retrieve_webhook_endpoint"
308
+ end
309
+ # resource path
310
+ local_var_path = '/webhook_endpoints/{id}'.sub('{id}', CGI.escape(id.to_s))
311
+
312
+ # query parameters
313
+ query_params = opts[:query_params] || {}
314
+
315
+ # header parameters
316
+ header_params = opts[:header_params] || {}
317
+ # HTTP header 'Accept' (if needed)
318
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
319
+
320
+ # form parameters
321
+ form_params = opts[:form_params] || {}
322
+
323
+ # http body (model)
324
+ post_body = opts[:debug_body]
325
+
326
+ # return_type
327
+ return_type = opts[:debug_return_type] || 'WebhookEndpoint'
328
+
329
+ # auth_names
330
+ auth_names = opts[:debug_auth_names] || ['llave']
331
+
332
+ new_options = opts.merge(
333
+ :operation => :"WebhookEndpointsApi.retrieve_webhook_endpoint",
334
+ :header_params => header_params,
335
+ :query_params => query_params,
336
+ :form_params => form_params,
337
+ :body => post_body,
338
+ :auth_names => auth_names,
339
+ :return_type => return_type
340
+ )
341
+
342
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
343
+ if @api_client.config.debugging
344
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#retrieve_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
345
+ end
346
+ return data, status_code, headers
347
+ end
348
+
349
+ # Rotar el secreto
350
+ # El `secret` (whsec_…) viene SOLO en esta respuesta. Cada entrega lleva `webhook-id` (el mismo en cada reintento: deduplica con él), `webhook-timestamp` y `webhook-signature`: `v1,` + base64(HMAC-SHA256(clave, `{webhook-id}.{webhook-timestamp}.{cuerpo}`)), con la clave de los 32 bytes que siguen a `whsec_`. El secreto anterior sigue firmando `grace_period_hours` (0 a 72; 24 por defecto): durante la gracia cada entrega lleva las dos firmas, separadas por un espacio.
351
+ # @param id [String]
352
+ # @param [Hash] opts the optional parameters
353
+ # @option opts [WebhookEndpointRotateInput] :webhook_endpoint_rotate_input
354
+ # @return [WebhookEndpoint]
355
+ def rotate_webhook_endpoint_secret(id, opts = {})
356
+ data, _status_code, _headers = rotate_webhook_endpoint_secret_with_http_info(id, opts)
357
+ data
358
+ end
359
+
360
+ # Rotar el secreto
361
+ # El &#x60;secret&#x60; (whsec_…) viene SOLO en esta respuesta. Cada entrega lleva &#x60;webhook-id&#x60; (el mismo en cada reintento: deduplica con él), &#x60;webhook-timestamp&#x60; y &#x60;webhook-signature&#x60;: &#x60;v1,&#x60; + base64(HMAC-SHA256(clave, &#x60;{webhook-id}.{webhook-timestamp}.{cuerpo}&#x60;)), con la clave de los 32 bytes que siguen a &#x60;whsec_&#x60;. El secreto anterior sigue firmando &#x60;grace_period_hours&#x60; (0 a 72; 24 por defecto): durante la gracia cada entrega lleva las dos firmas, separadas por un espacio.
362
+ # @param id [String]
363
+ # @param [Hash] opts the optional parameters
364
+ # @option opts [WebhookEndpointRotateInput] :webhook_endpoint_rotate_input
365
+ # @return [Array<(WebhookEndpoint, Integer, Hash)>] WebhookEndpoint data, response status code and response headers
366
+ def rotate_webhook_endpoint_secret_with_http_info(id, opts = {})
367
+ if @api_client.config.debugging
368
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.rotate_webhook_endpoint_secret ...'
369
+ end
370
+ # verify the required parameter 'id' is set
371
+ if @api_client.config.client_side_validation && id.nil?
372
+ fail ArgumentError, "Missing the required parameter 'id' when calling WebhookEndpointsApi.rotate_webhook_endpoint_secret"
373
+ end
374
+ # resource path
375
+ local_var_path = '/webhook_endpoints/{id}/rotate_secret'.sub('{id}', CGI.escape(id.to_s))
376
+
377
+ # query parameters
378
+ query_params = opts[:query_params] || {}
379
+
380
+ # header parameters
381
+ header_params = opts[:header_params] || {}
382
+ # HTTP header 'Accept' (if needed)
383
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
384
+ # HTTP header 'Content-Type'
385
+ content_type = @api_client.select_header_content_type(['application/json'])
386
+ if !content_type.nil?
387
+ header_params['Content-Type'] = content_type
388
+ end
389
+
390
+ # form parameters
391
+ form_params = opts[:form_params] || {}
392
+
393
+ # http body (model)
394
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'webhook_endpoint_rotate_input'])
395
+
396
+ # return_type
397
+ return_type = opts[:debug_return_type] || 'WebhookEndpoint'
398
+
399
+ # auth_names
400
+ auth_names = opts[:debug_auth_names] || ['llave']
401
+
402
+ new_options = opts.merge(
403
+ :operation => :"WebhookEndpointsApi.rotate_webhook_endpoint_secret",
404
+ :header_params => header_params,
405
+ :query_params => query_params,
406
+ :form_params => form_params,
407
+ :body => post_body,
408
+ :auth_names => auth_names,
409
+ :return_type => return_type
410
+ )
411
+
412
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
413
+ if @api_client.config.debugging
414
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#rotate_webhook_endpoint_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
415
+ end
416
+ return data, status_code, headers
417
+ end
418
+
419
+ # Mandar un evento `webhook.test` solo a este endpoint (debe estar activo)
420
+ # Encola una entrega manual de prueba (3 intentos) y despierta el envío: en segundos llega a tu servidor con la firma de siempre. Hasta 60 por hora. Mira cómo salió en …/deliveries.
421
+ # @param id [String]
422
+ # @param [Hash] opts the optional parameters
423
+ # @return [WebhookDelivery]
424
+ def test_webhook_endpoint(id, opts = {})
425
+ data, _status_code, _headers = test_webhook_endpoint_with_http_info(id, opts)
426
+ data
427
+ end
428
+
429
+ # Mandar un evento &#x60;webhook.test&#x60; solo a este endpoint (debe estar activo)
430
+ # Encola una entrega manual de prueba (3 intentos) y despierta el envío: en segundos llega a tu servidor con la firma de siempre. Hasta 60 por hora. Mira cómo salió en …/deliveries.
431
+ # @param id [String]
432
+ # @param [Hash] opts the optional parameters
433
+ # @return [Array<(WebhookDelivery, Integer, Hash)>] WebhookDelivery data, response status code and response headers
434
+ def test_webhook_endpoint_with_http_info(id, opts = {})
435
+ if @api_client.config.debugging
436
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.test_webhook_endpoint ...'
437
+ end
438
+ # verify the required parameter 'id' is set
439
+ if @api_client.config.client_side_validation && id.nil?
440
+ fail ArgumentError, "Missing the required parameter 'id' when calling WebhookEndpointsApi.test_webhook_endpoint"
441
+ end
442
+ # resource path
443
+ local_var_path = '/webhook_endpoints/{id}/test'.sub('{id}', CGI.escape(id.to_s))
444
+
445
+ # query parameters
446
+ query_params = opts[:query_params] || {}
447
+
448
+ # header parameters
449
+ header_params = opts[:header_params] || {}
450
+ # HTTP header 'Accept' (if needed)
451
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
452
+
453
+ # form parameters
454
+ form_params = opts[:form_params] || {}
455
+
456
+ # http body (model)
457
+ post_body = opts[:debug_body]
458
+
459
+ # return_type
460
+ return_type = opts[:debug_return_type] || 'WebhookDelivery'
461
+
462
+ # auth_names
463
+ auth_names = opts[:debug_auth_names] || ['llave']
464
+
465
+ new_options = opts.merge(
466
+ :operation => :"WebhookEndpointsApi.test_webhook_endpoint",
467
+ :header_params => header_params,
468
+ :query_params => query_params,
469
+ :form_params => form_params,
470
+ :body => post_body,
471
+ :auth_names => auth_names,
472
+ :return_type => return_type
473
+ )
474
+
475
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
476
+ if @api_client.config.debugging
477
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#test_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
478
+ end
479
+ return data, status_code, headers
480
+ end
481
+
482
+ # Cambiar la URL, la descripción, los eventos o pausar y reactivar
483
+ # Solo cambia lo que mandes. `status: paused` cancela las entregas pendientes; `status: enabled` reactiva el endpoint (también uno que Trevol desactivó por fallos sostenidos) y pone en cero el contador de fallos. `disabled` no se puede pedir.
484
+ # @param id [String]
485
+ # @param webhook_endpoint_update [WebhookEndpointUpdate]
486
+ # @param [Hash] opts the optional parameters
487
+ # @return [WebhookEndpoint]
488
+ def update_webhook_endpoint(id, webhook_endpoint_update, opts = {})
489
+ data, _status_code, _headers = update_webhook_endpoint_with_http_info(id, webhook_endpoint_update, opts)
490
+ data
491
+ end
492
+
493
+ # Cambiar la URL, la descripción, los eventos o pausar y reactivar
494
+ # Solo cambia lo que mandes. &#x60;status: paused&#x60; cancela las entregas pendientes; &#x60;status: enabled&#x60; reactiva el endpoint (también uno que Trevol desactivó por fallos sostenidos) y pone en cero el contador de fallos. &#x60;disabled&#x60; no se puede pedir.
495
+ # @param id [String]
496
+ # @param webhook_endpoint_update [WebhookEndpointUpdate]
497
+ # @param [Hash] opts the optional parameters
498
+ # @return [Array<(WebhookEndpoint, Integer, Hash)>] WebhookEndpoint data, response status code and response headers
499
+ def update_webhook_endpoint_with_http_info(id, webhook_endpoint_update, opts = {})
500
+ if @api_client.config.debugging
501
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.update_webhook_endpoint ...'
502
+ end
503
+ # verify the required parameter 'id' is set
504
+ if @api_client.config.client_side_validation && id.nil?
505
+ fail ArgumentError, "Missing the required parameter 'id' when calling WebhookEndpointsApi.update_webhook_endpoint"
506
+ end
507
+ # verify the required parameter 'webhook_endpoint_update' is set
508
+ if @api_client.config.client_side_validation && webhook_endpoint_update.nil?
509
+ fail ArgumentError, "Missing the required parameter 'webhook_endpoint_update' when calling WebhookEndpointsApi.update_webhook_endpoint"
510
+ end
511
+ # resource path
512
+ local_var_path = '/webhook_endpoints/{id}'.sub('{id}', CGI.escape(id.to_s))
513
+
514
+ # query parameters
515
+ query_params = opts[:query_params] || {}
516
+
517
+ # header parameters
518
+ header_params = opts[:header_params] || {}
519
+ # HTTP header 'Accept' (if needed)
520
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
521
+ # HTTP header 'Content-Type'
522
+ content_type = @api_client.select_header_content_type(['application/json'])
523
+ if !content_type.nil?
524
+ header_params['Content-Type'] = content_type
525
+ end
526
+
527
+ # form parameters
528
+ form_params = opts[:form_params] || {}
529
+
530
+ # http body (model)
531
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(webhook_endpoint_update)
532
+
533
+ # return_type
534
+ return_type = opts[:debug_return_type] || 'WebhookEndpoint'
535
+
536
+ # auth_names
537
+ auth_names = opts[:debug_auth_names] || ['llave']
538
+
539
+ new_options = opts.merge(
540
+ :operation => :"WebhookEndpointsApi.update_webhook_endpoint",
541
+ :header_params => header_params,
542
+ :query_params => query_params,
543
+ :form_params => form_params,
544
+ :body => post_body,
545
+ :auth_names => auth_names,
546
+ :return_type => return_type
547
+ )
548
+
549
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
550
+ if @api_client.config.debugging
551
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#update_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
552
+ end
553
+ return data, status_code, headers
554
+ end
555
+ end
556
+ end