focus_nfe 1.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 (206) hide show
  1. checksums.yaml +7 -0
  2. data/.git-hooks/pre_push/steep.rb +18 -0
  3. data/.git-hooks/pre_push/yard_doc.rb +18 -0
  4. data/.gitattributes +1 -0
  5. data/.overcommit.yml +69 -0
  6. data/.rspec +3 -0
  7. data/.yardopts +11 -0
  8. data/CHANGELOG.md +77 -0
  9. data/CLAUDE.md +118 -0
  10. data/CODE_OF_CONDUCT.md +10 -0
  11. data/LICENSE.txt +21 -0
  12. data/README.md +348 -0
  13. data/Rakefile +105 -0
  14. data/data/schemas/schema_cte.json +2793 -0
  15. data/data/schemas/schema_cte_os.json +1335 -0
  16. data/data/schemas/schema_cte_os_transporte_rodoviario.json +109 -0
  17. data/data/schemas/schema_cte_transporte_aereo.json +115 -0
  18. data/data/schemas/schema_cte_transporte_aquaviario.json +174 -0
  19. data/data/schemas/schema_cte_transporte_dutoviario.json +65 -0
  20. data/data/schemas/schema_cte_transporte_ferroviario.json +144 -0
  21. data/data/schemas/schema_cte_transporte_multimodal.json +45 -0
  22. data/data/schemas/schema_cte_transporte_rodoviario.json +78 -0
  23. data/data/schemas/schema_dce.json +549 -0
  24. data/data/schemas/schema_mdfe.json +1102 -0
  25. data/data/schemas/schema_mdfe_transporte_aereo.json +44 -0
  26. data/data/schemas/schema_mdfe_transporte_aquaviario.json +209 -0
  27. data/data/schemas/schema_mdfe_transporte_ferroviario.json +99 -0
  28. data/data/schemas/schema_mdfe_transporte_rodoviario.json +628 -0
  29. data/data/schemas/schema_nfcom.json +1859 -0
  30. data/data/schemas/schema_nfe.json +4750 -0
  31. data/data/schemas/schema_nfe_forma_pagamento.json +97 -0
  32. data/data/schemas/schema_nfe_item.json +2574 -0
  33. data/data/schemas/schema_nfgas.json +2316 -0
  34. data/data/schemas/schema_nfse_nacional.json +1847 -0
  35. data/data/schemas/schema_nfse_recebida.json +548 -0
  36. data/lib/focus_nfe/client.rb +162 -0
  37. data/lib/focus_nfe/configuration.rb +104 -0
  38. data/lib/focus_nfe/errors.rb +123 -0
  39. data/lib/focus_nfe/esquemas/campo.rb +171 -0
  40. data/lib/focus_nfe/esquemas/catalogo.rb +34 -0
  41. data/lib/focus_nfe/esquemas/decimal.rb +66 -0
  42. data/lib/focus_nfe/esquemas/esquema.rb +72 -0
  43. data/lib/focus_nfe/esquemas/validador.rb +87 -0
  44. data/lib/focus_nfe/http/adapter.rb +25 -0
  45. data/lib/focus_nfe/http/adapters/net_http.rb +99 -0
  46. data/lib/focus_nfe/http/authentication.rb +23 -0
  47. data/lib/focus_nfe/http/connection.rb +118 -0
  48. data/lib/focus_nfe/http/logging.rb +100 -0
  49. data/lib/focus_nfe/http/response.rb +75 -0
  50. data/lib/focus_nfe/modelos/documento.rb +113 -0
  51. data/lib/focus_nfe/modelos/inutilizacao.rb +75 -0
  52. data/lib/focus_nfe/modelos/pagina.rb +54 -0
  53. data/lib/focus_nfe/recursos/backups.rb +17 -0
  54. data/lib/focus_nfe/recursos/base.rb +91 -0
  55. data/lib/focus_nfe/recursos/ceps.rb +16 -0
  56. data/lib/focus_nfe/recursos/cfops.rb +16 -0
  57. data/lib/focus_nfe/recursos/cnaes.rb +16 -0
  58. data/lib/focus_nfe/recursos/cnpjs.rb +13 -0
  59. data/lib/focus_nfe/recursos/concerns/baixavel.rb +41 -0
  60. data/lib/focus_nfe/recursos/concerns/baixavel_eventos.rb +34 -0
  61. data/lib/focus_nfe/recursos/concerns/cancelavel.rb +25 -0
  62. data/lib/focus_nfe/recursos/concerns/conciliavel.rb +66 -0
  63. data/lib/focus_nfe/recursos/concerns/consultavel.rb +26 -0
  64. data/lib/focus_nfe/recursos/concerns/corrigivel.rb +45 -0
  65. data/lib/focus_nfe/recursos/concerns/corrigivel_cte.rb +60 -0
  66. data/lib/focus_nfe/recursos/concerns/emitivel.rb +51 -0
  67. data/lib/focus_nfe/recursos/concerns/enviavel.rb +40 -0
  68. data/lib/focus_nfe/recursos/concerns/eventavel.rb +46 -0
  69. data/lib/focus_nfe/recursos/concerns/inutilizavel.rb +96 -0
  70. data/lib/focus_nfe/recursos/concerns/listavel.rb +22 -0
  71. data/lib/focus_nfe/recursos/concerns/localizavel.rb +22 -0
  72. data/lib/focus_nfe/recursos/concerns/notificavel.rb +23 -0
  73. data/lib/focus_nfe/recursos/concerns/removivel.rb +20 -0
  74. data/lib/focus_nfe/recursos/concerns/visualizavel.rb +28 -0
  75. data/lib/focus_nfe/recursos/cte.rb +35 -0
  76. data/lib/focus_nfe/recursos/cte_os.rb +29 -0
  77. data/lib/focus_nfe/recursos/ctes_recebidas.rb +38 -0
  78. data/lib/focus_nfe/recursos/dce.rb +16 -0
  79. data/lib/focus_nfe/recursos/emails_bloqueados.rb +31 -0
  80. data/lib/focus_nfe/recursos/empresas.rb +35 -0
  81. data/lib/focus_nfe/recursos/mdfe.rb +78 -0
  82. data/lib/focus_nfe/recursos/municipios.rb +60 -0
  83. data/lib/focus_nfe/recursos/ncms.rb +16 -0
  84. data/lib/focus_nfe/recursos/nfce.rb +19 -0
  85. data/lib/focus_nfe/recursos/nfcom.rb +16 -0
  86. data/lib/focus_nfe/recursos/nfe.rb +106 -0
  87. data/lib/focus_nfe/recursos/nfes_recebidas.rb +56 -0
  88. data/lib/focus_nfe/recursos/nfgas.rb +16 -0
  89. data/lib/focus_nfe/recursos/nfse.rb +18 -0
  90. data/lib/focus_nfe/recursos/nfse_nacional.rb +16 -0
  91. data/lib/focus_nfe/recursos/nfses_nacionais_recebidas.rb +21 -0
  92. data/lib/focus_nfe/recursos/webhooks.rb +22 -0
  93. data/lib/focus_nfe/version.rb +6 -0
  94. data/lib/focus_nfe/webhook.rb +68 -0
  95. data/lib/focus_nfe.rb +124 -0
  96. data/sig/focus_nfe/client.rbs +38 -0
  97. data/sig/focus_nfe/configuration.rbs +29 -0
  98. data/sig/focus_nfe/errors.rbs +59 -0
  99. data/sig/focus_nfe/esquemas/campo.rbs +47 -0
  100. data/sig/focus_nfe/esquemas/catalogo.rbs +8 -0
  101. data/sig/focus_nfe/esquemas/decimal.rbs +25 -0
  102. data/sig/focus_nfe/esquemas/esquema.rbs +30 -0
  103. data/sig/focus_nfe/esquemas/validador.rbs +20 -0
  104. data/sig/focus_nfe/http/adapter.rbs +7 -0
  105. data/sig/focus_nfe/http/adapters/net_http.rbs +25 -0
  106. data/sig/focus_nfe/http/authentication.rbs +9 -0
  107. data/sig/focus_nfe/http/connection.rbs +32 -0
  108. data/sig/focus_nfe/http/logging.rbs +30 -0
  109. data/sig/focus_nfe/http/response.rbs +28 -0
  110. data/sig/focus_nfe/modelos/documento.rbs +34 -0
  111. data/sig/focus_nfe/modelos/inutilizacao.rbs +24 -0
  112. data/sig/focus_nfe/modelos/pagina.rbs +21 -0
  113. data/sig/focus_nfe/recursos/backups.rbs +7 -0
  114. data/sig/focus_nfe/recursos/base.rbs +25 -0
  115. data/sig/focus_nfe/recursos/ceps.rbs +10 -0
  116. data/sig/focus_nfe/recursos/cfops.rbs +10 -0
  117. data/sig/focus_nfe/recursos/cnaes.rbs +10 -0
  118. data/sig/focus_nfe/recursos/cnpjs.rbs +7 -0
  119. data/sig/focus_nfe/recursos/concerns/baixavel.rbs +12 -0
  120. data/sig/focus_nfe/recursos/concerns/baixavel_eventos.rbs +14 -0
  121. data/sig/focus_nfe/recursos/concerns/cancelavel.rbs +9 -0
  122. data/sig/focus_nfe/recursos/concerns/conciliavel.rbs +15 -0
  123. data/sig/focus_nfe/recursos/concerns/consultavel.rbs +9 -0
  124. data/sig/focus_nfe/recursos/concerns/corrigivel.rbs +15 -0
  125. data/sig/focus_nfe/recursos/concerns/corrigivel_cte.rbs +17 -0
  126. data/sig/focus_nfe/recursos/concerns/emitivel.rbs +14 -0
  127. data/sig/focus_nfe/recursos/concerns/enviavel.rbs +15 -0
  128. data/sig/focus_nfe/recursos/concerns/eventavel.rbs +12 -0
  129. data/sig/focus_nfe/recursos/concerns/inutilizavel.rbs +20 -0
  130. data/sig/focus_nfe/recursos/concerns/listavel.rbs +9 -0
  131. data/sig/focus_nfe/recursos/concerns/localizavel.rbs +9 -0
  132. data/sig/focus_nfe/recursos/concerns/notificavel.rbs +9 -0
  133. data/sig/focus_nfe/recursos/concerns/removivel.rbs +9 -0
  134. data/sig/focus_nfe/recursos/concerns/visualizavel.rbs +9 -0
  135. data/sig/focus_nfe/recursos/cte.rbs +17 -0
  136. data/sig/focus_nfe/recursos/cte_os.rbs +17 -0
  137. data/sig/focus_nfe/recursos/ctes_recebidas.rbs +14 -0
  138. data/sig/focus_nfe/recursos/dce.rbs +10 -0
  139. data/sig/focus_nfe/recursos/emails_bloqueados.rbs +12 -0
  140. data/sig/focus_nfe/recursos/empresas.rbs +12 -0
  141. data/sig/focus_nfe/recursos/mdfe.rbs +21 -0
  142. data/sig/focus_nfe/recursos/municipios.rbs +19 -0
  143. data/sig/focus_nfe/recursos/ncms.rbs +10 -0
  144. data/sig/focus_nfe/recursos/nfce.rbs +12 -0
  145. data/sig/focus_nfe/recursos/nfcom.rbs +10 -0
  146. data/sig/focus_nfe/recursos/nfe.rbs +23 -0
  147. data/sig/focus_nfe/recursos/nfes_recebidas.rbs +16 -0
  148. data/sig/focus_nfe/recursos/nfgas.rbs +10 -0
  149. data/sig/focus_nfe/recursos/nfse.rbs +11 -0
  150. data/sig/focus_nfe/recursos/nfse_nacional.rbs +10 -0
  151. data/sig/focus_nfe/recursos/nfses_nacionais_recebidas.rbs +11 -0
  152. data/sig/focus_nfe/recursos/webhooks.rbs +11 -0
  153. data/sig/focus_nfe/webhook.rbs +11 -0
  154. data/sig/focus_nfe.rbs +10 -0
  155. data/spec/focus_nfe/client_spec.rb +208 -0
  156. data/spec/focus_nfe/configuration_spec.rb +121 -0
  157. data/spec/focus_nfe/errors_mapping_spec.rb +68 -0
  158. data/spec/focus_nfe/errors_spec.rb +107 -0
  159. data/spec/focus_nfe/esquemas/campo_spec.rb +291 -0
  160. data/spec/focus_nfe/esquemas/decimal_spec.rb +54 -0
  161. data/spec/focus_nfe/esquemas/esquema_spec.rb +73 -0
  162. data/spec/focus_nfe/esquemas/validador_spec.rb +167 -0
  163. data/spec/focus_nfe/esquemas_spec.rb +42 -0
  164. data/spec/focus_nfe/http/adapter_spec.rb +8 -0
  165. data/spec/focus_nfe/http/adapters/net_http_spec.rb +181 -0
  166. data/spec/focus_nfe/http/authentication_spec.rb +24 -0
  167. data/spec/focus_nfe/http/connection_spec.rb +255 -0
  168. data/spec/focus_nfe/http/logging_spec.rb +83 -0
  169. data/spec/focus_nfe/http/response_spec.rb +161 -0
  170. data/spec/focus_nfe/modelos/documento_spec.rb +150 -0
  171. data/spec/focus_nfe/modelos/inutilizacao_spec.rb +91 -0
  172. data/spec/focus_nfe/modelos/pagina_spec.rb +77 -0
  173. data/spec/focus_nfe/recursos/backups_spec.rb +29 -0
  174. data/spec/focus_nfe/recursos/base_spec.rb +56 -0
  175. data/spec/focus_nfe/recursos/ceps_spec.rb +16 -0
  176. data/spec/focus_nfe/recursos/cfops_spec.rb +16 -0
  177. data/spec/focus_nfe/recursos/cnaes_spec.rb +20 -0
  178. data/spec/focus_nfe/recursos/cnpjs_spec.rb +11 -0
  179. data/spec/focus_nfe/recursos/concerns/emitivel_validacao_spec.rb +158 -0
  180. data/spec/focus_nfe/recursos/cte_os_spec.rb +9 -0
  181. data/spec/focus_nfe/recursos/cte_spec.rb +9 -0
  182. data/spec/focus_nfe/recursos/ctes_recebidas_spec.rb +56 -0
  183. data/spec/focus_nfe/recursos/dce_spec.rb +8 -0
  184. data/spec/focus_nfe/recursos/emails_bloqueados_spec.rb +29 -0
  185. data/spec/focus_nfe/recursos/empresas_spec.rb +45 -0
  186. data/spec/focus_nfe/recursos/mdfe_spec.rb +100 -0
  187. data/spec/focus_nfe/recursos/municipios_spec.rb +58 -0
  188. data/spec/focus_nfe/recursos/ncms_spec.rb +16 -0
  189. data/spec/focus_nfe/recursos/nfce_spec.rb +10 -0
  190. data/spec/focus_nfe/recursos/nfcom_spec.rb +8 -0
  191. data/spec/focus_nfe/recursos/nfe_spec.rb +262 -0
  192. data/spec/focus_nfe/recursos/nfes_recebidas_spec.rb +87 -0
  193. data/spec/focus_nfe/recursos/nfgas_spec.rb +8 -0
  194. data/spec/focus_nfe/recursos/nfse_nacional_spec.rb +8 -0
  195. data/spec/focus_nfe/recursos/nfse_spec.rb +9 -0
  196. data/spec/focus_nfe/recursos/nfses_nacionais_recebidas_spec.rb +17 -0
  197. data/spec/focus_nfe/recursos/webhooks_spec.rb +22 -0
  198. data/spec/focus_nfe/webhook_spec.rb +66 -0
  199. data/spec/focus_nfe_global_configuration_spec.rb +70 -0
  200. data/spec/focus_nfe_require_spec.rb +87 -0
  201. data/spec/focus_nfe_spec.rb +11 -0
  202. data/spec/spec_helper.rb +58 -0
  203. data/spec/support/shared_examples/recurso_fiscal.rb +445 -0
  204. data/spec/support/shared_examples/recurso_leitura.rb +217 -0
  205. data/tools/pull_fields.rb +62 -0
  206. metadata +420 -0
