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,359 @@
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 'date'
14
+ require 'time'
15
+
16
+ module TrevolGenerado
17
+ # Un evento RADIAN 030–034 sobre una factura. Solo archivo `xml`. Un rechazo es final.
18
+ class RadianEvent < ApiModelBase
19
+ attr_accessor :id
20
+
21
+ # Valores conocidos: `radian_event`.
22
+ attr_accessor :object
23
+
24
+ # Valores conocidos: `test`, `live`.
25
+ attr_accessor :environment
26
+
27
+ # `validating`: la DIAN respondió 98 («en proceso de validación»); no es un error, responde 202 en las dos versiones y Trevol solo consulta (el 98 significa «no reenvíes»). `processing`: solo en la 2026-10-22, un envío en duda o el evento anterior que aún no aparece: Trevol lo sigue resolviendo. `error` incluye el envío en duda de la 2026-10-21. Valores conocidos: `pending`, `sending`, `validating`, `accepted`, `rejected`, `error`, `processing`.
28
+ attr_accessor :status
29
+
30
+ # Valores conocidos: `030`, `031`, `032`, `033`, `034`.
31
+ attr_accessor :event_code
32
+
33
+ attr_accessor :number
34
+
35
+ attr_accessor :prefix
36
+
37
+ attr_accessor :external_id
38
+
39
+ # Valores conocidos: `api`, `app`.
40
+ attr_accessor :origin
41
+
42
+ attr_accessor :cude
43
+
44
+ attr_accessor :issued_at
45
+
46
+ # 030–033: la factura recibida (con el emisor). 034: {id, cufe, number} de la factura propia; sin `id` si no se emitió con Trevol (la trajo la sincronización con la DIAN).
47
+ attr_accessor :invoice
48
+
49
+ attr_accessor :claim
50
+
51
+ # Valores conocidos: `own`, `dian_free`.
52
+ attr_accessor :software
53
+
54
+ # Valores conocidos: `dian`, `company`.
55
+ attr_accessor :provider
56
+
57
+ attr_accessor :dian
58
+
59
+ # true: GetStatusEvent ya mostraba el CUDE de ESTE evento (un envío en duda que sí llegó); se cerró `accepted` sin reenviar.
60
+ attr_accessor :already_registered
61
+
62
+ # true: la DIAN rechazó con LGC01, la factura ya tiene ese evento (quizá de otro software); no hace falta enviarlo.
63
+ attr_accessor :already_registered_elsewhere
64
+
65
+ # 033 rechazada con DC24c: la factura ya quedó aceptada tácitamente.
66
+ attr_accessor :tacit
67
+
68
+ attr_accessor :created_at
69
+
70
+ attr_accessor :updated_at
71
+
72
+ # Attribute mapping from ruby-style variable name to JSON key.
73
+ def self.attribute_map
74
+ {
75
+ :'id' => :'id',
76
+ :'object' => :'object',
77
+ :'environment' => :'environment',
78
+ :'status' => :'status',
79
+ :'event_code' => :'event_code',
80
+ :'number' => :'number',
81
+ :'prefix' => :'prefix',
82
+ :'external_id' => :'external_id',
83
+ :'origin' => :'origin',
84
+ :'cude' => :'cude',
85
+ :'issued_at' => :'issued_at',
86
+ :'invoice' => :'invoice',
87
+ :'claim' => :'claim',
88
+ :'software' => :'software',
89
+ :'provider' => :'provider',
90
+ :'dian' => :'dian',
91
+ :'already_registered' => :'already_registered',
92
+ :'already_registered_elsewhere' => :'already_registered_elsewhere',
93
+ :'tacit' => :'tacit',
94
+ :'created_at' => :'created_at',
95
+ :'updated_at' => :'updated_at'
96
+ }
97
+ end
98
+
99
+ # Returns attribute mapping this model knows about
100
+ def self.acceptable_attribute_map
101
+ attribute_map
102
+ end
103
+
104
+ # Returns all the JSON keys this model knows about
105
+ def self.acceptable_attributes
106
+ acceptable_attribute_map.values
107
+ end
108
+
109
+ # Attribute type mapping.
110
+ def self.openapi_types
111
+ {
112
+ :'id' => :'String',
113
+ :'object' => :'String',
114
+ :'environment' => :'String',
115
+ :'status' => :'String',
116
+ :'event_code' => :'String',
117
+ :'number' => :'String',
118
+ :'prefix' => :'String',
119
+ :'external_id' => :'String',
120
+ :'origin' => :'String',
121
+ :'cude' => :'String',
122
+ :'issued_at' => :'Time',
123
+ :'invoice' => :'RadianEventInvoice',
124
+ :'claim' => :'EventClaim',
125
+ :'software' => :'String',
126
+ :'provider' => :'String',
127
+ :'dian' => :'DianResult',
128
+ :'already_registered' => :'Boolean',
129
+ :'already_registered_elsewhere' => :'Boolean',
130
+ :'tacit' => :'Boolean',
131
+ :'created_at' => :'Time',
132
+ :'updated_at' => :'Time'
133
+ }
134
+ end
135
+
136
+ # List of attributes with nullable: true
137
+ def self.openapi_nullable
138
+ Set.new([
139
+ :'number',
140
+ :'prefix',
141
+ :'external_id',
142
+ :'cude',
143
+ :'issued_at',
144
+ :'claim',
145
+ :'updated_at'
146
+ ])
147
+ end
148
+
149
+ # Returns attribute type mapping
150
+ def self.acceptable_openapi_types
151
+ openapi_types
152
+ end
153
+
154
+ # Returns the nullable attributes
155
+ def self.acceptable_openapi_nullable
156
+ openapi_nullable
157
+ end
158
+
159
+ # Initializes the object
160
+ # @param [Hash] attributes Model attributes in the form of hash
161
+ def initialize(attributes = {})
162
+ if (!attributes.is_a?(Hash))
163
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrevolGenerado::RadianEvent` initialize method"
164
+ end
165
+
166
+ # check to see if the attribute exists and convert string to symbol for hash key
167
+ acceptable_attribute_map = self.class.acceptable_attribute_map
168
+ attributes = attributes.each_with_object({}) { |(k, v), h|
169
+ if (!acceptable_attribute_map.key?(k.to_sym))
170
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrevolGenerado::RadianEvent`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
171
+ end
172
+ h[k.to_sym] = v
173
+ }
174
+
175
+ if attributes.key?(:'id')
176
+ self.id = attributes[:'id']
177
+ end
178
+
179
+ if attributes.key?(:'object')
180
+ self.object = attributes[:'object']
181
+ end
182
+
183
+ if attributes.key?(:'environment')
184
+ self.environment = attributes[:'environment']
185
+ end
186
+
187
+ if attributes.key?(:'status')
188
+ self.status = attributes[:'status']
189
+ end
190
+
191
+ if attributes.key?(:'event_code')
192
+ self.event_code = attributes[:'event_code']
193
+ end
194
+
195
+ if attributes.key?(:'number')
196
+ self.number = attributes[:'number']
197
+ end
198
+
199
+ if attributes.key?(:'prefix')
200
+ self.prefix = attributes[:'prefix']
201
+ end
202
+
203
+ if attributes.key?(:'external_id')
204
+ self.external_id = attributes[:'external_id']
205
+ end
206
+
207
+ if attributes.key?(:'origin')
208
+ self.origin = attributes[:'origin']
209
+ end
210
+
211
+ if attributes.key?(:'cude')
212
+ self.cude = attributes[:'cude']
213
+ end
214
+
215
+ if attributes.key?(:'issued_at')
216
+ self.issued_at = attributes[:'issued_at']
217
+ end
218
+
219
+ if attributes.key?(:'invoice')
220
+ self.invoice = attributes[:'invoice']
221
+ end
222
+
223
+ if attributes.key?(:'claim')
224
+ self.claim = attributes[:'claim']
225
+ end
226
+
227
+ if attributes.key?(:'software')
228
+ self.software = attributes[:'software']
229
+ end
230
+
231
+ if attributes.key?(:'provider')
232
+ self.provider = attributes[:'provider']
233
+ end
234
+
235
+ if attributes.key?(:'dian')
236
+ self.dian = attributes[:'dian']
237
+ end
238
+
239
+ if attributes.key?(:'already_registered')
240
+ self.already_registered = attributes[:'already_registered']
241
+ end
242
+
243
+ if attributes.key?(:'already_registered_elsewhere')
244
+ self.already_registered_elsewhere = attributes[:'already_registered_elsewhere']
245
+ end
246
+
247
+ if attributes.key?(:'tacit')
248
+ self.tacit = attributes[:'tacit']
249
+ end
250
+
251
+ if attributes.key?(:'created_at')
252
+ self.created_at = attributes[:'created_at']
253
+ end
254
+
255
+ if attributes.key?(:'updated_at')
256
+ self.updated_at = attributes[:'updated_at']
257
+ end
258
+ end
259
+
260
+ # Show invalid properties with the reasons. Usually used together with valid?
261
+ # @return Array for valid properties with the reasons
262
+ def list_invalid_properties
263
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
264
+ invalid_properties = Array.new
265
+ invalid_properties
266
+ end
267
+
268
+ # Check to see if the all the properties in the model are valid
269
+ # @return true if the model is valid
270
+ def valid?
271
+ warn '[DEPRECATED] the `valid?` method is obsolete'
272
+ true
273
+ end
274
+
275
+ # Checks equality by comparing each attribute.
276
+ # @param [Object] Object to be compared
277
+ def ==(o)
278
+ return true if self.equal?(o)
279
+ self.class == o.class &&
280
+ id == o.id &&
281
+ object == o.object &&
282
+ environment == o.environment &&
283
+ status == o.status &&
284
+ event_code == o.event_code &&
285
+ number == o.number &&
286
+ prefix == o.prefix &&
287
+ external_id == o.external_id &&
288
+ origin == o.origin &&
289
+ cude == o.cude &&
290
+ issued_at == o.issued_at &&
291
+ invoice == o.invoice &&
292
+ claim == o.claim &&
293
+ software == o.software &&
294
+ provider == o.provider &&
295
+ dian == o.dian &&
296
+ already_registered == o.already_registered &&
297
+ already_registered_elsewhere == o.already_registered_elsewhere &&
298
+ tacit == o.tacit &&
299
+ created_at == o.created_at &&
300
+ updated_at == o.updated_at
301
+ end
302
+
303
+ # @see the `==` method
304
+ # @param [Object] Object to be compared
305
+ def eql?(o)
306
+ self == o
307
+ end
308
+
309
+ # Calculates hash code according to all attributes.
310
+ # @return [Integer] Hash code
311
+ def hash
312
+ [id, object, environment, status, event_code, number, prefix, external_id, origin, cude, issued_at, invoice, claim, software, provider, dian, already_registered, already_registered_elsewhere, tacit, created_at, updated_at].hash
313
+ end
314
+
315
+ # Builds the object from hash
316
+ # @param [Hash] attributes Model attributes in the form of hash
317
+ # @return [Object] Returns the model itself
318
+ def self.build_from_hash(attributes)
319
+ return nil unless attributes.is_a?(Hash)
320
+ attributes = attributes.transform_keys(&:to_sym)
321
+ # include attributes inherited from allOf parents (the nearest declaration wins)
322
+ map = acceptable_attribute_map
323
+ transformed_hash = {}
324
+ acceptable_openapi_types.each_pair do |key, type|
325
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
326
+ transformed_hash["#{key}"] = nil
327
+ elsif type =~ /\AArray<(.*)>/i
328
+ # check to ensure the input is an array given that the attribute
329
+ # is documented as an array but the input is not
330
+ if attributes[map[key]].is_a?(Array)
331
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
332
+ end
333
+ elsif !attributes[map[key]].nil?
334
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
335
+ end
336
+ end
337
+ new(transformed_hash)
338
+ end
339
+
340
+ # Returns the object in the form of hash
341
+ # @return [Hash] Returns the object in the form of hash
342
+ def to_hash
343
+ hash = {}
344
+ # include attributes inherited from allOf parents (the nearest declaration wins)
345
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
346
+ value = self.send(attr)
347
+ if value.nil?
348
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
349
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
350
+ end
351
+
352
+ hash[param] = _to_hash(value)
353
+ end
354
+ hash
355
+ end
356
+
357
+ end
358
+
359
+ end
@@ -0,0 +1,289 @@
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 'date'
14
+ require 'time'
15
+
16
+ module TrevolGenerado
17
+ # Resumen de un evento RADIAN (030–034): sin nombres ni NIT del emisor de la factura. Pide el evento completo con GET /v1/radian_events/{id}.
18
+ class RadianEventData < ApiModelBase
19
+ # Valores conocidos: `radian_event`.
20
+ attr_accessor :object
21
+
22
+ attr_accessor :id
23
+
24
+ # Valores conocidos: `pending`, `sending`, `validating`, `accepted`, `rejected`, `error`.
25
+ attr_accessor :status
26
+
27
+ # Valores conocidos: `test`, `live`.
28
+ attr_accessor :environment
29
+
30
+ # Valores conocidos: `030`, `031`, `032`, `033`, `034`.
31
+ attr_accessor :event_code
32
+
33
+ attr_accessor :number
34
+
35
+ attr_accessor :prefix
36
+
37
+ attr_accessor :external_id
38
+
39
+ # Valores conocidos: `api`, `app`.
40
+ attr_accessor :origin
41
+
42
+ attr_accessor :cude
43
+
44
+ attr_accessor :issued_at
45
+
46
+ attr_accessor :invoice
47
+
48
+ attr_accessor :dian
49
+
50
+ # Solo en `….error`. Texto fijo por código.
51
+ attr_accessor :error
52
+
53
+ # Attribute mapping from ruby-style variable name to JSON key.
54
+ def self.attribute_map
55
+ {
56
+ :'object' => :'object',
57
+ :'id' => :'id',
58
+ :'status' => :'status',
59
+ :'environment' => :'environment',
60
+ :'event_code' => :'event_code',
61
+ :'number' => :'number',
62
+ :'prefix' => :'prefix',
63
+ :'external_id' => :'external_id',
64
+ :'origin' => :'origin',
65
+ :'cude' => :'cude',
66
+ :'issued_at' => :'issued_at',
67
+ :'invoice' => :'invoice',
68
+ :'dian' => :'dian',
69
+ :'error' => :'error'
70
+ }
71
+ end
72
+
73
+ # Returns attribute mapping this model knows about
74
+ def self.acceptable_attribute_map
75
+ attribute_map
76
+ end
77
+
78
+ # Returns all the JSON keys this model knows about
79
+ def self.acceptable_attributes
80
+ acceptable_attribute_map.values
81
+ end
82
+
83
+ # Attribute type mapping.
84
+ def self.openapi_types
85
+ {
86
+ :'object' => :'String',
87
+ :'id' => :'String',
88
+ :'status' => :'String',
89
+ :'environment' => :'String',
90
+ :'event_code' => :'String',
91
+ :'number' => :'String',
92
+ :'prefix' => :'String',
93
+ :'external_id' => :'String',
94
+ :'origin' => :'String',
95
+ :'cude' => :'String',
96
+ :'issued_at' => :'Time',
97
+ :'invoice' => :'EventRadianInvoiceRef',
98
+ :'dian' => :'EventDianResult',
99
+ :'error' => :'EventDocumentError'
100
+ }
101
+ end
102
+
103
+ # List of attributes with nullable: true
104
+ def self.openapi_nullable
105
+ Set.new([
106
+ :'number',
107
+ :'prefix',
108
+ :'external_id',
109
+ :'cude',
110
+ :'issued_at',
111
+ ])
112
+ end
113
+
114
+ # Returns attribute type mapping
115
+ def self.acceptable_openapi_types
116
+ openapi_types
117
+ end
118
+
119
+ # Returns the nullable attributes
120
+ def self.acceptable_openapi_nullable
121
+ openapi_nullable
122
+ end
123
+
124
+ # Initializes the object
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ def initialize(attributes = {})
127
+ if (!attributes.is_a?(Hash))
128
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrevolGenerado::RadianEventData` initialize method"
129
+ end
130
+
131
+ # check to see if the attribute exists and convert string to symbol for hash key
132
+ acceptable_attribute_map = self.class.acceptable_attribute_map
133
+ attributes = attributes.each_with_object({}) { |(k, v), h|
134
+ if (!acceptable_attribute_map.key?(k.to_sym))
135
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrevolGenerado::RadianEventData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
136
+ end
137
+ h[k.to_sym] = v
138
+ }
139
+
140
+ if attributes.key?(:'object')
141
+ self.object = attributes[:'object']
142
+ end
143
+
144
+ if attributes.key?(:'id')
145
+ self.id = attributes[:'id']
146
+ end
147
+
148
+ if attributes.key?(:'status')
149
+ self.status = attributes[:'status']
150
+ end
151
+
152
+ if attributes.key?(:'environment')
153
+ self.environment = attributes[:'environment']
154
+ end
155
+
156
+ if attributes.key?(:'event_code')
157
+ self.event_code = attributes[:'event_code']
158
+ end
159
+
160
+ if attributes.key?(:'number')
161
+ self.number = attributes[:'number']
162
+ end
163
+
164
+ if attributes.key?(:'prefix')
165
+ self.prefix = attributes[:'prefix']
166
+ end
167
+
168
+ if attributes.key?(:'external_id')
169
+ self.external_id = attributes[:'external_id']
170
+ end
171
+
172
+ if attributes.key?(:'origin')
173
+ self.origin = attributes[:'origin']
174
+ end
175
+
176
+ if attributes.key?(:'cude')
177
+ self.cude = attributes[:'cude']
178
+ end
179
+
180
+ if attributes.key?(:'issued_at')
181
+ self.issued_at = attributes[:'issued_at']
182
+ end
183
+
184
+ if attributes.key?(:'invoice')
185
+ self.invoice = attributes[:'invoice']
186
+ end
187
+
188
+ if attributes.key?(:'dian')
189
+ self.dian = attributes[:'dian']
190
+ end
191
+
192
+ if attributes.key?(:'error')
193
+ self.error = attributes[:'error']
194
+ end
195
+ end
196
+
197
+ # Show invalid properties with the reasons. Usually used together with valid?
198
+ # @return Array for valid properties with the reasons
199
+ def list_invalid_properties
200
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
201
+ invalid_properties = Array.new
202
+ invalid_properties
203
+ end
204
+
205
+ # Check to see if the all the properties in the model are valid
206
+ # @return true if the model is valid
207
+ def valid?
208
+ warn '[DEPRECATED] the `valid?` method is obsolete'
209
+ true
210
+ end
211
+
212
+ # Checks equality by comparing each attribute.
213
+ # @param [Object] Object to be compared
214
+ def ==(o)
215
+ return true if self.equal?(o)
216
+ self.class == o.class &&
217
+ object == o.object &&
218
+ id == o.id &&
219
+ status == o.status &&
220
+ environment == o.environment &&
221
+ event_code == o.event_code &&
222
+ number == o.number &&
223
+ prefix == o.prefix &&
224
+ external_id == o.external_id &&
225
+ origin == o.origin &&
226
+ cude == o.cude &&
227
+ issued_at == o.issued_at &&
228
+ invoice == o.invoice &&
229
+ dian == o.dian &&
230
+ error == o.error
231
+ end
232
+
233
+ # @see the `==` method
234
+ # @param [Object] Object to be compared
235
+ def eql?(o)
236
+ self == o
237
+ end
238
+
239
+ # Calculates hash code according to all attributes.
240
+ # @return [Integer] Hash code
241
+ def hash
242
+ [object, id, status, environment, event_code, number, prefix, external_id, origin, cude, issued_at, invoice, dian, error].hash
243
+ end
244
+
245
+ # Builds the object from hash
246
+ # @param [Hash] attributes Model attributes in the form of hash
247
+ # @return [Object] Returns the model itself
248
+ def self.build_from_hash(attributes)
249
+ return nil unless attributes.is_a?(Hash)
250
+ attributes = attributes.transform_keys(&:to_sym)
251
+ # include attributes inherited from allOf parents (the nearest declaration wins)
252
+ map = acceptable_attribute_map
253
+ transformed_hash = {}
254
+ acceptable_openapi_types.each_pair do |key, type|
255
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
256
+ transformed_hash["#{key}"] = nil
257
+ elsif type =~ /\AArray<(.*)>/i
258
+ # check to ensure the input is an array given that the attribute
259
+ # is documented as an array but the input is not
260
+ if attributes[map[key]].is_a?(Array)
261
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
262
+ end
263
+ elsif !attributes[map[key]].nil?
264
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
265
+ end
266
+ end
267
+ new(transformed_hash)
268
+ end
269
+
270
+ # Returns the object in the form of hash
271
+ # @return [Hash] Returns the object in the form of hash
272
+ def to_hash
273
+ hash = {}
274
+ # include attributes inherited from allOf parents (the nearest declaration wins)
275
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
276
+ value = self.send(attr)
277
+ if value.nil?
278
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
279
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
280
+ end
281
+
282
+ hash[param] = _to_hash(value)
283
+ end
284
+ hash
285
+ end
286
+
287
+ end
288
+
289
+ end