br_nfe 1.1.0 → 2.0.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 (257) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -0
  3. data/.travis.yml +8 -0
  4. data/Gemfile +16 -0
  5. data/Gemfile.lock +27 -3
  6. data/LICENSE +1 -1
  7. data/README.markdown +10 -12
  8. data/Rakefile +13 -0
  9. data/br_nfe.gemspec +18 -21
  10. data/lib/br_nfe/active_model_base.rb +7 -1
  11. data/lib/br_nfe/base.rb +175 -37
  12. data/lib/br_nfe/endereco.rb +7 -1
  13. data/lib/br_nfe/helper/have_rps.rb +1 -1
  14. data/lib/br_nfe/helper/values_ts/service_v1.rb +313 -0
  15. data/lib/br_nfe/response/service/build_response.rb +286 -0
  16. data/lib/br_nfe/response/service/default.rb +185 -0
  17. data/lib/br_nfe/{servico/response → response/service}/nota_fiscal.rb +11 -10
  18. data/lib/br_nfe/response/service/paths/base.rb +93 -0
  19. data/lib/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta.rb +22 -0
  20. data/lib/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta.rb +25 -0
  21. data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta.rb +25 -0
  22. data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta.rb +25 -0
  23. data/lib/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta.rb +31 -0
  24. data/lib/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta.rb +36 -0
  25. data/lib/br_nfe/response/service/paths/v1/tc_nfse.rb +127 -0
  26. data/lib/br_nfe/service/base.rb +59 -0
  27. data/lib/br_nfe/service/betha/base.rb +8 -0
  28. data/lib/br_nfe/service/betha/v1/cancelamento_nfs.rb +39 -0
  29. data/lib/br_nfe/service/betha/v1/consulta_lote_rps.rb +34 -0
  30. data/lib/br_nfe/service/betha/v1/consulta_nfs_por_rps.rb +32 -0
  31. data/lib/br_nfe/service/betha/v1/consulta_nfse.rb +32 -0
  32. data/lib/br_nfe/service/betha/v1/consulta_situacao_lote_rps.rb +30 -0
  33. data/lib/br_nfe/service/betha/v1/gateway.rb +21 -0
  34. data/lib/br_nfe/service/betha/v1/recepcao_lote_rps.rb +37 -0
  35. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta.rb +19 -0
  36. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta.rb +17 -0
  37. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta.rb +17 -0
  38. data/lib/br_nfe/service/concerns/rules/cancelamento_nfs.rb +20 -0
  39. data/lib/br_nfe/service/concerns/rules/consulta_nfs_por_rps.rb +18 -0
  40. data/lib/br_nfe/service/concerns/rules/consulta_nfse.rb +29 -0
  41. data/lib/br_nfe/service/concerns/rules/recepcao_lote_rps.rb +50 -0
  42. data/lib/br_nfe/{servico → service}/intermediario.rb +1 -1
  43. data/lib/br_nfe/service/item.rb +70 -0
  44. data/lib/br_nfe/service/rps.rb +231 -0
  45. data/lib/br_nfe/service/sc/florianopolis/base.rb +25 -0
  46. data/lib/br_nfe/service/sc/florianopolis/cancellation.rb +30 -0
  47. data/lib/br_nfe/service/sc/florianopolis/emission_rps.rb +19 -0
  48. data/lib/br_nfe/service/sc/florianopolis/xml/_address.xml.slim +21 -0
  49. data/lib/br_nfe/service/sc/florianopolis/xml/_contact.xml.slim +3 -0
  50. data/lib/br_nfe/service/sc/florianopolis/xml/_service_item.xml.slim +9 -0
  51. data/lib/br_nfe/service/sc/florianopolis/xml/cancellation.xml.slim +6 -0
  52. data/lib/br_nfe/service/sc/florianopolis/xml/inf_requisicao.xml.slim +55 -0
  53. data/lib/br_nfe/service/sc/gaspar/cancela_nfse.rb +13 -0
  54. data/lib/br_nfe/service/sc/gaspar/consulta_lote_rps.rb +13 -0
  55. data/lib/br_nfe/service/sc/gaspar/consulta_nfs_por_rps.rb +13 -0
  56. data/lib/br_nfe/service/sc/gaspar/consulta_nfse.rb +17 -0
  57. data/lib/br_nfe/service/sc/gaspar/consulta_situacao_lote_rps.rb +13 -0
  58. data/lib/br_nfe/service/sc/gaspar/recepcao_lote_rps.rb +13 -0
  59. data/lib/br_nfe/service/sc/gaspar/recepcao_lote_rps_limitado.rb +13 -0
  60. data/lib/br_nfe/service/thema/v1/base.rb +55 -0
  61. data/lib/br_nfe/service/thema/v1/cancela_nfse.rb +48 -0
  62. data/lib/br_nfe/service/thema/v1/consulta_lote_rps.rb +49 -0
  63. data/lib/br_nfe/service/thema/v1/consulta_nfs_por_rps.rb +48 -0
  64. data/lib/br_nfe/service/thema/v1/consulta_nfse.rb +47 -0
  65. data/lib/br_nfe/service/thema/v1/consulta_situacao_lote_rps.rb +46 -0
  66. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb +51 -0
  67. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps_limitado.rb +30 -0
  68. data/lib/br_nfe/service/xml/v1/_tc_contato.xml.slim +7 -0
  69. data/lib/br_nfe/service/xml/v1/_tc_cpf_cnpj.xml.slim +5 -0
  70. data/lib/br_nfe/service/xml/v1/_tc_dados_construcao_civil.xml.slim +2 -0
  71. data/lib/br_nfe/service/xml/v1/_tc_dados_prestador.xml.slim +15 -0
  72. data/lib/br_nfe/service/xml/v1/_tc_dados_servico.xml.slim +14 -0
  73. data/lib/br_nfe/service/xml/v1/_tc_dados_tomador.xml.slim +15 -0
  74. data/lib/br_nfe/service/xml/v1/_tc_endereco.xml.slim +13 -0
  75. data/lib/br_nfe/service/xml/v1/_tc_identificacao_intermediario_servico.xml.slim +7 -0
  76. data/lib/br_nfe/service/xml/v1/_tc_identificacao_nfse.xml.slim +7 -0
  77. data/lib/br_nfe/service/xml/v1/_tc_identificacao_orgao_gerador.xml.slim +8 -0
  78. data/lib/br_nfe/service/xml/v1/_tc_identificacao_prestador.xml.slim +3 -0
  79. data/lib/br_nfe/service/xml/v1/_tc_identificacao_rps.xml.slim +16 -0
  80. data/lib/br_nfe/service/xml/v1/_tc_identificacao_tomador.xml.slim +4 -0
  81. data/lib/br_nfe/service/xml/v1/_tc_inf_pedido_cancelamento.xml.slim +4 -0
  82. data/lib/br_nfe/service/xml/v1/_tc_inf_rps.xml.slim +47 -0
  83. data/lib/br_nfe/service/xml/v1/_tc_lote_rps.xml.slim +9 -0
  84. data/lib/br_nfe/service/xml/v1/_tc_pedido_cancelamento.xml.slim +4 -0
  85. data/lib/br_nfe/service/xml/v1/_tc_rps.xml.slim +8 -0
  86. data/lib/br_nfe/service/xml/v1/_tc_valores.xml.slim +48 -0
  87. data/lib/br_nfe/service/xml/v1/servico_cancelar_nfse_envio.xml.slim +9 -0
  88. data/lib/br_nfe/service/xml/v1/servico_consultar_lote_rps_envio.xml.slim +4 -0
  89. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_envio.xml.slim +19 -0
  90. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_rps_envio.xml.slim +5 -0
  91. data/lib/br_nfe/service/xml/v1/servico_consultar_situacao_lote_rps_envio.xml.slim +4 -0
  92. data/lib/br_nfe/service/xml/v1/servico_enviar_lote_rps_envio.xml.slim +9 -0
  93. data/lib/br_nfe/version.rb +2 -2
  94. data/lib/br_nfe/xml/_signed_info_sh1.xml.slim +9 -0
  95. data/lib/br_nfe/xml/signature_sh1.xml.slim +12 -0
  96. data/lib/br_nfe/xml/soap_env.xml.slim +3 -0
  97. data/lib/br_nfe.rb +72 -20
  98. data/test/br_nfe/base_test.rb +257 -108
  99. data/test/br_nfe/helper/have_intermediario_test.rb +2 -2
  100. data/test/br_nfe/helper/have_rps_test.rb +4 -4
  101. data/test/br_nfe/response/service/build_response_test.rb +377 -0
  102. data/test/br_nfe/response/service/default_test.rb +218 -0
  103. data/test/br_nfe/{servico/response → response/service}/nota_fiscal_test.rb +2 -2
  104. data/test/br_nfe/response/service/paths/base_test.rb +199 -0
  105. data/test/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta_test.rb +25 -0
  106. data/test/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta_test.rb +30 -0
  107. data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta_test.rb +30 -0
  108. data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta_test.rb +30 -0
  109. data/test/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta_test.rb +30 -0
  110. data/test/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta_test.rb +34 -0
  111. data/test/br_nfe/response/service/paths/v1/tc_nfse_test.rb +122 -0
  112. data/test/br_nfe/service/base_test.rb +138 -0
  113. data/test/br_nfe/service/betha/base_test.rb +9 -0
  114. data/test/br_nfe/service/betha/v1/cancelamento_nfs_test.rb +60 -0
  115. data/test/br_nfe/service/betha/v1/consulta_lote_rps_test.rb +55 -0
  116. data/test/br_nfe/service/betha/v1/consulta_nfs_por_rps_test.rb +55 -0
  117. data/test/br_nfe/service/betha/v1/consulta_nfse_test.rb +53 -0
  118. data/test/br_nfe/service/betha/v1/consulta_situacao_lote_rps_test.rb +49 -0
  119. data/test/br_nfe/service/betha/v1/gateway_test.rb +35 -0
  120. data/test/br_nfe/service/betha/v1/recepcao_lote_rps_test.rb +84 -0
  121. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta_test.rb +16 -0
  122. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta_test.rb +16 -0
  123. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta_test.rb +16 -0
  124. data/test/br_nfe/service/betha/v1/xsd/TiposNFe_v01.xsd +583 -0
  125. data/test/br_nfe/service/betha/v1/xsd/nfse_v01.xsd +652 -0
  126. data/test/br_nfe/service/betha/v1/xsd/servico_cancelar_nfse_envio_v01.xsd +17 -0
  127. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_lote_rps_envio_v01.xsd +16 -0
  128. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_envio_v01.xsd +28 -0
  129. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_rps_envio_v01.xsd +16 -0
  130. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_situacao_lote_rps_envio_v01.xsd +16 -0
  131. data/test/br_nfe/service/betha/v1/xsd/servico_enviar_lote_rps_envio_v01.xsd +17 -0
  132. data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema.xsd +308 -0
  133. data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema_v01.xsd +95 -0
  134. data/test/br_nfe/service/concerns/rules/cancelamento_nfs_test.rb +15 -0
  135. data/test/br_nfe/service/concerns/rules/consulta_nfs_por_rps_test.rb +36 -0
  136. data/test/br_nfe/service/concerns/rules/consulta_nfse_test.rb +42 -0
  137. data/test/br_nfe/{servico/base_test.rb → service/concerns/rules/recepcao_lote_rps_test.rb} +12 -4
  138. data/test/br_nfe/{servico → service}/intermediario_test.rb +1 -1
  139. data/test/br_nfe/service/item_test.rb +34 -0
  140. data/test/br_nfe/{servico → service}/rps_test.rb +191 -43
  141. data/test/br_nfe/service/sc/florianopolis/XSD/TiposNFSe_v2.0.xsd +863 -0
  142. data/test/br_nfe/service/sc/florianopolis/XSD/xmldsig-core-schema.xsd +309 -0
  143. data/test/br_nfe/service/sc/florianopolis/base_test.rb +20 -0
  144. data/test/br_nfe/service/sc/florianopolis/cancellation_test.rb +36 -0
  145. data/test/br_nfe/service/sc/florianopolis/emission_rps_test.rb +145 -0
  146. data/test/br_nfe/service/sc/gaspar/cancela_nfse_test.rb +21 -0
  147. data/test/br_nfe/service/sc/gaspar/consulta_nfs_por_rps_test.rb +21 -0
  148. data/test/br_nfe/service/sc/gaspar/consulta_nfse_test.rb +21 -0
  149. data/test/br_nfe/service/sc/gaspar/consulta_situacao_lote_rps_test.rb +21 -0
  150. data/test/br_nfe/service/sc/gaspar/recepcao_lote_rps_limitado_test.rb +22 -0
  151. data/test/br_nfe/service/sc/gaspar/recepcao_lote_rps_test.rb +22 -0
  152. data/test/br_nfe/service/thema/v1/base_test.rb +65 -0
  153. data/test/br_nfe/service/thema/v1/cancela_nfse_test.rb +56 -0
  154. data/test/br_nfe/service/thema/v1/consulta_lote_rps_test.rb +47 -0
  155. data/test/br_nfe/service/thema/v1/consulta_nfs_por_rps_test.rb +50 -0
  156. data/test/br_nfe/service/thema/v1/consulta_nfse_test.rb +50 -0
  157. data/test/br_nfe/service/thema/v1/consulta_situacao_lote_rps_test.rb +47 -0
  158. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test.rb +62 -0
  159. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test_limitado.rb +50 -0
  160. data/test/br_nfe/service/thema/v1/xsd/nfse.xsd +656 -0
  161. data/test/br_nfe/service/thema/v1/xsd/xmldsig-core-schema20020212.xsd +318 -0
  162. data/test/br_nfe/service/xsd/v1/nfse.xsd +779 -0
  163. data/test/br_nfe/service/xsd/v1/xmldsig-core-schema20020212.xsd +316 -0
  164. data/test/cert.pfx +0 -0
  165. data/test/factories/base.rb +2 -0
  166. data/test/factories/destinatario.rb +3 -3
  167. data/test/factories/response/service/build_response.rb +5 -0
  168. data/test/factories/response/service/default.rb +10 -0
  169. data/test/factories/{servico/response → response/service}/nota_fiscal.rb +9 -9
  170. data/test/factories/service/base.rb +6 -0
  171. data/test/factories/service/betha/base.rb +4 -0
  172. data/test/factories/service/betha/v1/cancelamento_nfs.rb +9 -0
  173. data/test/factories/{servico → service}/betha/v1/consulta_lote_rps.rb +2 -2
  174. data/test/factories/{servico → service}/betha/v1/consulta_nfs_por_rps.rb +1 -1
  175. data/test/factories/service/betha/v1/consulta_nfse.rb +8 -0
  176. data/test/factories/{servico → service}/betha/v1/consulta_situacao_lote_rps.rb +2 -2
  177. data/test/factories/{servico → service}/betha/v1/gateway.rb +1 -1
  178. data/test/factories/service/betha/v1/recepcao_lote_rps.rb +8 -0
  179. data/test/factories/{servico → service}/intermediario.rb +2 -2
  180. data/test/factories/service/item.rb +12 -0
  181. data/test/factories/service/rps.rb +50 -0
  182. data/test/factories/service/sc/florianopolis/base.rb +5 -0
  183. data/test/factories/service/sc/florianopolis/cancellation.rb +7 -0
  184. data/test/factories/service/sc/florianopolis/emission_rps.rb +7 -0
  185. data/test/factories/service/sc/gaspar/cancela_nfse.rb +9 -0
  186. data/test/factories/service/sc/gaspar/consulta_lote_rps.rb +7 -0
  187. data/test/factories/service/sc/gaspar/consulta_nfs_por_rps.rb +6 -0
  188. data/test/factories/service/sc/gaspar/consulta_nfse.rb +8 -0
  189. data/test/factories/service/sc/gaspar/consulta_situacao_lote_rps.rb +6 -0
  190. data/test/factories/service/sc/gaspar/recepcao_lote_rps.rb +9 -0
  191. data/test/factories/service/sc/gaspar/recepcao_lote_rps_limitado.rb +9 -0
  192. data/test/factories/service/thema/v1/base.rb +7 -0
  193. data/test/factories/service/thema/v1/cancela_nfse.rb +9 -0
  194. data/test/factories/service/thema/v1/consulta_lote_rps.rb +7 -0
  195. data/test/factories/service/thema/v1/consulta_nfs_por_rps.rb +6 -0
  196. data/test/factories/service/thema/v1/consulta_nfse.rb +8 -0
  197. data/test/factories/service/thema/v1/consulta_situacao_lote_rps.rb +6 -0
  198. data/test/factories/service/thema/v1/recepcao_lote_rps.rb +9 -0
  199. data/test/factories/service/thema/v1/recepcao_lote_rps_limitado.rb +8 -0
  200. data/test/test_helper.rb +42 -0
  201. metadata +338 -121
  202. data/lib/br_nfe/servico/base.rb +0 -35
  203. data/lib/br_nfe/servico/betha/base.rb +0 -85
  204. data/lib/br_nfe/servico/betha/build_response.rb +0 -141
  205. data/lib/br_nfe/servico/betha/v1/build_response.rb +0 -121
  206. data/lib/br_nfe/servico/betha/v1/cancelamento_nfs.rb +0 -52
  207. data/lib/br_nfe/servico/betha/v1/consulta_lote_rps.rb +0 -33
  208. data/lib/br_nfe/servico/betha/v1/consulta_nfs_por_rps.rb +0 -37
  209. data/lib/br_nfe/servico/betha/v1/consulta_nfse.rb +0 -51
  210. data/lib/br_nfe/servico/betha/v1/consulta_situacao_lote_rps.rb +0 -18
  211. data/lib/br_nfe/servico/betha/v1/gateway.rb +0 -125
  212. data/lib/br_nfe/servico/betha/v1/recepcao_lote_rps.rb +0 -97
  213. data/lib/br_nfe/servico/betha/v2/build_response.rb +0 -159
  214. data/lib/br_nfe/servico/betha/v2/cancelamento_nfs.rb +0 -30
  215. data/lib/br_nfe/servico/betha/v2/consulta_lote_rps.rb +0 -30
  216. data/lib/br_nfe/servico/betha/v2/consulta_nfse_por_rps.rb +0 -27
  217. data/lib/br_nfe/servico/betha/v2/envio_lote_rps_sincrono.rb +0 -30
  218. data/lib/br_nfe/servico/betha/v2/gateway.rb +0 -230
  219. data/lib/br_nfe/servico/betha/v2/gera_nfse.rb +0 -30
  220. data/lib/br_nfe/servico/betha/v2/recepcao_lote_rps.rb +0 -52
  221. data/lib/br_nfe/servico/betha/v2/substituicao_nfse.rb +0 -43
  222. data/lib/br_nfe/servico/response/default.rb +0 -34
  223. data/lib/br_nfe/servico/rps.rb +0 -108
  224. data/test/br_nfe/servico/betha/base_test.rb +0 -135
  225. data/test/br_nfe/servico/betha/v1/build_response_test.rb +0 -557
  226. data/test/br_nfe/servico/betha/v1/cancelamento_nfs_test.rb +0 -72
  227. data/test/br_nfe/servico/betha/v1/consulta_lote_rps_test.rb +0 -46
  228. data/test/br_nfe/servico/betha/v1/consulta_nfs_por_rps_test.rb +0 -68
  229. data/test/br_nfe/servico/betha/v1/consulta_nfse_test.rb +0 -74
  230. data/test/br_nfe/servico/betha/v1/consulta_situacao_lote_rps_test.rb +0 -27
  231. data/test/br_nfe/servico/betha/v1/gateway_test.rb +0 -151
  232. data/test/br_nfe/servico/betha/v1/recepcao_lote_rps_test.rb +0 -249
  233. data/test/br_nfe/servico/betha/v2/cancelamento_nfs_test.rb +0 -44
  234. data/test/br_nfe/servico/betha/v2/consulta_lote_rps_test.rb +0 -38
  235. data/test/br_nfe/servico/betha/v2/consulta_nfse_por_rps_test.rb +0 -36
  236. data/test/br_nfe/servico/betha/v2/envio_lote_rps_sincrono_test.rb +0 -51
  237. data/test/br_nfe/servico/betha/v2/gateway_test.rb +0 -372
  238. data/test/br_nfe/servico/betha/v2/gera_nfse_test.rb +0 -62
  239. data/test/br_nfe/servico/betha/v2/recepcao_lote_rps_test.rb +0 -108
  240. data/test/br_nfe/servico/betha/v2/substituicao_nfse_test.rb +0 -84
  241. data/test/br_nfe/servico/response/default_test.rb +0 -54
  242. data/test/factories/servico/base.rb +0 -5
  243. data/test/factories/servico/betha/base.rb +0 -5
  244. data/test/factories/servico/betha/v1/build_response.rb +0 -6
  245. data/test/factories/servico/betha/v1/cancelamento_nfs.rb +0 -7
  246. data/test/factories/servico/betha/v1/consulta_nfse.rb +0 -8
  247. data/test/factories/servico/betha/v1/recepcao_lote_rps.rb +0 -6
  248. data/test/factories/servico/betha/v2/cancelamento_nfs.rb +0 -7
  249. data/test/factories/servico/betha/v2/consulta_lote_rps.rb +0 -6
  250. data/test/factories/servico/betha/v2/consulta_nfse_por_rps.rb +0 -6
  251. data/test/factories/servico/betha/v2/envio_lote_rps_sincrono.rb +0 -5
  252. data/test/factories/servico/betha/v2/gateway.rb +0 -5
  253. data/test/factories/servico/betha/v2/gera_nfse.rb +0 -6
  254. data/test/factories/servico/betha/v2/recepcao_lote_rps.rb +0 -5
  255. data/test/factories/servico/betha/v2/substituicao_nfse.rb +0 -8
  256. data/test/factories/servico/response/default.rb +0 -10
  257. data/test/factories/servico/rps.rb +0 -44