@@ -0,0 +1,44 @@
1
+ [
2
+ {
3
+ "name": "marca_nacionalidade_aeronave",
4
+ "description": "Marca da Nacionalidade da aeronave",
5
+ "type": "String[1-4]",
6
+ "required": true,
7
+ "tag": "nac"
8
+ },
9
+ {
10
+ "name": "marca_matricula_aeronave",
11
+ "description": "Marca da Nacionalidade da aeronave",
12
+ "type": "String[1-4]",
13
+ "required": true,
14
+ "tag": "matr"
15
+ },
16
+ {
17
+ "name": "numero_voo",
18
+ "description": "Número do Voo. Formato = AB1234, sendo AB a designação da empresa e 1234 o número do voo. Quando não for possível incluir as marcas de nacionalidade e matrícula sem hífen.",
19
+ "type": "String[5-9]",
20
+ "required": true,
21
+ "tag": "nVoo"
22
+ },
23
+ {
24
+ "name": "aerodromo_embarque",
25
+ "description": "Aeródromo de Embarque",
26
+ "type": "String[3-4]",
27
+ "required": true,
28
+ "tag": "cAerEmb"
29
+ },
30
+ {
31
+ "name": "aerodromo_destino",
32
+ "description": "Aeródromo de Destino",
33
+ "type": "String[3-4]",
34
+ "required": true,
35
+ "tag": "cAerDes"
36
+ },
37
+ {
38
+ "name": "data_voo",
39
+ "description": "Data do Voo",
40
+ "type": null,
41
+ "required": true,
42
+ "tag": "dVoo"
43
+ }
44
+ ]
@@ -0,0 +1,209 @@
1
+ [
2
+ {
3
+ "name": "irin_navio",
4
+ "description": "Irin do navio sempre deverá ser informado",
5
+ "type": "String[1-10]",
6
+ "required": false,
7
+ "tag": "irin"
8
+ },
9
+ {
10
+ "name": "tipo_embarcacao",
11
+ "description": "Código do tipo de embarcação. Preencher com código da Tabela de Tipo de Embarcação definida no Ministério dos Transportes",
12
+ "type": "Integer[2]",
13
+ "required": false,
14
+ "tag": "tpEmb"
15
+ },
16
+ {
17
+ "name": "codigo_embarcacao",
18
+ "description": "Código da embarcação",
19
+ "type": "String[1-10]",
20
+ "required": false,
21
+ "tag": "cEmbar"
22
+ },
23
+ {
24
+ "name": "nome_embarcacao",
25
+ "description": "Nome da embarcação",
26
+ "type": "String[1-60]",
27
+ "required": false,
28
+ "tag": "xEmbar"
29
+ },
30
+ {
31
+ "name": "numero_viagem",
32
+ "description": "Número da Viagem",
33
+ "type": "Integer[1-10]",
34
+ "required": false,
35
+ "tag": "nViag"
36
+ },
37
+ {
38
+ "name": "codigo_porto_embarque",
39
+ "description": "Código do Porto de Embarque",
40
+ "type": "String[1-5]",
41
+ "required": false,
42
+ "tag": "cPrtEmb"
43
+ },
44
+ {
45
+ "name": "codigo_porto_destino",
46
+ "description": "Código do Porto de Destino",
47
+ "type": "String[1-5]",
48
+ "required": false,
49
+ "tag": "cPrtDest"
50
+ },
51
+ {
52
+ "name": "porto_transbordo",
53
+ "description": "Porto de Transbordo",
54
+ "type": "String[1-60]",
55
+ "required": false,
56
+ "tag": "prtTrans"
57
+ },
58
+ {
59
+ "name": "tipo_navegacao",
60
+ "description": "Tipo de Navegação",
61
+ "type": "Integer[0-1]",
62
+ "required": false,
63
+ "tag": "tpNav"
64
+ },
65
+ {
66
+ "name": "terminais_carregamento",
67
+ "description": "Grupo de informações dos terminais de carregamento.",
68
+ "type": "Coleção[0-5]",
69
+ "required": false,
70
+ "collection_type": "InfoTerminalCarregamentoXML",
71
+ "collection": {
72
+ "object_type": "InfoTerminalCarregamentoXML",
73
+ "object_description": "Grupo de informações dos terminais de carregamento.",
74
+ "object_attributes": [
75
+ {
76
+ "name": "codigo",
77
+ "description": "Código do Terminal de Carregamento",
78
+ "type": "String[1-8]",
79
+ "required": true,
80
+ "tag": "cTermCarreg"
81
+ },
82
+ {
83
+ "name": "nome",
84
+ "description": "Nome do Terminal de Carregamento",
85
+ "type": "String[1-60]",
86
+ "required": true,
87
+ "tag": "xTermCarreg"
88
+ }
89
+ ]
90
+ }
91
+ },
92
+ {
93
+ "name": "terminais_descarregamento",
94
+ "description": "Grupo de informações dos terminais de descarregamento.",
95
+ "type": "Coleção[0-5]",
96
+ "required": false,
97
+ "collection_type": "InfoTerminalDescarregamentoXML",
98
+ "collection": {
99
+ "object_type": "InfoTerminalDescarregamentoXML",
100
+ "object_description": "Grupo de informações do Terminal",
101
+ "object_attributes": [
102
+ {
103
+ "name": "codigo_terminal",
104
+ "description": "Código do Terminal de Descarregamento",
105
+ "type": "String[1-8]",
106
+ "required": true,
107
+ "tag": "cTermDescarreg"
108
+ },
109
+ {
110
+ "name": "nome_terminal",
111
+ "description": "Nome do Terminal de Descarregamento",
112
+ "type": "String[1-60]",
113
+ "required": true,
114
+ "tag": "xTermDescarreg"
115
+ }
116
+ ]
117
+ }
118
+ },
119
+ {
120
+ "name": "embarcacoes_comboio",
121
+ "description": "Informações das Embarcações do Comboio",
122
+ "type": "Coleção[0-30]",
123
+ "required": false,
124
+ "collection_type": "InfoEmbarcacaoComboioXML",
125
+ "collection": {
126
+ "object_type": "InfoEmbarcacaoComboioXML",
127
+ "object_description": "Informações das Embarcações do Comboio",
128
+ "object_attributes": [
129
+ {
130
+ "name": "codigo",
131
+ "description": "Código da embarcação do comboio",
132
+ "type": "String[1-10]",
133
+ "required": true,
134
+ "tag": "cEmbComb"
135
+ },
136
+ {
137
+ "name": "identificacao_balsa",
138
+ "description": "Identificador da Balsa",
139
+ "type": "String[1-60]",
140
+ "required": true,
141
+ "tag": "xBalsa"
142
+ }
143
+ ]
144
+ }
145
+ },
146
+ {
147
+ "name": "unidades_carga_vazias",
148
+ "description": "Informações das Undades de Transporte vazias",
149
+ "type": "Coleção[0-1000]",
150
+ "required": false,
151
+ "collection_type": "InfoUnidadeCargaVaziaXML",
152
+ "collection": {
153
+ "object_type": "InfoUnidadeCargaVaziaXML",
154
+ "object_description": "Informações das Undade de Transporte Vazia",
155
+ "object_attributes": [
156
+ {
157
+ "name": "identificacao",
158
+ "description": "Identificação da unidades de carga vazia",
159
+ "type": "String[1-20]",
160
+ "required": false,
161
+ "tag": "idUnidCargaVazia"
162
+ },
163
+ {
164
+ "name": "tipo",
165
+ "description": "Tipo da unidade de carga vazia",
166
+ "type": null,
167
+ "required": true,
168
+ "enum": "* +1+: Container\\n* +2+: ULD\\n* +3+: Pallet\\n* +4+: Outros",
169
+ "tag": "tpUnidCargaVazia"
170
+ }
171
+ ]
172
+ }
173
+ },
174
+ {
175
+ "name": "unidades_transporte_vazias",
176
+ "description": "Informações das Undades de Transporte vazias",
177
+ "type": "Coleção[0-1000]",
178
+ "required": false,
179
+ "collection_type": "InfoUnidadeTransporteVaziaXML",
180
+ "collection": {
181
+ "object_type": "InfoUnidadeTransporteVaziaXML",
182
+ "object_description": "Informações da Undade de Transporte Vazia",
183
+ "object_attributes": [
184
+ {
185
+ "name": "identificacao",
186
+ "description": "Identificação da Unidade de Transporte Vazia",
187
+ "type": "String[1-20]",
188
+ "required": true,
189
+ "tag": "idUnidTranspVazia"
190
+ },
191
+ {
192
+ "name": "tipo",
193
+ "description": "Tipo da Unidade de Transporte Vazia",
194
+ "type": null,
195
+ "required": true,
196
+ "enum": "* +1+: Rodoviário Tração do tipo caminhão\\n* +2+: Rodoviário reboque do tipo carreta",
197
+ "tag": "tpUnidTranspVazia"
198
+ }
199
+ ]
200
+ }
201
+ },
202
+ {
203
+ "name": "mmsi",
204
+ "description": "Maritime Mobile Service Identify",
205
+ "type": "Integer[9]",
206
+ "required": false,
207
+ "tag": "MMSI"
208
+ }
209
+ ]
@@ -0,0 +1,99 @@
1
+ [
2
+ {
3
+ "name": "prefixo_trem",
4
+ "description": "Prefixo do Trem",
5
+ "type": "String[1-10]",
6
+ "required": false,
7
+ "tag": "xPref"
8
+ },
9
+ {
10
+ "name": "data_hora_liberacao_trem_origem",
11
+ "description": "Prefixo do Trem",
12
+ "type": "String[1-10]",
13
+ "required": false,
14
+ "tag": "dhTrem"
15
+ },
16
+ {
17
+ "name": "origem_trem",
18
+ "description": "Origem do Trem. Sigla da estação de origem",
19
+ "type": "String[1-3]",
20
+ "required": false,
21
+ "tag": "xOri"
22
+ },
23
+ {
24
+ "name": "destino_trem",
25
+ "description": "Destino do Trem. Sigla da estação de destino",
26
+ "type": "String[1-3]",
27
+ "required": false,
28
+ "tag": "xDest"
29
+ },
30
+ {
31
+ "name": "quantidade_vagoes",
32
+ "description": "Quantidade de vagões carregados",
33
+ "type": "Integer[1-3]",
34
+ "required": false,
35
+ "tag": "qVag"
36
+ },
37
+ {
38
+ "name": "vagoes",
39
+ "description": "Informações dos Vagões",
40
+ "type": "Coleção[1-1000]",
41
+ "required": false,
42
+ "collection_type": "InfoVagaoXML",
43
+ "collection": {
44
+ "object_type": "InfoVagaoXML",
45
+ "object_description": "Informações de Vagão",
46
+ "object_attributes": [
47
+ {
48
+ "name": "peso_base_calculo_frete",
49
+ "description": "Peso Base de Cálculo de Frete em Toneladas",
50
+ "type": "Decimal[3.3]",
51
+ "required": false,
52
+ "tag": "pesoBC"
53
+ },
54
+ {
55
+ "name": "peso_real",
56
+ "description": "Peso Real em Toneladas",
57
+ "type": "Decimal[3.3]",
58
+ "required": false,
59
+ "tag": "pesoR"
60
+ },
61
+ {
62
+ "name": "tipo_vagao",
63
+ "description": "Tipo de Vagão",
64
+ "type": "String[3]",
65
+ "required": false,
66
+ "tag": "tpVag"
67
+ },
68
+ {
69
+ "name": "serie",
70
+ "description": "Serie de Identificação do vagão",
71
+ "type": "String[3]",
72
+ "required": true,
73
+ "tag": "serie"
74
+ },
75
+ {
76
+ "name": "numero_identificao_vagao",
77
+ "description": "Número de Identificação do vagão",
78
+ "type": "Integer[1-8]",
79
+ "required": true,
80
+ "tag": "nVag"
81
+ },
82
+ {
83
+ "name": "sequencia_vagao_composicao",
84
+ "description": "Sequência do vagão na composição",
85
+ "type": "Integer[1-3]",
86
+ "required": false,
87
+ "tag": "nSeq"
88
+ },
89
+ {
90
+ "name": "tonelada_util",
91
+ "description": "Tonelada Útil",
92
+ "type": "Decimal[3.3]",
93
+ "required": false,
94
+ "tag": "TU"
95
+ }
96
+ ]
97
+ }
98
+ }
99
+ ]