ecf-dgii 1.0.2

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 (388) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/README.md +316 -0
  4. data/lib/ecf-dgii.rb +40 -0
  5. data/lib/ecf_dgii/client.rb +343 -0
  6. data/lib/ecf_dgii/generated/api/api_key_api.rb +86 -0
  7. data/lib/ecf_dgii/generated/api/aprobacion_comercial_api.rb +162 -0
  8. data/lib/ecf_dgii/generated/api/company_api.rb +416 -0
  9. data/lib/ecf_dgii/generated/api/dgii_api.rb +745 -0
  10. data/lib/ecf_dgii/generated/api/ecf_api.rb +1242 -0
  11. data/lib/ecf_dgii/generated/api/recepcion_api.rb +437 -0
  12. data/lib/ecf_dgii/generated/api_client.rb +441 -0
  13. data/lib/ecf_dgii/generated/api_error.rb +58 -0
  14. data/lib/ecf_dgii/generated/api_model_base.rb +88 -0
  15. data/lib/ecf_dgii/generated/configuration.rb +401 -0
  16. data/lib/ecf_dgii/generated/models/acecf_reception_request_dto.rb +231 -0
  17. data/lib/ecf_dgii/generated/models/acecf_summary_dto.rb +254 -0
  18. data/lib/ecf_dgii/generated/models/acecf_summary_dto_receptor_http_status.rb +104 -0
  19. data/lib/ecf_dgii/generated/models/all_tipo_ecf_types.rb +52 -0
  20. data/lib/ecf_dgii/generated/models/anulacion_list_response.rb +259 -0
  21. data/lib/ecf_dgii/generated/models/anulacion_request.rb +192 -0
  22. data/lib/ecf_dgii/generated/models/certificate_response.rb +358 -0
  23. data/lib/ecf_dgii/generated/models/codificacion_tipo_impuestos_type.rb +77 -0
  24. data/lib/ecf_dgii/generated/models/codigo_modificacion_type.rb +43 -0
  25. data/lib/ecf_dgii/generated/models/company_response.rb +249 -0
  26. data/lib/ecf_dgii/generated/models/detalle_anulacion_request.rb +268 -0
  27. data/lib/ecf_dgii/generated/models/detalle_anulacion_request_dto.rb +200 -0
  28. data/lib/ecf_dgii/generated/models/dgii_environment.rb +41 -0
  29. data/lib/ecf_dgii/generated/models/directorio.rb +194 -0
  30. data/lib/ecf_dgii/generated/models/ecf31_codificacion_tipo_impuestos_type.rb +77 -0
  31. data/lib/ecf_dgii/generated/models/ecf31_codigos_item.rb +190 -0
  32. data/lib/ecf_dgii/generated/models/ecf31_comprador.rb +352 -0
  33. data/lib/ecf_dgii/generated/models/ecf31_descuento_o_recargo.rb +282 -0
  34. data/lib/ecf_dgii/generated/models/ecf31_descuento_o_recargo_monto_descuentoo_recargo.rb +103 -0
  35. data/lib/ecf_dgii/generated/models/ecf31_descuento_o_recargo_valor_descuentoo_recargo.rb +103 -0
  36. data/lib/ecf_dgii/generated/models/ecf31_ecf.rb +238 -0
  37. data/lib/ecf_dgii/generated/models/ecf31_emisor.rb +406 -0
  38. data/lib/ecf_dgii/generated/models/ecf31_encabezado.rb +320 -0
  39. data/lib/ecf_dgii/generated/models/ecf31_forma_de_pago.rb +212 -0
  40. data/lib/ecf_dgii/generated/models/ecf31_forma_de_pago_monto_pago.rb +103 -0
  41. data/lib/ecf_dgii/generated/models/ecf31_forma_pago_type.rb +46 -0
  42. data/lib/ecf_dgii/generated/models/ecf31_id_doc.rb +395 -0
  43. data/lib/ecf_dgii/generated/models/ecf31_impuesto_adicional.rb +186 -0
  44. data/lib/ecf_dgii/generated/models/ecf31_impuesto_adicional2.rb +242 -0
  45. data/lib/ecf_dgii/generated/models/ecf31_impuesto_adicional2_monto_impuesto_selectivo_consumo_especifico.rb +103 -0
  46. data/lib/ecf_dgii/generated/models/ecf31_impuesto_adicional2_tasa_impuesto_adicional.rb +103 -0
  47. data/lib/ecf_dgii/generated/models/ecf31_impuesto_adicional_otra_moneda.rb +242 -0
  48. data/lib/ecf_dgii/generated/models/ecf31_indicador_bieno_servicio_type.rb +40 -0
  49. data/lib/ecf_dgii/generated/models/ecf31_indicador_facturacion_type.rb +43 -0
  50. data/lib/ecf_dgii/generated/models/ecf31_informacion_referencia.rb +200 -0
  51. data/lib/ecf_dgii/generated/models/ecf31_informaciones_adicionales.rb +297 -0
  52. data/lib/ecf_dgii/generated/models/ecf31_item.rb +522 -0
  53. data/lib/ecf_dgii/generated/models/ecf31_item_cantidad_item.rb +103 -0
  54. data/lib/ecf_dgii/generated/models/ecf31_item_precio_unitario_item.rb +103 -0
  55. data/lib/ecf_dgii/generated/models/ecf31_otra_moneda.rb +302 -0
  56. data/lib/ecf_dgii/generated/models/ecf31_otra_moneda_detalle.rb +178 -0
  57. data/lib/ecf_dgii/generated/models/ecf31_otra_moneda_detalle_precio_otra_moneda.rb +103 -0
  58. data/lib/ecf_dgii/generated/models/ecf31_otra_moneda_tipo_cambio.rb +103 -0
  59. data/lib/ecf_dgii/generated/models/ecf31_pagina.rb +298 -0
  60. data/lib/ecf_dgii/generated/models/ecf31_retencion.rb +190 -0
  61. data/lib/ecf_dgii/generated/models/ecf31_sub_descuento.rb +206 -0
  62. data/lib/ecf_dgii/generated/models/ecf31_sub_recargo.rb +206 -0
  63. data/lib/ecf_dgii/generated/models/ecf31_subcantidad_item.rb +180 -0
  64. data/lib/ecf_dgii/generated/models/ecf31_subtotal.rb +288 -0
  65. data/lib/ecf_dgii/generated/models/ecf31_subtotal_impuesto_adicional.rb +158 -0
  66. data/lib/ecf_dgii/generated/models/ecf31_tipo_ajuste_type.rb +40 -0
  67. data/lib/ecf_dgii/generated/models/ecf31_tipo_descuento_recargo_type.rb +40 -0
  68. data/lib/ecf_dgii/generated/models/ecf31_tipo_ingresos_validation_type.rb +44 -0
  69. data/lib/ecf_dgii/generated/models/ecf31_tipo_pago_type.rb +41 -0
  70. data/lib/ecf_dgii/generated/models/ecf31_totales.rb +396 -0
  71. data/lib/ecf_dgii/generated/models/ecf31_totales_monto_no_facturable.rb +103 -0
  72. data/lib/ecf_dgii/generated/models/ecf31_transporte.rb +225 -0
  73. data/lib/ecf_dgii/generated/models/ecf31_version_type.rb +39 -0
  74. data/lib/ecf_dgii/generated/models/ecf32_codificacion_tipo_impuestos_type.rb +77 -0
  75. data/lib/ecf_dgii/generated/models/ecf32_codigos_item.rb +190 -0
  76. data/lib/ecf_dgii/generated/models/ecf32_comprador.rb +330 -0
  77. data/lib/ecf_dgii/generated/models/ecf32_descuento_o_recargo.rb +282 -0
  78. data/lib/ecf_dgii/generated/models/ecf32_ecf.rb +238 -0
  79. data/lib/ecf_dgii/generated/models/ecf32_emisor.rb +406 -0
  80. data/lib/ecf_dgii/generated/models/ecf32_encabezado.rb +320 -0
  81. data/lib/ecf_dgii/generated/models/ecf32_forma_de_pago.rb +212 -0
  82. data/lib/ecf_dgii/generated/models/ecf32_forma_pago_type.rb +46 -0
  83. data/lib/ecf_dgii/generated/models/ecf32_id_doc.rb +386 -0
  84. data/lib/ecf_dgii/generated/models/ecf32_impuesto_adicional.rb +186 -0
  85. data/lib/ecf_dgii/generated/models/ecf32_impuesto_adicional2.rb +242 -0
  86. data/lib/ecf_dgii/generated/models/ecf32_impuesto_adicional_otra_moneda.rb +242 -0
  87. data/lib/ecf_dgii/generated/models/ecf32_indicador_bieno_servicio_type.rb +40 -0
  88. data/lib/ecf_dgii/generated/models/ecf32_indicador_facturacion_type.rb +43 -0
  89. data/lib/ecf_dgii/generated/models/ecf32_informacion_referencia.rb +200 -0
  90. data/lib/ecf_dgii/generated/models/ecf32_informaciones_adicionales.rb +297 -0
  91. data/lib/ecf_dgii/generated/models/ecf32_item.rb +522 -0
  92. data/lib/ecf_dgii/generated/models/ecf32_mineria.rb +200 -0
  93. data/lib/ecf_dgii/generated/models/ecf32_otra_moneda.rb +302 -0
  94. data/lib/ecf_dgii/generated/models/ecf32_otra_moneda_detalle.rb +178 -0
  95. data/lib/ecf_dgii/generated/models/ecf32_pagina.rb +298 -0
  96. data/lib/ecf_dgii/generated/models/ecf32_sub_descuento.rb +206 -0
  97. data/lib/ecf_dgii/generated/models/ecf32_sub_recargo.rb +206 -0
  98. data/lib/ecf_dgii/generated/models/ecf32_subcantidad_item.rb +180 -0
  99. data/lib/ecf_dgii/generated/models/ecf32_subtotal.rb +288 -0
  100. data/lib/ecf_dgii/generated/models/ecf32_subtotal_impuesto_adicional.rb +158 -0
  101. data/lib/ecf_dgii/generated/models/ecf32_tipo_ajuste_type.rb +40 -0
  102. data/lib/ecf_dgii/generated/models/ecf32_tipo_descuento_recargo_type.rb +40 -0
  103. data/lib/ecf_dgii/generated/models/ecf32_tipo_ingresos_validation_type.rb +44 -0
  104. data/lib/ecf_dgii/generated/models/ecf32_tipo_pago_type.rb +41 -0
  105. data/lib/ecf_dgii/generated/models/ecf32_totales.rb +356 -0
  106. data/lib/ecf_dgii/generated/models/ecf32_transporte.rb +225 -0
  107. data/lib/ecf_dgii/generated/models/ecf32_version_type.rb +39 -0
  108. data/lib/ecf_dgii/generated/models/ecf33_codificacion_tipo_impuestos_type.rb +77 -0
  109. data/lib/ecf_dgii/generated/models/ecf33_codigo_modificacion_type.rb +43 -0
  110. data/lib/ecf_dgii/generated/models/ecf33_codigos_item.rb +190 -0
  111. data/lib/ecf_dgii/generated/models/ecf33_comprador.rb +330 -0
  112. data/lib/ecf_dgii/generated/models/ecf33_descuento_o_recargo.rb +282 -0
  113. data/lib/ecf_dgii/generated/models/ecf33_ecf.rb +254 -0
  114. data/lib/ecf_dgii/generated/models/ecf33_emisor.rb +406 -0
  115. data/lib/ecf_dgii/generated/models/ecf33_encabezado.rb +304 -0
  116. data/lib/ecf_dgii/generated/models/ecf33_forma_de_pago.rb +212 -0
  117. data/lib/ecf_dgii/generated/models/ecf33_forma_pago_type.rb +46 -0
  118. data/lib/ecf_dgii/generated/models/ecf33_id_doc.rb +379 -0
  119. data/lib/ecf_dgii/generated/models/ecf33_impuesto_adicional.rb +186 -0
  120. data/lib/ecf_dgii/generated/models/ecf33_impuesto_adicional2.rb +242 -0
  121. data/lib/ecf_dgii/generated/models/ecf33_impuesto_adicional_otra_moneda.rb +242 -0
  122. data/lib/ecf_dgii/generated/models/ecf33_indicador_bieno_servicio_type.rb +40 -0
  123. data/lib/ecf_dgii/generated/models/ecf33_indicador_facturacion_type.rb +43 -0
  124. data/lib/ecf_dgii/generated/models/ecf33_informacion_referencia.rb +241 -0
  125. data/lib/ecf_dgii/generated/models/ecf33_informaciones_adicionales.rb +297 -0
  126. data/lib/ecf_dgii/generated/models/ecf33_item.rb +532 -0
  127. data/lib/ecf_dgii/generated/models/ecf33_mineria.rb +200 -0
  128. data/lib/ecf_dgii/generated/models/ecf33_otra_moneda.rb +302 -0
  129. data/lib/ecf_dgii/generated/models/ecf33_otra_moneda_detalle.rb +178 -0
  130. data/lib/ecf_dgii/generated/models/ecf33_pagina.rb +298 -0
  131. data/lib/ecf_dgii/generated/models/ecf33_retencion.rb +190 -0
  132. data/lib/ecf_dgii/generated/models/ecf33_sub_descuento.rb +206 -0
  133. data/lib/ecf_dgii/generated/models/ecf33_sub_recargo.rb +206 -0
  134. data/lib/ecf_dgii/generated/models/ecf33_subcantidad_item.rb +180 -0
  135. data/lib/ecf_dgii/generated/models/ecf33_subtotal.rb +288 -0
  136. data/lib/ecf_dgii/generated/models/ecf33_subtotal_impuesto_adicional.rb +158 -0
  137. data/lib/ecf_dgii/generated/models/ecf33_tipo_ajuste_type.rb +40 -0
  138. data/lib/ecf_dgii/generated/models/ecf33_tipo_descuento_recargo_type.rb +40 -0
  139. data/lib/ecf_dgii/generated/models/ecf33_tipo_pago_type.rb +41 -0
  140. data/lib/ecf_dgii/generated/models/ecf33_totales.rb +396 -0
  141. data/lib/ecf_dgii/generated/models/ecf33_transporte.rb +225 -0
  142. data/lib/ecf_dgii/generated/models/ecf33_version_type.rb +39 -0
  143. data/lib/ecf_dgii/generated/models/ecf34_codificacion_tipo_impuestos_type.rb +77 -0
  144. data/lib/ecf_dgii/generated/models/ecf34_codigo_modificacion_type.rb +43 -0
  145. data/lib/ecf_dgii/generated/models/ecf34_codigos_item.rb +190 -0
  146. data/lib/ecf_dgii/generated/models/ecf34_comprador.rb +330 -0
  147. data/lib/ecf_dgii/generated/models/ecf34_descuento_o_recargo.rb +282 -0
  148. data/lib/ecf_dgii/generated/models/ecf34_ecf.rb +254 -0
  149. data/lib/ecf_dgii/generated/models/ecf34_emisor.rb +406 -0
  150. data/lib/ecf_dgii/generated/models/ecf34_encabezado.rb +304 -0
  151. data/lib/ecf_dgii/generated/models/ecf34_id_doc.rb +344 -0
  152. data/lib/ecf_dgii/generated/models/ecf34_impuesto_adicional.rb +186 -0
  153. data/lib/ecf_dgii/generated/models/ecf34_impuesto_adicional2.rb +210 -0
  154. data/lib/ecf_dgii/generated/models/ecf34_impuesto_adicional_otra_moneda.rb +242 -0
  155. data/lib/ecf_dgii/generated/models/ecf34_indicador_bieno_servicio_type.rb +40 -0
  156. data/lib/ecf_dgii/generated/models/ecf34_indicador_facturacion_type.rb +43 -0
  157. data/lib/ecf_dgii/generated/models/ecf34_informacion_referencia.rb +241 -0
  158. data/lib/ecf_dgii/generated/models/ecf34_informaciones_adicionales.rb +297 -0
  159. data/lib/ecf_dgii/generated/models/ecf34_item.rb +532 -0
  160. data/lib/ecf_dgii/generated/models/ecf34_mineria.rb +200 -0
  161. data/lib/ecf_dgii/generated/models/ecf34_otra_moneda.rb +302 -0
  162. data/lib/ecf_dgii/generated/models/ecf34_otra_moneda_detalle.rb +178 -0
  163. data/lib/ecf_dgii/generated/models/ecf34_pagina.rb +298 -0
  164. data/lib/ecf_dgii/generated/models/ecf34_retencion.rb +190 -0
  165. data/lib/ecf_dgii/generated/models/ecf34_sub_descuento.rb +206 -0
  166. data/lib/ecf_dgii/generated/models/ecf34_sub_recargo.rb +206 -0
  167. data/lib/ecf_dgii/generated/models/ecf34_subcantidad_item.rb +180 -0
  168. data/lib/ecf_dgii/generated/models/ecf34_subtotal.rb +288 -0
  169. data/lib/ecf_dgii/generated/models/ecf34_subtotal_impuesto_adicional.rb +158 -0
  170. data/lib/ecf_dgii/generated/models/ecf34_tipo_ajuste_type.rb +40 -0
  171. data/lib/ecf_dgii/generated/models/ecf34_tipo_descuento_recargo_type.rb +40 -0
  172. data/lib/ecf_dgii/generated/models/ecf34_tipo_pago_type.rb +41 -0
  173. data/lib/ecf_dgii/generated/models/ecf34_totales.rb +396 -0
  174. data/lib/ecf_dgii/generated/models/ecf34_transporte.rb +225 -0
  175. data/lib/ecf_dgii/generated/models/ecf34_version_type.rb +39 -0
  176. data/lib/ecf_dgii/generated/models/ecf41_codigos_item.rb +190 -0
  177. data/lib/ecf_dgii/generated/models/ecf41_comprador.rb +292 -0
  178. data/lib/ecf_dgii/generated/models/ecf41_descuento_o_recargo.rb +272 -0
  179. data/lib/ecf_dgii/generated/models/ecf41_ecf.rb +238 -0
  180. data/lib/ecf_dgii/generated/models/ecf41_emisor.rb +376 -0
  181. data/lib/ecf_dgii/generated/models/ecf41_encabezado.rb +300 -0
  182. data/lib/ecf_dgii/generated/models/ecf41_forma_de_pago.rb +212 -0
  183. data/lib/ecf_dgii/generated/models/ecf41_forma_pago_type.rb +46 -0
  184. data/lib/ecf_dgii/generated/models/ecf41_id_doc.rb +313 -0
  185. data/lib/ecf_dgii/generated/models/ecf41_indicador_agente_retenciono_percepcion_type.rb +40 -0
  186. data/lib/ecf_dgii/generated/models/ecf41_indicador_bieno_servicio_type.rb +40 -0
  187. data/lib/ecf_dgii/generated/models/ecf41_indicador_facturacion_type.rb +43 -0
  188. data/lib/ecf_dgii/generated/models/ecf41_informacion_referencia.rb +200 -0
  189. data/lib/ecf_dgii/generated/models/ecf41_item.rb +474 -0
  190. data/lib/ecf_dgii/generated/models/ecf41_otra_moneda.rb +280 -0
  191. data/lib/ecf_dgii/generated/models/ecf41_otra_moneda_detalle.rb +178 -0
  192. data/lib/ecf_dgii/generated/models/ecf41_pagina.rb +268 -0
  193. data/lib/ecf_dgii/generated/models/ecf41_retencion.rb +206 -0
  194. data/lib/ecf_dgii/generated/models/ecf41_sub_descuento.rb +206 -0
  195. data/lib/ecf_dgii/generated/models/ecf41_sub_recargo.rb +206 -0
  196. data/lib/ecf_dgii/generated/models/ecf41_subtotal.rb +288 -0
  197. data/lib/ecf_dgii/generated/models/ecf41_tipo_ajuste_type.rb +40 -0
  198. data/lib/ecf_dgii/generated/models/ecf41_tipo_descuento_recargo_type.rb +40 -0
  199. data/lib/ecf_dgii/generated/models/ecf41_totales.rb +364 -0
  200. data/lib/ecf_dgii/generated/models/ecf41_version_type.rb +39 -0
  201. data/lib/ecf_dgii/generated/models/ecf43_codigos_item.rb +190 -0
  202. data/lib/ecf_dgii/generated/models/ecf43_ecf.rb +226 -0
  203. data/lib/ecf_dgii/generated/models/ecf43_emisor.rb +376 -0
  204. data/lib/ecf_dgii/generated/models/ecf43_encabezado.rb +274 -0
  205. data/lib/ecf_dgii/generated/models/ecf43_id_doc.rb +241 -0
  206. data/lib/ecf_dgii/generated/models/ecf43_indicador_bieno_servicio_type.rb +40 -0
  207. data/lib/ecf_dgii/generated/models/ecf43_indicador_facturacion_type.rb +43 -0
  208. data/lib/ecf_dgii/generated/models/ecf43_informacion_referencia.rb +200 -0
  209. data/lib/ecf_dgii/generated/models/ecf43_item.rb +384 -0
  210. data/lib/ecf_dgii/generated/models/ecf43_otra_moneda.rb +200 -0
  211. data/lib/ecf_dgii/generated/models/ecf43_otra_moneda_detalle.rb +178 -0
  212. data/lib/ecf_dgii/generated/models/ecf43_pagina.rb +188 -0
  213. data/lib/ecf_dgii/generated/models/ecf43_subtotal.rb +198 -0
  214. data/lib/ecf_dgii/generated/models/ecf43_totales.rb +214 -0
  215. data/lib/ecf_dgii/generated/models/ecf43_version_type.rb +39 -0
  216. data/lib/ecf_dgii/generated/models/ecf44_codificacion_tipo_impuestos_type.rb +77 -0
  217. data/lib/ecf_dgii/generated/models/ecf44_codigos_item.rb +190 -0
  218. data/lib/ecf_dgii/generated/models/ecf44_comprador.rb +346 -0
  219. data/lib/ecf_dgii/generated/models/ecf44_descuento_o_recargo.rb +272 -0
  220. data/lib/ecf_dgii/generated/models/ecf44_ecf.rb +238 -0
  221. data/lib/ecf_dgii/generated/models/ecf44_emisor.rb +406 -0
  222. data/lib/ecf_dgii/generated/models/ecf44_encabezado.rb +320 -0
  223. data/lib/ecf_dgii/generated/models/ecf44_forma_de_pago.rb +212 -0
  224. data/lib/ecf_dgii/generated/models/ecf44_forma_pago_type.rb +46 -0
  225. data/lib/ecf_dgii/generated/models/ecf44_id_doc.rb +385 -0
  226. data/lib/ecf_dgii/generated/models/ecf44_impuesto_adicional.rb +186 -0
  227. data/lib/ecf_dgii/generated/models/ecf44_impuesto_adicional2.rb +238 -0
  228. data/lib/ecf_dgii/generated/models/ecf44_impuesto_adicional_otra_moneda.rb +190 -0
  229. data/lib/ecf_dgii/generated/models/ecf44_indicador_bieno_servicio_type.rb +40 -0
  230. data/lib/ecf_dgii/generated/models/ecf44_indicador_facturacion_type.rb +43 -0
  231. data/lib/ecf_dgii/generated/models/ecf44_informacion_referencia.rb +200 -0
  232. data/lib/ecf_dgii/generated/models/ecf44_informaciones_adicionales.rb +297 -0
  233. data/lib/ecf_dgii/generated/models/ecf44_item.rb +460 -0
  234. data/lib/ecf_dgii/generated/models/ecf44_otra_moneda.rb +222 -0
  235. data/lib/ecf_dgii/generated/models/ecf44_otra_moneda_detalle.rb +178 -0
  236. data/lib/ecf_dgii/generated/models/ecf44_pagina.rb +218 -0
  237. data/lib/ecf_dgii/generated/models/ecf44_sub_descuento.rb +206 -0
  238. data/lib/ecf_dgii/generated/models/ecf44_sub_recargo.rb +206 -0
  239. data/lib/ecf_dgii/generated/models/ecf44_subtotal.rb +208 -0
  240. data/lib/ecf_dgii/generated/models/ecf44_subtotal_impuesto_adicional.rb +148 -0
  241. data/lib/ecf_dgii/generated/models/ecf44_tipo_ajuste_type.rb +40 -0
  242. data/lib/ecf_dgii/generated/models/ecf44_tipo_descuento_recargo_type.rb +40 -0
  243. data/lib/ecf_dgii/generated/models/ecf44_tipo_ingresos_validation_type.rb +44 -0
  244. data/lib/ecf_dgii/generated/models/ecf44_tipo_pago_type.rb +41 -0
  245. data/lib/ecf_dgii/generated/models/ecf44_totales.rb +246 -0
  246. data/lib/ecf_dgii/generated/models/ecf44_transporte.rb +225 -0
  247. data/lib/ecf_dgii/generated/models/ecf44_version_type.rb +39 -0
  248. data/lib/ecf_dgii/generated/models/ecf45_codificacion_tipo_impuestos_type.rb +77 -0
  249. data/lib/ecf_dgii/generated/models/ecf45_codigos_item.rb +190 -0
  250. data/lib/ecf_dgii/generated/models/ecf45_comprador.rb +352 -0
  251. data/lib/ecf_dgii/generated/models/ecf45_descuento_o_recargo.rb +282 -0
  252. data/lib/ecf_dgii/generated/models/ecf45_ecf.rb +238 -0
  253. data/lib/ecf_dgii/generated/models/ecf45_emisor.rb +406 -0
  254. data/lib/ecf_dgii/generated/models/ecf45_encabezado.rb +320 -0
  255. data/lib/ecf_dgii/generated/models/ecf45_forma_de_pago.rb +212 -0
  256. data/lib/ecf_dgii/generated/models/ecf45_forma_pago_type.rb +46 -0
  257. data/lib/ecf_dgii/generated/models/ecf45_id_doc.rb +395 -0
  258. data/lib/ecf_dgii/generated/models/ecf45_impuesto_adicional.rb +186 -0
  259. data/lib/ecf_dgii/generated/models/ecf45_impuesto_adicional2.rb +242 -0
  260. data/lib/ecf_dgii/generated/models/ecf45_impuesto_adicional_otra_moneda.rb +210 -0
  261. data/lib/ecf_dgii/generated/models/ecf45_indicador_bieno_servicio_type.rb +40 -0
  262. data/lib/ecf_dgii/generated/models/ecf45_indicador_facturacion_type.rb +43 -0
  263. data/lib/ecf_dgii/generated/models/ecf45_informacion_referencia.rb +200 -0
  264. data/lib/ecf_dgii/generated/models/ecf45_informaciones_adicionales.rb +280 -0
  265. data/lib/ecf_dgii/generated/models/ecf45_item.rb +512 -0
  266. data/lib/ecf_dgii/generated/models/ecf45_otra_moneda.rb +302 -0
  267. data/lib/ecf_dgii/generated/models/ecf45_otra_moneda_detalle.rb +178 -0
  268. data/lib/ecf_dgii/generated/models/ecf45_pagina.rb +298 -0
  269. data/lib/ecf_dgii/generated/models/ecf45_sub_descuento.rb +206 -0
  270. data/lib/ecf_dgii/generated/models/ecf45_sub_recargo.rb +206 -0
  271. data/lib/ecf_dgii/generated/models/ecf45_subcantidad_item.rb +180 -0
  272. data/lib/ecf_dgii/generated/models/ecf45_subtotal.rb +288 -0
  273. data/lib/ecf_dgii/generated/models/ecf45_subtotal_impuesto_adicional.rb +158 -0
  274. data/lib/ecf_dgii/generated/models/ecf45_tipo_ajuste_type.rb +40 -0
  275. data/lib/ecf_dgii/generated/models/ecf45_tipo_descuento_recargo_type.rb +40 -0
  276. data/lib/ecf_dgii/generated/models/ecf45_tipo_ingresos_validation_type.rb +44 -0
  277. data/lib/ecf_dgii/generated/models/ecf45_tipo_pago_type.rb +41 -0
  278. data/lib/ecf_dgii/generated/models/ecf45_totales.rb +356 -0
  279. data/lib/ecf_dgii/generated/models/ecf45_transporte.rb +225 -0
  280. data/lib/ecf_dgii/generated/models/ecf45_version_type.rb +39 -0
  281. data/lib/ecf_dgii/generated/models/ecf46_codigos_item.rb +190 -0
  282. data/lib/ecf_dgii/generated/models/ecf46_comprador.rb +356 -0
  283. data/lib/ecf_dgii/generated/models/ecf46_descuento_o_recargo.rb +272 -0
  284. data/lib/ecf_dgii/generated/models/ecf46_ecf.rb +238 -0
  285. data/lib/ecf_dgii/generated/models/ecf46_emisor.rb +406 -0
  286. data/lib/ecf_dgii/generated/models/ecf46_encabezado.rb +320 -0
  287. data/lib/ecf_dgii/generated/models/ecf46_forma_de_pago.rb +212 -0
  288. data/lib/ecf_dgii/generated/models/ecf46_forma_pago_type.rb +46 -0
  289. data/lib/ecf_dgii/generated/models/ecf46_id_doc.rb +375 -0
  290. data/lib/ecf_dgii/generated/models/ecf46_indicador_bieno_servicio_type.rb +40 -0
  291. data/lib/ecf_dgii/generated/models/ecf46_indicador_facturacion_type.rb +43 -0
  292. data/lib/ecf_dgii/generated/models/ecf46_informacion_referencia.rb +200 -0
  293. data/lib/ecf_dgii/generated/models/ecf46_informaciones_adicionales.rb +397 -0
  294. data/lib/ecf_dgii/generated/models/ecf46_item.rb +458 -0
  295. data/lib/ecf_dgii/generated/models/ecf46_mineria.rb +200 -0
  296. data/lib/ecf_dgii/generated/models/ecf46_otra_moneda.rb +230 -0
  297. data/lib/ecf_dgii/generated/models/ecf46_otra_moneda_detalle.rb +178 -0
  298. data/lib/ecf_dgii/generated/models/ecf46_pagina.rb +228 -0
  299. data/lib/ecf_dgii/generated/models/ecf46_sub_descuento.rb +206 -0
  300. data/lib/ecf_dgii/generated/models/ecf46_sub_recargo.rb +206 -0
  301. data/lib/ecf_dgii/generated/models/ecf46_subtotal.rb +228 -0
  302. data/lib/ecf_dgii/generated/models/ecf46_tipo_ajuste_type.rb +40 -0
  303. data/lib/ecf_dgii/generated/models/ecf46_tipo_descuento_recargo_type.rb +40 -0
  304. data/lib/ecf_dgii/generated/models/ecf46_tipo_ingresos_validation_type.rb +44 -0
  305. data/lib/ecf_dgii/generated/models/ecf46_tipo_pago_type.rb +41 -0
  306. data/lib/ecf_dgii/generated/models/ecf46_totales.rb +264 -0
  307. data/lib/ecf_dgii/generated/models/ecf46_transporte.rb +317 -0
  308. data/lib/ecf_dgii/generated/models/ecf46_version_type.rb +39 -0
  309. data/lib/ecf_dgii/generated/models/ecf47_codigos_item.rb +190 -0
  310. data/lib/ecf_dgii/generated/models/ecf47_comprador.rb +158 -0
  311. data/lib/ecf_dgii/generated/models/ecf47_ecf.rb +226 -0
  312. data/lib/ecf_dgii/generated/models/ecf47_emisor.rb +376 -0
  313. data/lib/ecf_dgii/generated/models/ecf47_encabezado.rb +294 -0
  314. data/lib/ecf_dgii/generated/models/ecf47_forma_de_pago.rb +212 -0
  315. data/lib/ecf_dgii/generated/models/ecf47_forma_pago_type.rb +46 -0
  316. data/lib/ecf_dgii/generated/models/ecf47_id_doc.rb +323 -0
  317. data/lib/ecf_dgii/generated/models/ecf47_indicador_agente_retenciono_percepcion_type.rb +40 -0
  318. data/lib/ecf_dgii/generated/models/ecf47_indicador_bieno_servicio_type.rb +40 -0
  319. data/lib/ecf_dgii/generated/models/ecf47_indicador_facturacion_type.rb +43 -0
  320. data/lib/ecf_dgii/generated/models/ecf47_informacion_referencia.rb +200 -0
  321. data/lib/ecf_dgii/generated/models/ecf47_item.rb +410 -0
  322. data/lib/ecf_dgii/generated/models/ecf47_otra_moneda.rb +200 -0
  323. data/lib/ecf_dgii/generated/models/ecf47_otra_moneda_detalle.rb +178 -0
  324. data/lib/ecf_dgii/generated/models/ecf47_pagina.rb +188 -0
  325. data/lib/ecf_dgii/generated/models/ecf47_retencion.rb +212 -0
  326. data/lib/ecf_dgii/generated/models/ecf47_subtotal.rb +198 -0
  327. data/lib/ecf_dgii/generated/models/ecf47_totales.rb +224 -0
  328. data/lib/ecf_dgii/generated/models/ecf47_transporte.rb +148 -0
  329. data/lib/ecf_dgii/generated/models/ecf47_version_type.rb +39 -0
  330. data/lib/ecf_dgii/generated/models/ecf_estado.rb +43 -0
  331. data/lib/ecf_dgii/generated/models/ecf_progress.rb +43 -0
  332. data/lib/ecf_dgii/generated/models/ecf_reception_request_dto.rb +283 -0
  333. data/lib/ecf_dgii/generated/models/ecf_reception_request_dto_monto_total.rb +103 -0
  334. data/lib/ecf_dgii/generated/models/ecf_receptor_dto.rb +339 -0
  335. data/lib/ecf_dgii/generated/models/ecf_response.rb +628 -0
  336. data/lib/ecf_dgii/generated/models/ecf_type.rb +48 -0
  337. data/lib/ecf_dgii/generated/models/estado_type.rb +40 -0
  338. data/lib/ecf_dgii/generated/models/get_companies_limit_parameter.rb +103 -0
  339. data/lib/ecf_dgii/generated/models/get_companies_page_parameter.rb +103 -0
  340. data/lib/ecf_dgii/generated/models/indicador_agente_retenciono_percepcion_type.rb +40 -0
  341. data/lib/ecf_dgii/generated/models/indicador_envio_diferido_type.rb +39 -0
  342. data/lib/ecf_dgii/generated/models/indicador_facturacion_dr_type.rb +42 -0
  343. data/lib/ecf_dgii/generated/models/indicador_monto_gravado_type.rb +40 -0
  344. data/lib/ecf_dgii/generated/models/indicador_norma1007_type.rb +40 -0
  345. data/lib/ecf_dgii/generated/models/indicador_servicio_todo_incluido_type.rb +39 -0
  346. data/lib/ecf_dgii/generated/models/liquidacion_type.rb +40 -0
  347. data/lib/ecf_dgii/generated/models/mensaje.rb +159 -0
  348. data/lib/ecf_dgii/generated/models/new_company_api_key.rb +164 -0
  349. data/lib/ecf_dgii/generated/models/paginated_api_result_of_acecf_reception_request_dto.rb +208 -0
  350. data/lib/ecf_dgii/generated/models/paginated_api_result_of_anulacion_list_response.rb +208 -0
  351. data/lib/ecf_dgii/generated/models/paginated_api_result_of_company_response.rb +208 -0
  352. data/lib/ecf_dgii/generated/models/paginated_api_result_of_ecf_reception_request_dto.rb +208 -0
  353. data/lib/ecf_dgii/generated/models/paginated_api_result_of_ecf_response.rb +208 -0
  354. data/lib/ecf_dgii/generated/models/problem_details.rb +188 -0
  355. data/lib/ecf_dgii/generated/models/provincia_municipio_type.rb +620 -0
  356. data/lib/ecf_dgii/generated/models/respuesta_anulacion_rango.rb +185 -0
  357. data/lib/ecf_dgii/generated/models/respuesta_consulta_estado.rb +256 -0
  358. data/lib/ecf_dgii/generated/models/respuesta_consulta_estado_monto_total.rb +104 -0
  359. data/lib/ecf_dgii/generated/models/respuesta_consulta_rfce.rb +205 -0
  360. data/lib/ecf_dgii/generated/models/respuesta_consulta_timbre.rb +183 -0
  361. data/lib/ecf_dgii/generated/models/respuesta_consulta_track_id.rb +228 -0
  362. data/lib/ecf_dgii/generated/models/respuesta_estatus_servicio.rb +172 -0
  363. data/lib/ecf_dgii/generated/models/respuesta_ventana_de_mantenimiento.rb +151 -0
  364. data/lib/ecf_dgii/generated/models/search_ecf_reception_requests_tipos_ecfs_parameter_inner.rb +103 -0
  365. data/lib/ecf_dgii/generated/models/search_ecfs_amount_from_parameter.rb +103 -0
  366. data/lib/ecf_dgii/generated/models/secuencia_request.rb +190 -0
  367. data/lib/ecf_dgii/generated/models/secuencia_request_dto.rb +156 -0
  368. data/lib/ecf_dgii/generated/models/send_acecf_request.rb +179 -0
  369. data/lib/ecf_dgii/generated/models/tipo_afiliacion_type.rb +40 -0
  370. data/lib/ecf_dgii/generated/models/tipo_cuenta_pago_type.rb +41 -0
  371. data/lib/ecf_dgii/generated/models/tipo_descuento_recargo_type.rb +40 -0
  372. data/lib/ecf_dgii/generated/models/tipo_ingresos_validation_type.rb +44 -0
  373. data/lib/ecf_dgii/generated/models/tipo_moneda_type.rb +55 -0
  374. data/lib/ecf_dgii/generated/models/tipo_pago_type.rb +41 -0
  375. data/lib/ecf_dgii/generated/models/tipoe_cf_type.rb +48 -0
  376. data/lib/ecf_dgii/generated/models/token.rb +216 -0
  377. data/lib/ecf_dgii/generated/models/unidad_medida_type.rb +100 -0
  378. data/lib/ecf_dgii/generated/models/upsert_company_request.rb +368 -0
  379. data/lib/ecf_dgii/generated/models/ventana_de_mantenimiento.rb +185 -0
  380. data/lib/ecf_dgii/generated/models/via_transporte_type.rb +41 -0
  381. data/lib/ecf_dgii/generated/version.rb +15 -0
  382. data/lib/ecf_dgii/generated.rb +411 -0
  383. data/lib/ecf_dgii/generators/ecf_dgii/install_generator.rb +15 -0
  384. data/lib/ecf_dgii/generators/ecf_dgii/templates/ecf_dgii.rb.erb +15 -0
  385. data/lib/ecf_dgii/polling.rb +56 -0
  386. data/lib/ecf_dgii/railtie.rb +5 -0
  387. data/lib/ecf_dgii/version.rb +3 -0
  388. metadata +549 -0
