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,78 @@
1
+ [
2
+ {
3
+ "name": "rntrc",
4
+ "description": "Registro Nacional de Transportadores Rodoviários de Carga",
5
+ "type": "String[8]",
6
+ "required": true,
7
+ "tag": "RNTRC"
8
+ },
9
+ {
10
+ "name": "ordens_coleta_associados",
11
+ "description": "Ordens de Coleta associados",
12
+ "type": "Coleção[0-10]",
13
+ "required": false,
14
+ "collection_type": "OrdemColetaXML",
15
+ "collection": {
16
+ "object_type": "OrdemColetaXML",
17
+ "object_description": "Ordem de Coleta associada. Tag XML occ.",
18
+ "object_attributes": [
19
+ {
20
+ "name": "serie",
21
+ "description": "Série da OCC",
22
+ "type": "String[1-3]",
23
+ "required": false,
24
+ "tag": "serie"
25
+ },
26
+ {
27
+ "name": "numero_ordem_coleta",
28
+ "description": "Número da Ordem de Coleta",
29
+ "type": "Integer[1-6]",
30
+ "required": true,
31
+ "tag": "nOcc"
32
+ },
33
+ {
34
+ "name": "data_emissao",
35
+ "description": "Data de emissão da Ordem de Coleta",
36
+ "type": null,
37
+ "required": true,
38
+ "tag": "dEmi"
39
+ },
40
+ {
41
+ "name": "cnpj",
42
+ "description": "Número do CNPJ",
43
+ "type": "String[14]",
44
+ "required": true,
45
+ "tag": "CNPJ"
46
+ },
47
+ {
48
+ "name": "codigo_interno",
49
+ "description": "Código interno de uso da transportadora",
50
+ "type": "String[1-10]",
51
+ "required": false,
52
+ "tag": "cInt"
53
+ },
54
+ {
55
+ "name": "inscricao_estadual",
56
+ "description": "Inscrição Estadual",
57
+ "type": "String[2-14]",
58
+ "required": true,
59
+ "tag": "IE"
60
+ },
61
+ {
62
+ "name": "uf",
63
+ "description": "Sigla da UF Informar EX para operações com o exterior.",
64
+ "type": "String[2]",
65
+ "required": true,
66
+ "tag": "UF"
67
+ },
68
+ {
69
+ "name": "telefone",
70
+ "description": "Telefone.",
71
+ "type": "Integer[6-14]",
72
+ "required": false,
73
+ "tag": "fone"
74
+ }
75
+ ]
76
+ }
77
+ }
78
+ ]
@@ -0,0 +1,549 @@
1
+ [
2
+ {
3
+ "name": "codigo_unico",
4
+ "description": "Código numérico aleatório que compõe a Chave de Acesso (6 dígitos).",
5
+ "type": "String[6]",
6
+ "required": true,
7
+ "tag": "cDC"
8
+ },
9
+ {
10
+ "name": "serie",
11
+ "description": "Série do documento fiscal.",
12
+ "type": "String[1-3]",
13
+ "required": true,
14
+ "tag": "serie"
15
+ },
16
+ {
17
+ "name": "numero",
18
+ "description": "Número do documento fiscal. 1 a 999999999.",
19
+ "type": "String[1-9]",
20
+ "required": true,
21
+ "tag": "nDC"
22
+ },
23
+ {
24
+ "name": "data_emissao",
25
+ "description": "Data e hora de emissão. Formato UTC (AAAA-MM-DDThh:mm:ssTZD).",
26
+ "type": "DateTime",
27
+ "required": true,
28
+ "tag": "dhEmi"
29
+ },
30
+ {
31
+ "name": "forma_emissao",
32
+ "description": "Forma de emissão.",
33
+ "type": null,
34
+ "required": true,
35
+ "enum": "* +1+: Normal\\n* +2+: Contingência off-line",
36
+ "tag": "tpEmis"
37
+ },
38
+ {
39
+ "name": "tipo_emitente",
40
+ "description": "Tipo do Emitente da DCe.",
41
+ "type": null,
42
+ "required": true,
43
+ "enum": "* +1+: Marketplace\\n* +2+: Emissor próprio\\n* +3+: Transportadora\\n* +4+: ECT",
44
+ "tag": "tpEmit"
45
+ },
46
+ {
47
+ "name": "numero_site_autorizador",
48
+ "description": "Número do site do autorizador (0 para site único, 1-9 para múltiplos).",
49
+ "type": "String[1]",
50
+ "required": true,
51
+ "tag": "nSiteAutoriz"
52
+ },
53
+ {
54
+ "name": "versao_aplicativo",
55
+ "description": "Versão do aplicativo emissor.",
56
+ "type": "String[1-20]",
57
+ "required": true,
58
+ "tag": "verProc"
59
+ },
60
+ {
61
+ "name": null,
62
+ "description": ":cnpj_emitente CNPJ do emitente.",
63
+ "type": "String[14]",
64
+ "required": true
65
+ },
66
+ {
67
+ "name": null,
68
+ "description": ":nome_emitente Razão social ou nome do emitente.",
69
+ "type": "String[2-60]",
70
+ "required": true
71
+ },
72
+ {
73
+ "name": null,
74
+ "description": ":site_emitente Endereço ou site do emitente (disponível apenas para Marketplace).",
75
+ "type": "String[2-120]",
76
+ "required": false
77
+ },
78
+ {
79
+ "name": "cnpj_remetente",
80
+ "description": "CNPJ do remetente.",
81
+ "type": "String[14]",
82
+ "required": false,
83
+ "tag": "CNPJ"
84
+ },
85
+ {
86
+ "name": "cpf_remetente",
87
+ "description": "CPF do remetente.",
88
+ "type": "String[11]",
89
+ "required": false,
90
+ "tag": "CPF"
91
+ },
92
+ {
93
+ "name": "nome_remetente",
94
+ "description": "Razão social ou nome do remetente.",
95
+ "type": "String[2-60]",
96
+ "required": true,
97
+ "tag": "xNome"
98
+ },
99
+ {
100
+ "name": "logradouro_remetente",
101
+ "description": "Logradouro do remetente.",
102
+ "type": "String[2-60]",
103
+ "required": true,
104
+ "tag": "xLgr"
105
+ },
106
+ {
107
+ "name": "numero_remetente",
108
+ "description": "Número do endereço do remetente.",
109
+ "type": "String[1-60]",
110
+ "required": true,
111
+ "tag": "nro"
112
+ },
113
+ {
114
+ "name": "complemento_remetente",
115
+ "description": "Complemento do endereço do remetente.",
116
+ "type": "String[1-60]",
117
+ "required": false,
118
+ "tag": "xCpl"
119
+ },
120
+ {
121
+ "name": "bairro_remetente",
122
+ "description": "Bairro do endereço do remetente.",
123
+ "type": "String[2-60]",
124
+ "required": true,
125
+ "tag": "xBairro"
126
+ },
127
+ {
128
+ "name": "codigo_municipio_remetente",
129
+ "description": "Código do município do endereço do remetente (tabela IBGE).",
130
+ "type": "String[7]",
131
+ "required": true,
132
+ "tag": "cMun"
133
+ },
134
+ {
135
+ "name": "municipio_remetente",
136
+ "description": "Nome do município do endereço do remetente.",
137
+ "type": "String[2-60]",
138
+ "required": true,
139
+ "tag": "xMun"
140
+ },
141
+ {
142
+ "name": "uf_remetente",
143
+ "description": "Sigla da UF do endereço do remetente.",
144
+ "type": "String[2]",
145
+ "required": true,
146
+ "tag": "UF"
147
+ },
148
+ {
149
+ "name": "cep_remetente",
150
+ "description": "CEP do endereço do remetente.",
151
+ "type": "String[8]",
152
+ "required": true,
153
+ "tag": "CEP"
154
+ },
155
+ {
156
+ "name": "codigo_pais_remetente",
157
+ "description": "Código do país do endereço do remetente. Fixo 1058 (Brasil).",
158
+ "type": "String[4]",
159
+ "required": true,
160
+ "tag": "cPais"
161
+ },
162
+ {
163
+ "name": "nome_pais_remetente",
164
+ "description": "Nome do país do endereço do remetente. Brasil ou BRASIL.",
165
+ "type": "String",
166
+ "required": true,
167
+ "tag": "xPais"
168
+ },
169
+ {
170
+ "name": "telefone_remetente",
171
+ "description": "Telefone do remetente.",
172
+ "type": "String[7-12]",
173
+ "required": false,
174
+ "tag": "fone"
175
+ },
176
+ {
177
+ "name": "cnpj_destinatario",
178
+ "description": "CNPJ do destinatário.",
179
+ "type": "String[14]",
180
+ "required": false,
181
+ "tag": "CNPJ"
182
+ },
183
+ {
184
+ "name": "cpf_destinatario",
185
+ "description": "CPF do destinatário.",
186
+ "type": "String[11]",
187
+ "required": false,
188
+ "tag": "CPF"
189
+ },
190
+ {
191
+ "name": "nome_destinatario",
192
+ "description": "Razão social ou nome do destinatário.",
193
+ "type": "String[2-60]",
194
+ "required": true,
195
+ "tag": "xNome"
196
+ },
197
+ {
198
+ "name": "logradouro_destinatario",
199
+ "description": "Logradouro.",
200
+ "type": "String[2-60]",
201
+ "required": true,
202
+ "tag": "xLgr"
203
+ },
204
+ {
205
+ "name": "numero_destinatario",
206
+ "description": "Número.",
207
+ "type": "String[1-60]",
208
+ "required": true,
209
+ "tag": "nro"
210
+ },
211
+ {
212
+ "name": "complemento_destinatario",
213
+ "description": "Complemento.",
214
+ "type": "String[1-60]",
215
+ "required": false,
216
+ "tag": "xCpl"
217
+ },
218
+ {
219
+ "name": "bairro_destinatario",
220
+ "description": "Bairro.",
221
+ "type": "String[2-60]",
222
+ "required": true,
223
+ "tag": "xBairro"
224
+ },
225
+ {
226
+ "name": "codigo_municipio_destinatario",
227
+ "description": "Código do município (tabela IBGE).",
228
+ "type": "String[7]",
229
+ "required": true,
230
+ "tag": "cMun"
231
+ },
232
+ {
233
+ "name": "municipio_destinatario",
234
+ "description": "Nome do município.",
235
+ "type": "String[2-60]",
236
+ "required": true,
237
+ "tag": "xMun"
238
+ },
239
+ {
240
+ "name": "uf_destinatario",
241
+ "description": "Sigla da UF.",
242
+ "type": "String[2]",
243
+ "required": true,
244
+ "tag": "UF"
245
+ },
246
+ {
247
+ "name": "cep_destinatario",
248
+ "description": "CEP.",
249
+ "type": "String[8]",
250
+ "required": true,
251
+ "tag": "CEP"
252
+ },
253
+ {
254
+ "name": "codigo_pais_destinatario",
255
+ "description": "Código do país (tabela BACEN).",
256
+ "type": "String[1-4]",
257
+ "required": false,
258
+ "tag": "cPais"
259
+ },
260
+ {
261
+ "name": "nome_pais_destinatario",
262
+ "description": "Nome do país.",
263
+ "type": "String[2-60]",
264
+ "required": false,
265
+ "tag": "xPais"
266
+ },
267
+ {
268
+ "name": "telefone_destinatario",
269
+ "description": "Telefone.",
270
+ "type": "String[7-12]",
271
+ "required": false,
272
+ "tag": "fone"
273
+ },
274
+ {
275
+ "name": "email_destinatario",
276
+ "description": "E-mail do destinatário.",
277
+ "type": "String[1-60]",
278
+ "required": false,
279
+ "tag": "email"
280
+ },
281
+ {
282
+ "name": "autorizados_download_xml",
283
+ "description": "Autorizados para acessar o XML da DCe.",
284
+ "type": "Coleção[0-10]",
285
+ "required": false,
286
+ "collection_type": "AutorizadosDownloadXml",
287
+ "collection": {
288
+ "object_type": "AutorizadosDownloadXml",
289
+ "object_description": "Autorizados para acessar o XML da DCe. Tag XML autXML",
290
+ "object_attributes": [
291
+ {
292
+ "name": "cnpj",
293
+ "description": "CNPJ do autorizado.",
294
+ "type": "String[14]",
295
+ "required": false,
296
+ "tag": "CNPJ"
297
+ },
298
+ {
299
+ "name": "cpf",
300
+ "description": "CPF do autorizado.",
301
+ "type": "String[11]",
302
+ "required": false,
303
+ "tag": "CPF"
304
+ }
305
+ ]
306
+ }
307
+ },
308
+ {
309
+ "name": "itens",
310
+ "description": "Detalhamento de itens da DCe.",
311
+ "type": "Coleção[1-999]",
312
+ "required": false,
313
+ "collection_type": "ItemDceXML",
314
+ "collection": {
315
+ "object_type": "ItemDceXML",
316
+ "object_description": "Detalhamento de itens da DCe. Tag XML det",
317
+ "object_attributes": [
318
+ {
319
+ "name": "numero",
320
+ "description": "Número do item da DCe, começando por 1.",
321
+ "type": "String[1-4]",
322
+ "required": true,
323
+ "tag": "nItem"
324
+ },
325
+ {
326
+ "name": "descricao_produto",
327
+ "description": "Descrição do produto, bem ou mercadoria.",
328
+ "type": "String[1-120]",
329
+ "required": true,
330
+ "tag": "xProd"
331
+ },
332
+ {
333
+ "name": "codigo_ncm",
334
+ "description": "Código NCM (capítulo 2 dígitos ou completo 8 dígitos).",
335
+ "type": "String[2|8]",
336
+ "required": true,
337
+ "tag": "NCM"
338
+ },
339
+ {
340
+ "name": "quantidade",
341
+ "description": "Quantidade.",
342
+ "type": "Decimal[11.0-4]",
343
+ "required": false,
344
+ "tag": "qCom"
345
+ },
346
+ {
347
+ "name": "valor_unitario",
348
+ "description": "Valor unitário do item.",
349
+ "type": "Decimal[13.2-8]",
350
+ "required": true,
351
+ "tag": "vUnCom"
352
+ },
353
+ {
354
+ "name": "valor_produto",
355
+ "description": "Valor total bruto do item.",
356
+ "type": "Decimal[13.2-8]",
357
+ "required": true,
358
+ "tag": "vProd"
359
+ },
360
+ {
361
+ "name": "informacoes_adicionais",
362
+ "description": "Informações adicionais do item.",
363
+ "type": "String[1-500]",
364
+ "required": false,
365
+ "tag": "infAdProd"
366
+ }
367
+ ]
368
+ }
369
+ },
370
+ {
371
+ "name": "valor_total",
372
+ "description": "Valor Total da DCe.",
373
+ "type": "Decimal[13.2]",
374
+ "required": true,
375
+ "tag": "vDC"
376
+ },
377
+ {
378
+ "name": "modalidade_transporte",
379
+ "description": "Modalidade do transporte.",
380
+ "type": null,
381
+ "required": true,
382
+ "enum": "* +0+: Correios\\n* +1+: Conta própria\\n* +2+: Empresa transportadora",
383
+ "tag": "modTrans"
384
+ },
385
+ {
386
+ "name": "cnpj_transporte",
387
+ "description": "CNPJ da empresa responsável pelo transporte físico da mercadoria.",
388
+ "type": "String[14]",
389
+ "required": false,
390
+ "tag": "CNPJTransp"
391
+ },
392
+ {
393
+ "name": "informacoes_adicionais_fisco",
394
+ "description": "Informações adicionais de interesse do Fisco.",
395
+ "type": "String[1-2000]",
396
+ "required": false,
397
+ "tag": "infAdFisco"
398
+ },
399
+ {
400
+ "name": "informacoes_adicionais",
401
+ "description": "Informações complementares de interesse do emitente.",
402
+ "type": "String[1-5000]",
403
+ "required": false,
404
+ "tag": "infCpl"
405
+ },
406
+ {
407
+ "name": "informacoes_adicionais_marketplace",
408
+ "description": "Informações adicionais do Marketplace.",
409
+ "type": "String[1-5000]",
410
+ "required": false,
411
+ "tag": "infAdMarketplace"
412
+ },
413
+ {
414
+ "name": "informacoes_adicionais_ect",
415
+ "description": "Informações adicionais dos Correios.",
416
+ "type": "String[1-5000]",
417
+ "required": false,
418
+ "tag": "infAdECT"
419
+ },
420
+ {
421
+ "name": "observacoes_emitente",
422
+ "description": "Observações do emitente.",
423
+ "type": "Coleção[0-10]",
424
+ "required": false,
425
+ "collection_type": "ObservacaoEmitenteXML",
426
+ "collection": {
427
+ "object_type": "ObservacaoEmitenteXML",
428
+ "object_description": "Campo de uso livre do Emitente. Tag XML obsEmit",
429
+ "object_attributes": [
430
+ {
431
+ "name": "campo",
432
+ "description": "Nome do campo.",
433
+ "type": "String",
434
+ "required": false,
435
+ "tag": "xCampo"
436
+ },
437
+ {
438
+ "name": "texto",
439
+ "description": "Conteúdo do campo.",
440
+ "type": "String[1-60]",
441
+ "required": false,
442
+ "tag": "xTexto"
443
+ }
444
+ ]
445
+ }
446
+ },
447
+ {
448
+ "name": "observacoes_fisco",
449
+ "description": "Observações do Fisco.",
450
+ "type": "Coleção[0-10]",
451
+ "required": false,
452
+ "collection_type": "ObservacaoFiscoXML",
453
+ "collection": {
454
+ "object_type": "ObservacaoFiscoXML",
455
+ "object_description": "Campo de uso livre do Fisco. Tag XML obsFisco",
456
+ "object_attributes": [
457
+ {
458
+ "name": "campo",
459
+ "description": "Nome do campo.",
460
+ "type": "String",
461
+ "required": false,
462
+ "tag": "xCampo"
463
+ },
464
+ {
465
+ "name": "texto",
466
+ "description": "Conteúdo do campo.",
467
+ "type": "String[1-60]",
468
+ "required": false,
469
+ "tag": "xTexto"
470
+ }
471
+ ]
472
+ }
473
+ },
474
+ {
475
+ "name": "observacoes_marketplace",
476
+ "description": "Observações do Marketplace.",
477
+ "type": "Coleção[0-10]",
478
+ "required": false,
479
+ "collection_type": "ObservacaoMarketplaceXML",
480
+ "collection": {
481
+ "object_type": "ObservacaoMarketplaceXML",
482
+ "object_description": "Campo de uso livre do Marketplace. Tag XML obsMarketplace",
483
+ "object_attributes": [
484
+ {
485
+ "name": "campo",
486
+ "description": "Nome do campo.",
487
+ "type": "String",
488
+ "required": false,
489
+ "tag": "xCampo"
490
+ },
491
+ {
492
+ "name": "texto",
493
+ "description": "Conteúdo do campo.",
494
+ "type": "String[1-60]",
495
+ "required": false,
496
+ "tag": "xTexto"
497
+ }
498
+ ]
499
+ }
500
+ },
501
+ {
502
+ "name": "observacoes_ect",
503
+ "description": "Observações dos Correios.",
504
+ "type": "Coleção[0-10]",
505
+ "required": false,
506
+ "collection_type": "ObservacaoEctXML",
507
+ "collection": {
508
+ "object_type": "ObservacaoEctXML",
509
+ "object_description": "Campo de uso livre dos Correios. Tag XML obsECT",
510
+ "object_attributes": [
511
+ {
512
+ "name": "campo",
513
+ "description": "Nome do campo.",
514
+ "type": "String",
515
+ "required": false,
516
+ "tag": "xCampo"
517
+ },
518
+ {
519
+ "name": "texto",
520
+ "description": "Conteúdo do campo.",
521
+ "type": "String[1-60]",
522
+ "required": false,
523
+ "tag": "xTexto"
524
+ }
525
+ ]
526
+ }
527
+ },
528
+ {
529
+ "name": "observacao1",
530
+ "description": "Observação 1 - Texto fixo sobre contribuinte de ICMS.",
531
+ "type": "String[1-2000]",
532
+ "required": true,
533
+ "tag": "xObs1"
534
+ },
535
+ {
536
+ "name": "observacao2",
537
+ "description": "Observação 2 - Texto fixo sobre crime contra ordem tributária.",
538
+ "type": "String[1-5000]",
539
+ "required": true,
540
+ "tag": "xObs2"
541
+ },
542
+ {
543
+ "name": "solicitacao",
544
+ "description": "Solicitação do pedido de emissão da DCe.",
545
+ "type": "String[0-2000]",
546
+ "required": false,
547
+ "tag": "xSolic"
548
+ }
549
+ ]