@@ -0,0 +1,36 @@
1
+ module BrNfe
2
+ module Service
3
+ module Response
4
+ module Paths
5
+ module V1
6
+ module ServicoEnviarLoteRpsResposta
7
+ include BrNfe::Service::Response::Paths::Base
8
+
9
+ # Caminho referente ao caminho do número do lote
10
+ def lot_number_path
11
+ [:enviar_lote_rps_resposta, :numero_lote]
12
+ end
13
+
14
+ # Caminho para encontrar o número do protocolo
15
+ def protocol_path
16
+ [:enviar_lote_rps_resposta, :protocolo]
17
+ end
18
+
19
+ # Caminho para encontrar a data de recebimento do lote/rps/nfe
20
+ def received_date_path
21
+ [:enviar_lote_rps_resposta, :data_recebimento]
22
+ end
23
+
24
+ # def message_alerts_path; [] end
25
+ def message_errors_path
26
+ [:enviar_lote_rps_resposta, :lista_mensagem_retorno, :mensagem_retorno]
27
+ end
28
+ # def message_code_key; :codigo end
29
+ # def message_msg_key; :mensagem end
30
+ # def message_solution_key; :correcao end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,127 @@
1
+ module BrNfe
2
+ module Service
3
+ module Response
4
+ module Paths
5
+ module V1
6
+ module TcNfse
7
+ def default_path_to_nf
8
+ [:nfse, :inf_nfse]
9
+ end
10
+
11
+ def invoice_numero_nf_path
12
+ default_path_to_nf + [:numero]
13
+ end
14
+
15
+ def invoice_codigo_verificacao_path
16
+ default_path_to_nf + [:codigo_verificacao]
17
+ end
18
+
19
+ def invoice_data_emissao_path
20
+ default_path_to_nf + [:data_emissao]
21
+ end
22
+
23
+ def invoice_url_nf_path
24
+ default_path_to_nf + [:outras_informacoes]
25
+ end
26
+
27
+ def invoice_rps_numero_path
28
+ default_path_to_nf + [:identificacao_rps, :numero]
29
+ end
30
+
31
+ def invoice_rps_serie_path
32
+ default_path_to_nf + [:identificacao_rps, :serie]
33
+ end
34
+
35
+ def invoice_rps_tipo_path
36
+ default_path_to_nf + [:identificacao_rps, :tipo]
37
+ end
38
+
39
+ def invoice_competencia_path
40
+ default_path_to_nf + [:competencia]
41
+ end
42
+
43
+ def invoice_outras_informacoes_path
44
+ default_path_to_nf + [:outras_informacoes]
45
+ end
46
+
47
+ def invoice_item_lista_servico_path
48
+ default_path_to_nf + [:intermediario_servico]
49
+ end
50
+
51
+ def invoice_cnae_code_path
52
+ default_path_to_nf + [:servico, :codigo_cnae]
53
+ end
54
+
55
+ def invoice_description_path
56
+ default_path_to_nf + [:servico, :discriminacao]
57
+ end
58
+
59
+ def invoice_codigo_municipio_path
60
+ default_path_to_nf + [:servico, :codigo_municipio]
61
+ end
62
+
63
+ def invoice_total_services_path
64
+ default_path_to_nf + [:servico, :valores, :valor_servicos]
65
+ end
66
+
67
+ def invoice_deductions_path
68
+ default_path_to_nf + [:servico, :valores, :valor_deducoes]
69
+ end
70
+
71
+ def invoice_valor_pis_path
72
+ default_path_to_nf + [:servico, :valores, :valor_pis]
73
+ end
74
+
75
+ def invoice_valor_cofins_path
76
+ default_path_to_nf + [:servico, :valores, :valor_cofins]
77
+ end
78
+
79
+ def invoice_valor_inss_path
80
+ default_path_to_nf + [:servico, :valores, :valor_inss]
81
+ end
82
+
83
+ def invoice_valor_ir_path
84
+ default_path_to_nf + [:servico, :valores, :valor_ir]
85
+ end
86
+
87
+ def invoice_valor_csll_path
88
+ default_path_to_nf + [:servico, :valores, :valor_csll]
89
+ end
90
+
91
+ def invoice_iss_retained_path
92
+ default_path_to_nf + [:servico, :valores, :valor_iss_retido]
93
+ end
94
+
95
+ def invoice_outras_retencoes_path
96
+ default_path_to_nf + [:servico, :valores, :outras_retencoes]
97
+ end
98
+
99
+ def invoice_total_iss_path
100
+ default_path_to_nf + [:servico, :valores, :valor_iss]
101
+ end
102
+
103
+ def invoice_base_calculation_path
104
+ default_path_to_nf + [:servico, :valores, :base_calculo]
105
+ end
106
+
107
+ def invoice_iss_tax_rate_path
108
+ default_path_to_nf + [:servico, :valores, :iss_retido]
109
+ end
110
+
111
+ def invoice_valor_liquido_path
112
+ default_path_to_nf + [:servico, :valores, :valor_liquido_nfse]
113
+ end
114
+
115
+ def invoice_desconto_condicionado_path
116
+ default_path_to_nf + [:servico, :valores, :desconto_condicionado]
117
+ end
118
+
119
+ def invoice_desconto_incondicionado_path
120
+ default_path_to_nf + [:servico, :valores, :desconto_incondicionado]
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,59 @@
1
+ module BrNfe
2
+ module Service
3
+ class Base < BrNfe::Base
4
+ include BrNfe::Helper::ValuesTs::ServiceV1
5
+
6
+ # Declaro que o método `render_xml` irá verificar os arquivos também presentes
7
+ # no diretório especificado
8
+ #
9
+ # <b>Tipo de retorno: </b> _Array_
10
+ #
11
+ def xml_current_dir_path
12
+ ["#{BrNfe.root}/lib/br_nfe/service/xml/#{xml_version}"]+super
13
+ end
14
+
15
+ def response_path_module
16
+ raise "Não implementado."
17
+ end
18
+
19
+ def response_root_path
20
+ []
21
+ end
22
+
23
+ def nfse_xml_path
24
+ #//Envelope/Body/ConsultarLoteRpsEnvioResponse/ConsultarLoteRpsResposta
25
+ '//*/*/*/*'
26
+ end
27
+
28
+ def body_xml_path
29
+ []
30
+ end
31
+
32
+ def id_attribute?
33
+ true
34
+ end
35
+
36
+ def request
37
+ set_response( client_wsdl.call(method_wsdl, xml: soap_xml) )
38
+ rescue Savon::SOAPFault => error
39
+ return @response = BrNfe::Response::Service::Default.new(status: :soap_error, error_messages: [error.message])
40
+ rescue Savon::HTTPError => error
41
+ return @response = BrNfe::Response::Service::Default.new(status: :http_error, error_messages: [error.message])
42
+ rescue Exception => error
43
+ return @response = BrNfe::Response::Service::Default.new(status: :unknown_error, error_messages: [error.message])
44
+ end
45
+
46
+ def set_response(resp)
47
+ @original_response = resp
48
+ @response = BrNfe::Response::Service::BuildResponse.new(
49
+ savon_response: resp, # Rsposta da requisição SOAP
50
+ keys_root_path: response_root_path, # Caminho inicial da resposta / Chave pai principal
51
+ nfe_xml_path: nfse_xml_path, # Caminho para encontrar a NF dentro do XML
52
+ module_methods: response_path_module, # Module que contém os caminhos para encontrar cada informação pertinente para cada requisição
53
+ body_xml_path: body_xml_path,
54
+ ).response
55
+ end
56
+
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,8 @@
1
+ module BrNfe
2
+ module Service
3
+ module Betha
4
+ class Base < BrNfe::Service::Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,39 @@
1
+ module BrNfe
2
+ module Service
3
+ module Betha
4
+ module V1
5
+ class CancelamentoNfs < BrNfe::Service::Betha::V1::Gateway
6
+ include BrNfe::Service::Concerns::Rules::CancelamentoNfs
7
+
8
+ def certificado_obrigatorio?
9
+ true
10
+ end
11
+
12
+ def wsdl
13
+ "http://e-gov.betha.com.br/e-nota-contribuinte-#{'test-' if env == :test}ws/cancelarNfseV02?wsdl"
14
+ end
15
+
16
+ def method_wsdl
17
+ :cancelar_nfse_envio
18
+ end
19
+
20
+ def response_path_module
21
+ BrNfe::Service::Response::Paths::V1::ServicoCancelarNfseResposta
22
+ end
23
+
24
+ def response_root_path
25
+ [:cancelar_nfse_envio_response]
26
+ end
27
+
28
+ def id_attribute?
29
+ false
30
+ end
31
+
32
+ def xml_builder
33
+ render_xml 'servico_cancelar_nfse_envio'
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,34 @@
1
+ module BrNfe
2
+ module Service
3
+ module Betha
4
+ module V1
5
+ class ConsultaLoteRps < BrNfe::Service::Betha::V1::Gateway
6
+
7
+ attr_accessor :protocolo
8
+
9
+ validates :protocolo, presence: true
10
+
11
+ def wsdl
12
+ "http://e-gov.betha.com.br/e-nota-contribuinte-#{'test-' if env == :test}ws/consultarLoteRps?wsdl"
13
+ end
14
+
15
+ def method_wsdl
16
+ :consultar_lote_rps_envio
17
+ end
18
+
19
+ def response_path_module
20
+ BrNfe::Service::Betha::V1::ResponsePaths::ServicoConsultarLoteRpsResposta
21
+ end
22
+
23
+ def response_root_path
24
+ [:consultar_lote_rps_envio_response]
25
+ end
26
+
27
+ def xml_builder
28
+ render_xml 'servico_consultar_lote_rps_envio'
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,32 @@
1
+ module BrNfe
2
+ module Service
3
+ module Betha
4
+ module V1
5
+ class ConsultaNfsPorRps < BrNfe::Service::Betha::V1::Gateway
6
+ include BrNfe::Service::Concerns::Rules::ConsultaNfsPorRps
7
+
8
+ def wsdl
9
+ "http://e-gov.betha.com.br/e-nota-contribuinte-#{'test-' if env == :test}ws/consultarNfsePorRps?wsdl"
10
+ end
11
+
12
+ def method_wsdl
13
+ :consultar_nfse_por_rps_envio
14
+ end
15
+
16
+ def response_path_module
17
+ BrNfe::Service::Betha::V1::ResponsePaths::ServicoConsultarNfseRpsResposta
18
+ end
19
+
20
+ def response_root_path
21
+ [:consultar_nfse_rps_envio_response]
22
+ end
23
+
24
+ def xml_builder
25
+ render_xml 'servico_consultar_nfse_rps_envio'
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ module BrNfe
2
+ module Service
3
+ module Betha
4
+ module V1
5
+ class ConsultaNfse < BrNfe::Service::Betha::V1::Gateway
6
+ include BrNfe::Service::Concerns::Rules::ConsultaNfse
7
+
8
+ def wsdl
9
+ "http://e-gov.betha.com.br/e-nota-contribuinte-#{'test-' if env == :test}ws/consultarNfse?wsdl"
10
+ end
11
+
12
+ def method_wsdl
13
+ :consultar_nfse_envio
14
+ end
15
+
16
+ def response_path_module
17
+ BrNfe::Service::Betha::V1::ResponsePaths::ServicoConsultarNfseResposta
18
+ end
19
+
20
+ def response_root_path
21
+ [:consultar_nfse_envio_response]
22
+ end
23
+
24
+ def xml_builder
25
+ render_xml 'servico_consultar_nfse_envio'
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,30 @@
1
+ module BrNfe
2
+ module Service
3
+ module Betha
4
+ module V1
5
+ class ConsultaSituacaoLoteRps < BrNfe::Service::Betha::V1::ConsultaLoteRps
6
+
7
+ def wsdl
8
+ "http://e-gov.betha.com.br/e-nota-contribuinte-#{'test-' if env == :test}ws/consultarSituacaoLoteRps?wsdl"
9
+ end
10
+
11
+ def method_wsdl
12
+ :consultar_situacao_lote_rps_envio
13
+ end
14
+
15
+ def response_path_module
16
+ BrNfe::Service::Response::Paths::V1::ServicoConsultarSituacaoLoteRpsResposta
17
+ end
18
+ def response_root_path
19
+ [:consultar_situacao_lote_rps_envio_response]
20
+ end
21
+
22
+ def xml_builder
23
+ render_xml 'servico_consultar_situacao_lote_rps_envio'
24
+ end
25
+
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,21 @@
1
+ module BrNfe
2
+ module Service
3
+ module Betha
4
+ module V1
5
+ class Gateway < BrNfe::Service::Betha::Base
6
+ def message_namespaces
7
+ {"xmlns:ns1" => "http://www.betha.com.br/e-nota-contribuinte-ws"}
8
+ end
9
+
10
+ def soap_namespaces
11
+ super.merge(message_namespaces)
12
+ end
13
+
14
+ def namespace_identifier
15
+ :ns1
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,37 @@
1
+ module BrNfe
2
+ module Service
3
+ module Betha
4
+ module V1
5
+ class RecepcaoLoteRps < BrNfe::Service::Betha::V1::Gateway
6
+ include BrNfe::Service::Concerns::Rules::RecepcaoLoteRps
7
+
8
+ def certificado_obrigatorio?
9
+ true
10
+ end
11
+
12
+ def wsdl
13
+ "http://e-gov.betha.com.br/e-nota-contribuinte-#{'test-' if env == :test}ws/recepcionarLoteRps?wsdl"
14
+ end
15
+ def method_wsdl
16
+ :enviar_lote_rps_envio
17
+ end
18
+
19
+ def response_path_module
20
+ BrNfe::Service::Response::Paths::V1::ServicoEnviarLoteRpsResposta
21
+ end
22
+ def response_root_path
23
+ [:enviar_lote_rps_envio_response]
24
+ end
25
+
26
+ def id_attribute?
27
+ false
28
+ end
29
+
30
+ def xml_builder
31
+ render_xml 'servico_enviar_lote_rps_envio'
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end