@@ -0,0 +1,343 @@
1
+ require "uri"
2
+
3
+ module EcfDgii
4
+ class Client
5
+ ENVIRONMENT_URLS = {
6
+ test: "https://api.test.ecfx.ssd.com.do",
7
+ cert: "https://api.cert.ecfx.ssd.com.do",
8
+ prod: "https://api.prod.ecfx.ssd.com.do"
9
+ }.freeze
10
+
11
+ attr_reader :api_client, :environment
12
+
13
+ def initialize(api_key: nil, base_url: nil, environment: :test, timeout: 30)
14
+ token = api_key || ENV["ECF_API_KEY"]
15
+ resolved_url = base_url || ENV["ECF_API_URL"] || ENVIRONMENT_URLS[environment.to_sym]
16
+ raise ArgumentError, "Se requiere un api_key o la variable de entorno ECF_API_KEY" if token.nil? || token.empty?
17
+ raise ArgumentError, "El entorno especificado o la URL base no son válidos" if resolved_url.nil? || resolved_url.empty?
18
+
19
+ config = EcfDgii::Generated::Configuration.new
20
+ uri = URI.parse(resolved_url)
21
+
22
+ config.scheme = uri.scheme
23
+ config.host = uri.host
24
+ config.base_path = uri.path.empty? ? "" : uri.path
25
+
26
+ config.access_token = token
27
+ config.timeout = timeout
28
+
29
+ @api_client = EcfDgii::Generated::ApiClient.new(config)
30
+ @environment = environment.to_sym
31
+ end
32
+
33
+ # ------------------------------------------------------------------
34
+ # Base API Clients
35
+ # ------------------------------------------------------------------
36
+
37
+ def ecf_api
38
+ @ecf_api ||= EcfDgii::Generated::EcfApi.new(api_client)
39
+ end
40
+
41
+ def dgii_api
42
+ @dgii_api ||= EcfDgii::Generated::DgiiApi.new(api_client)
43
+ end
44
+
45
+ def recepcion_api
46
+ @recepcion_api ||= EcfDgii::Generated::RecepcionApi.new(api_client)
47
+ end
48
+
49
+ def company_api
50
+ @company_api ||= EcfDgii::Generated::CompanyApi.new(api_client)
51
+ end
52
+
53
+ def aprobacion_comercial_api
54
+ @aprobacion_comercial_api ||= EcfDgii::Generated::AprobacionComercialApi.new(api_client)
55
+ end
56
+
57
+ def api_key_api
58
+ @api_key_api ||= EcfDgii::Generated::ApiKeyApi.new(api_client)
59
+ end
60
+
61
+ # ------------------------------------------------------------------
62
+ # ECF send operations (per-type)
63
+ # ------------------------------------------------------------------
64
+
65
+ def send_ecf31(ecf)
66
+ ecf_api.recepcion_ecf_31(ecf)
67
+ end
68
+
69
+ def send_ecf32(ecf)
70
+ ecf_api.recepcion_ecf_32(ecf)
71
+ end
72
+
73
+ def send_ecf33(ecf)
74
+ ecf_api.recepcion_ecf_33(ecf)
75
+ end
76
+
77
+ def send_ecf34(ecf)
78
+ ecf_api.recepcion_ecf_34(ecf)
79
+ end
80
+
81
+ def send_ecf41(ecf)
82
+ ecf_api.recepcion_ecf_41(ecf)
83
+ end
84
+
85
+ def send_ecf43(ecf)
86
+ ecf_api.recepcion_ecf_43(ecf)
87
+ end
88
+
89
+ def send_ecf44(ecf)
90
+ ecf_api.recepcion_ecf_44(ecf)
91
+ end
92
+
93
+ def send_ecf45(ecf)
94
+ ecf_api.recepcion_ecf_45(ecf)
95
+ end
96
+
97
+ def send_ecf46(ecf)
98
+ ecf_api.recepcion_ecf_46(ecf)
99
+ end
100
+
101
+ def send_ecf47(ecf)
102
+ ecf_api.recepcion_ecf_47(ecf)
103
+ end
104
+
105
+ # ------------------------------------------------------------------
106
+ # Polling send operations
107
+ # ------------------------------------------------------------------
108
+
109
+ def send_ecf31_and_poll(ecf, options = nil)
110
+ _send_and_poll(send_ecf31(ecf), options)
111
+ end
112
+
113
+ def send_ecf32_and_poll(ecf, options = nil)
114
+ _send_and_poll(send_ecf32(ecf), options)
115
+ end
116
+
117
+ def send_ecf33_and_poll(ecf, options = nil)
118
+ _send_and_poll(send_ecf33(ecf), options)
119
+ end
120
+
121
+ def send_ecf34_and_poll(ecf, options = nil)
122
+ _send_and_poll(send_ecf34(ecf), options)
123
+ end
124
+
125
+ def send_ecf41_and_poll(ecf, options = nil)
126
+ _send_and_poll(send_ecf41(ecf), options)
127
+ end
128
+
129
+ def send_ecf43_and_poll(ecf, options = nil)
130
+ _send_and_poll(send_ecf43(ecf), options)
131
+ end
132
+
133
+ def send_ecf44_and_poll(ecf, options = nil)
134
+ _send_and_poll(send_ecf44(ecf), options)
135
+ end
136
+
137
+ def send_ecf45_and_poll(ecf, options = nil)
138
+ _send_and_poll(send_ecf45(ecf), options)
139
+ end
140
+
141
+ def send_ecf46_and_poll(ecf, options = nil)
142
+ _send_and_poll(send_ecf46(ecf), options)
143
+ end
144
+
145
+ def send_ecf47_and_poll(ecf, options = nil)
146
+ _send_and_poll(send_ecf47(ecf), options)
147
+ end
148
+
149
+ # ------------------------------------------------------------------
150
+ # Dynamic send_ecf routing (similar to TS sendEcf)
151
+ # ------------------------------------------------------------------
152
+
153
+ ECF_TYPE_ROUTE_MAP = {
154
+ "FacturaDeCreditoFiscalElectronica" => "31",
155
+ "FacturaDeConsumoElectronica" => "32",
156
+ "NotaDeDebitoElectronica" => "33",
157
+ "NotaDeCreditoElectronica" => "34",
158
+ "ComprasElectronico" => "41",
159
+ "GastosMenoresElectronico" => "43",
160
+ "RegimenesEspecialesElectronico" => "44",
161
+ "GubernamentalElectronico" => "45",
162
+ "ComprobanteDeExportacionesElectronico" => "46",
163
+ "ComprobanteParaPagosAlExteriorElectronico" => "47"
164
+ }.freeze
165
+
166
+ def send_ecf(ecf)
167
+ tipoe_cf = nil
168
+ if ecf.respond_to?(:encabezado) && ecf.encabezado.respond_to?(:id_doc)
169
+ tipoe_cf = ecf.encabezado.id_doc.tipoe_cf
170
+ elsif ecf.is_a?(Hash)
171
+ tipoe_cf = ecf.dig(:encabezado, :id_doc, :tipoe_cf) || ecf.dig("encabezado", "idDoc", "tipoeCF")
172
+ end
173
+
174
+ raise ArgumentError, "El objeto ECF debe contener encabezado.id_doc.tipoe_cf" if tipoe_cf.nil? || tipoe_cf.to_s.empty?
175
+
176
+ route = ECF_TYPE_ROUTE_MAP[tipoe_cf.to_s]
177
+ raise ArgumentError, "Tipo de eCF desconocido: #{tipoe_cf}" if route.nil?
178
+
179
+ send("send_ecf#{route}", ecf)
180
+ end
181
+
182
+ def send_ecf_and_poll(ecf, options = nil)
183
+ _send_and_poll(send_ecf(ecf), options)
184
+ end
185
+
186
+ # ------------------------------------------------------------------
187
+ # ECF query & search operations
188
+ # ------------------------------------------------------------------
189
+
190
+ def query_ecf(rnc, encf, opts = {})
191
+ ecf_api.query_ecf(rnc, encf, opts)
192
+ end
193
+
194
+ def search_ecfs(rnc, opts = {})
195
+ ecf_api.search_ecfs(rnc, opts)
196
+ end
197
+
198
+ def search_all_ecfs(opts = {})
199
+ ecf_api.search_all_ecfs(opts)
200
+ end
201
+
202
+ def get_ecf_by_id(id)
203
+ ecf_api.get_ecf_by_id(id)
204
+ end
205
+
206
+ def anulacion_rangos(body)
207
+ ecf_api.anulacion_rangos(body)
208
+ end
209
+
210
+ def list_anulaciones(opts = {})
211
+ ecf_api.list_anulaciones(opts)
212
+ end
213
+
214
+ def send_aprobacion_comercial(body)
215
+ recepcion_api.send_aprobacion_comercial(body)
216
+ end
217
+
218
+ def firmar_semilla(body)
219
+ ecf_api.firmar_semilla(body)
220
+ end
221
+
222
+ # ------------------------------------------------------------------
223
+ # Company operations
224
+ # ------------------------------------------------------------------
225
+
226
+ def get_companies(opts = {})
227
+ company_api.get_companies(opts)
228
+ end
229
+
230
+ def get_company_by_rnc(rnc)
231
+ company_api.get_company_by_rnc(rnc)
232
+ end
233
+
234
+ def upsert_company(body)
235
+ company_api.upsert_company(body)
236
+ end
237
+
238
+ def delete_company(rnc)
239
+ company_api.delete_company(rnc)
240
+ end
241
+
242
+ def get_current_certificate(rnc)
243
+ company_api.get_current_certificate(rnc)
244
+ end
245
+
246
+ def update_certificate_company(rnc, opts = {})
247
+ company_api.update_certificate_company(rnc, opts)
248
+ end
249
+
250
+ # ------------------------------------------------------------------
251
+ # Api Key operations
252
+ # ------------------------------------------------------------------
253
+
254
+ def new_company_api_key(body)
255
+ api_key_api.new_company_api_key(body)
256
+ end
257
+
258
+ # ------------------------------------------------------------------
259
+ # DGII operations
260
+ # ------------------------------------------------------------------
261
+
262
+ def consulta_estado(rnc, rnc_emisor, ncf_electronico, rnc_comprador, codigo_seguridad)
263
+ dgii_api.consulta_estado(rnc, rnc_emisor, ncf_electronico, rnc_comprador, codigo_seguridad)
264
+ end
265
+
266
+ def consulta_track_id(rnc, rnc_emisor, encf)
267
+ dgii_api.consulta_track_id(rnc, rnc_emisor, encf)
268
+ end
269
+
270
+ def consulta_timbre(rnc, rnc_emisor, ncf_electronico, rnc_comprador, codigo_seguridad, fecha_emision, monto_total, uid_timbre)
271
+ dgii_api.consulta_timbre(rnc, rnc_emisor, ncf_electronico, rnc_comprador, codigo_seguridad, fecha_emision, monto_total, uid_timbre)
272
+ end
273
+
274
+ def consulta_timbre_fc(rnc, rnc_emisor, ncf_electronico, rnc_comprador, fecha_emision, monto_total)
275
+ dgii_api.consulta_timbre_fc(rnc, rnc_emisor, ncf_electronico, rnc_comprador, fecha_emision, monto_total)
276
+ end
277
+
278
+ def consulta_resultado(rnc, track_id)
279
+ dgii_api.consulta_resultado(rnc, track_id)
280
+ end
281
+
282
+ def consulta_rfce(rnc, rnc_emisor, ncf_electronico)
283
+ dgii_api.consulta_rfce(rnc, rnc_emisor, ncf_electronico)
284
+ end
285
+
286
+ def consulta_directorio(rnc)
287
+ dgii_api.consulta_directorio_listado(rnc)
288
+ end
289
+
290
+ def consulta_directorio_por_rnc(rnc, target_rnc)
291
+ dgii_api.consulta_directorio_obtener_directorio_por_rnc(rnc, target_rnc)
292
+ end
293
+
294
+ def estatus_servicio(rnc)
295
+ dgii_api.estatus_servicios_obtener_estatus(rnc)
296
+ end
297
+
298
+ def ventanas_mantenimiento(rnc)
299
+ dgii_api.estatus_servicios_obtener_ventanas_mantenimiento(rnc)
300
+ end
301
+
302
+ # ------------------------------------------------------------------
303
+ # Reception operations
304
+ # ------------------------------------------------------------------
305
+
306
+ def get_ecf_reception_request(message_id)
307
+ recepcion_api.get_ecf_reception_request(message_id)
308
+ end
309
+
310
+ def get_ecf_receptor_by_message_id(message_id)
311
+ recepcion_api.get_ecf_receptor_by_message_id(message_id)
312
+ end
313
+
314
+ def search_ecf_reception_requests(opts = {})
315
+ recepcion_api.search_ecf_reception_requests(opts)
316
+ end
317
+
318
+ def search_ecf_reception_requests_by_rnc(rnc, opts = {})
319
+ recepcion_api.search_ecf_reception_requests_by_rnc(rnc, opts)
320
+ end
321
+
322
+ # ------------------------------------------------------------------
323
+ # Aprobacion Comercial operations
324
+ # ------------------------------------------------------------------
325
+
326
+ def get_acecf_reception_request(message_id)
327
+ aprobacion_comercial_api.get_acecf_reception_request(message_id)
328
+ end
329
+
330
+ def search_acecf_reception_requests(opts = {})
331
+ aprobacion_comercial_api.search_acecf_reception_requests(opts)
332
+ end
333
+
334
+ private
335
+
336
+ def _send_and_poll(initial, options)
337
+ EcfDgii::Polling.poll_until_complete(options) do
338
+ results = query_ecf(initial.rnc_emisor, initial.encf, include_ecf_content: false)
339
+ results && !results.empty? ? results.first : initial
340
+ end
341
+ end
342
+ end
343
+ end
@@ -0,0 +1,86 @@
1
+ =begin
2
+ #ECF API
3
+
4
+ #ECF API (Electronic Fiscal Receipt).
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module EcfDgii::Generated
16
+ class ApiKeyApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # @param new_company_api_key [NewCompanyApiKey]
23
+ # @param [Hash] opts the optional parameters
24
+ # @return [Token]
25
+ def new_company_api_key(new_company_api_key, opts = {})
26
+ data, _status_code, _headers = new_company_api_key_with_http_info(new_company_api_key, opts)
27
+ data
28
+ end
29
+
30
+ # @param new_company_api_key [NewCompanyApiKey]
31
+ # @param [Hash] opts the optional parameters
32
+ # @return [Array<(Token, Integer, Hash)>] Token data, response status code and response headers
33
+ def new_company_api_key_with_http_info(new_company_api_key, opts = {})
34
+ if @api_client.config.debugging
35
+ @api_client.config.logger.debug 'Calling API: ApiKeyApi.new_company_api_key ...'
36
+ end
37
+ # verify the required parameter 'new_company_api_key' is set
38
+ if @api_client.config.client_side_validation && new_company_api_key.nil?
39
+ fail ArgumentError, "Missing the required parameter 'new_company_api_key' when calling ApiKeyApi.new_company_api_key"
40
+ end
41
+ # resource path
42
+ local_var_path = '/apiKey'
43
+
44
+ # query parameters
45
+ query_params = opts[:query_params] || {}
46
+
47
+ # header parameters
48
+ header_params = opts[:header_params] || {}
49
+ # HTTP header 'Accept' (if needed)
50
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
51
+ # HTTP header 'Content-Type'
52
+ content_type = @api_client.select_header_content_type(['application/json'])
53
+ if !content_type.nil?
54
+ header_params['Content-Type'] = content_type
55
+ end
56
+
57
+ # form parameters
58
+ form_params = opts[:form_params] || {}
59
+
60
+ # http body (model)
61
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(new_company_api_key)
62
+
63
+ # return_type
64
+ return_type = opts[:debug_return_type] || 'Token'
65
+
66
+ # auth_names
67
+ auth_names = opts[:debug_auth_names] || ['Bearer']
68
+
69
+ new_options = opts.merge(
70
+ :operation => :"ApiKeyApi.new_company_api_key",
71
+ :header_params => header_params,
72
+ :query_params => query_params,
73
+ :form_params => form_params,
74
+ :body => post_body,
75
+ :auth_names => auth_names,
76
+ :return_type => return_type
77
+ )
78
+
79
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
80
+ if @api_client.config.debugging
81
+ @api_client.config.logger.debug "API called: ApiKeyApi#new_company_api_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
82
+ end
83
+ return data, status_code, headers
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,162 @@
1
+ =begin
2
+ #ECF API
3
+
4
+ #ECF API (Electronic Fiscal Receipt).
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module EcfDgii::Generated
16
+ class AprobacionComercialApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # @param message_id [String]
23
+ # @param [Hash] opts the optional parameters
24
+ # @return [nil]
25
+ def get_acecf_reception_request(message_id, opts = {})
26
+ get_acecf_reception_request_with_http_info(message_id, opts)
27
+ nil
28
+ end
29
+
30
+ # @param message_id [String]
31
+ # @param [Hash] opts the optional parameters
32
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
33
+ def get_acecf_reception_request_with_http_info(message_id, opts = {})
34
+ if @api_client.config.debugging
35
+ @api_client.config.logger.debug 'Calling API: AprobacionComercialApi.get_acecf_reception_request ...'
36
+ end
37
+ # verify the required parameter 'message_id' is set
38
+ if @api_client.config.client_side_validation && message_id.nil?
39
+ fail ArgumentError, "Missing the required parameter 'message_id' when calling AprobacionComercialApi.get_acecf_reception_request"
40
+ end
41
+ # resource path
42
+ local_var_path = '/recepcion/acecf/{messageId}'.sub('{messageId}', CGI.escape(message_id.to_s))
43
+
44
+ # query parameters
45
+ query_params = opts[:query_params] || {}
46
+
47
+ # header parameters
48
+ header_params = opts[:header_params] || {}
49
+ # HTTP header 'Accept' (if needed)
50
+ header_params['Accept'] = @api_client.select_header_accept(['application/problem+json']) unless header_params['Accept']
51
+
52
+ # form parameters
53
+ form_params = opts[:form_params] || {}
54
+
55
+ # http body (model)
56
+ post_body = opts[:debug_body]
57
+
58
+ # return_type
59
+ return_type = opts[:debug_return_type]
60
+
61
+ # auth_names
62
+ auth_names = opts[:debug_auth_names] || ['Bearer']
63
+
64
+ new_options = opts.merge(
65
+ :operation => :"AprobacionComercialApi.get_acecf_reception_request",
66
+ :header_params => header_params,
67
+ :query_params => query_params,
68
+ :form_params => form_params,
69
+ :body => post_body,
70
+ :auth_names => auth_names,
71
+ :return_type => return_type
72
+ )
73
+
74
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
75
+ if @api_client.config.debugging
76
+ @api_client.config.logger.debug "API called: AprobacionComercialApi#get_acecf_reception_request\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
77
+ end
78
+ return data, status_code, headers
79
+ end
80
+
81
+ # @param [Hash] opts the optional parameters
82
+ # @option opts [Array<String>] :message_ids
83
+ # @option opts [Array<String>] :encfs
84
+ # @option opts [Array<String>] :rncs
85
+ # @option opts [Array<SearchEcfReceptionRequestsTiposEcfsParameterInner>] :progresses
86
+ # @option opts [GetCompaniesPageParameter] :page (default to 1)
87
+ # @option opts [GetCompaniesLimitParameter] :limit (default to 25)
88
+ # @return [PaginatedApiResultOfAcecfReceptionRequestDto]
89
+ def search_acecf_reception_requests(opts = {})
90
+ data, _status_code, _headers = search_acecf_reception_requests_with_http_info(opts)
91
+ data
92
+ end
93
+
94
+ # @param [Hash] opts the optional parameters
95
+ # @option opts [Array<String>] :message_ids
96
+ # @option opts [Array<String>] :encfs
97
+ # @option opts [Array<String>] :rncs
98
+ # @option opts [Array<SearchEcfReceptionRequestsTiposEcfsParameterInner>] :progresses
99
+ # @option opts [GetCompaniesPageParameter] :page (default to 1)
100
+ # @option opts [GetCompaniesLimitParameter] :limit (default to 25)
101
+ # @return [Array<(PaginatedApiResultOfAcecfReceptionRequestDto, Integer, Hash)>] PaginatedApiResultOfAcecfReceptionRequestDto data, response status code and response headers
102
+ def search_acecf_reception_requests_with_http_info(opts = {})
103
+ if @api_client.config.debugging
104
+ @api_client.config.logger.debug 'Calling API: AprobacionComercialApi.search_acecf_reception_requests ...'
105
+ end
106
+ pattern = Regexp.new(/^-?(?:0|[1-9]\d*)$/)
107
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] !~ pattern
108
+ fail ArgumentError, "invalid value for 'opts[:\"page\"]' when calling AprobacionComercialApi.search_acecf_reception_requests, must conform to the pattern #{pattern}."
109
+ end
110
+
111
+ pattern = Regexp.new(/^-?(?:0|[1-9]\d*)$/)
112
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] !~ pattern
113
+ fail ArgumentError, "invalid value for 'opts[:\"limit\"]' when calling AprobacionComercialApi.search_acecf_reception_requests, must conform to the pattern #{pattern}."
114
+ end
115
+
116
+ # resource path
117
+ local_var_path = '/recepcion/acecf'
118
+
119
+ # query parameters
120
+ query_params = opts[:query_params] || {}
121
+ query_params[:'MessageIds'] = @api_client.build_collection_param(opts[:'message_ids'], :multi) if !opts[:'message_ids'].nil?
122
+ query_params[:'Encfs'] = @api_client.build_collection_param(opts[:'encfs'], :multi) if !opts[:'encfs'].nil?
123
+ query_params[:'Rncs'] = @api_client.build_collection_param(opts[:'rncs'], :multi) if !opts[:'rncs'].nil?
124
+ query_params[:'Progresses'] = @api_client.build_collection_param(opts[:'progresses'], :multi) if !opts[:'progresses'].nil?
125
+ query_params[:'Page'] = opts[:'page'] if !opts[:'page'].nil?
126
+ query_params[:'Limit'] = opts[:'limit'] if !opts[:'limit'].nil?
127
+
128
+ # header parameters
129
+ header_params = opts[:header_params] || {}
130
+ # HTTP header 'Accept' (if needed)
131
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
132
+
133
+ # form parameters
134
+ form_params = opts[:form_params] || {}
135
+
136
+ # http body (model)
137
+ post_body = opts[:debug_body]
138
+
139
+ # return_type
140
+ return_type = opts[:debug_return_type] || 'PaginatedApiResultOfAcecfReceptionRequestDto'
141
+
142
+ # auth_names
143
+ auth_names = opts[:debug_auth_names] || ['Bearer']
144
+
145
+ new_options = opts.merge(
146
+ :operation => :"AprobacionComercialApi.search_acecf_reception_requests",
147
+ :header_params => header_params,
148
+ :query_params => query_params,
149
+ :form_params => form_params,
150
+ :body => post_body,
151
+ :auth_names => auth_names,
152
+ :return_type => return_type
153
+ )
154
+
155
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
156
+ if @api_client.config.debugging
157
+ @api_client.config.logger.debug "API called: AprobacionComercialApi#search_acecf_reception_requests\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
158
+ end
159
+ return data, status_code, headers
160
+ end
161
+ end
162
+ end