{"id":1524,"date":"2022-06-28T14:07:33","date_gmt":"2022-06-28T17:07:33","guid":{"rendered":"https:\/\/www.b3bee.com.br\/site\/?p=1524"},"modified":"2022-06-28T15:02:25","modified_gmt":"2022-06-28T18:02:25","slug":"validacao-de-cadoc-xml-e-json","status":"publish","type":"post","link":"https:\/\/www.b3bee.com.br\/site\/2022\/06\/28\/validacao-de-cadoc-xml-e-json\/","title":{"rendered":"CADOC: Valida\u00e7\u00e3o dos arquivos"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"717\" height=\"395\" src=\"https:\/\/www.b3bee.com.br\/site\/wp-content\/uploads\/2022\/06\/71_cadoc_2_validador.jpg\" alt=\"\" class=\"wp-image-1525\" srcset=\"https:\/\/www.b3bee.com.br\/site\/wp-content\/uploads\/2022\/06\/71_cadoc_2_validador.jpg 717w, https:\/\/www.b3bee.com.br\/site\/wp-content\/uploads\/2022\/06\/71_cadoc_2_validador-300x165.jpg 300w\" sizes=\"auto, (max-width: 717px) 100vw, 717px\" \/><figcaption>Valida\u00e7\u00e3o em CADOC&#8217;s XML e JSON<\/figcaption><\/figure>\n\n\n\n<p>Como melhorar a qualidade dos arquivos enviados? Os diferentes formatos dos arquivos, fruto da evolu\u00e7\u00e3o no decorrer da elabora\u00e7\u00e3o em diferentes est\u00e1gios tecnol\u00f3gicos dos CADOC&#8217;s, permite que alguns deles tenham sua estrutura validada. Numa breve explana\u00e7\u00e3o, as caracter\u00edsticas gerais e valida\u00e7\u00f5es previstas pelo regulador para os arquivos nos formatos texto (TXT), XML e JSON.<\/p>\n\n\n\n<p><strong>Evolu\u00e7\u00e3o na valida\u00e7\u00e3o expl\u00edcita de formato do CADOC<\/strong><strong><\/strong><\/p>\n\n\n\n<p>CADOC TXT n\u00e3o possui valida\u00e7\u00e3o autom\u00e1tica e expl\u00edcita de formato aplic\u00e1vel pelo usu\u00e1rio.<\/p>\n\n\n\n<p>CADOC XML possui valida\u00e7\u00e3o expl\u00edcita aplic\u00e1vel pelo usu\u00e1rio, antecipando erros de formata\u00e7\u00e3o a fim de evitar seu envio incorreto ao regulador. Isso pode ser feito pelo validador.exe, ferramenta disponibilizada pelo regulador, junto do respectivo esquema XSD para cada leiaute de CADOC. Na ferramenta validador.exe, devem ser selecionados tanto o arquivo XML a ser validado como o arquivo XSD que possui suas respectivas regras de formata\u00e7\u00e3o.<\/p>\n\n\n\n<p>CADOC JSON possui valida\u00e7\u00e3o expl\u00edcita an\u00e1logo ao CADOC XML, onde o regulador disponibiliza apenas o esquema JSON adequado para o leiaute de cada CADOC. N\u00e3o h\u00e1 ferramenta disponibilizada, sendo recomendado o uso de ferramentas disponibilizadas na internet. A fim de facilitar tal tarefa, disponibilizamos um validador espec\u00edfico para arquivos JSON no leiaute do Banco Central.<\/p>\n\n\n\n<p><strong>Arquivo TXT \u2013 Formato texto<\/strong><strong><\/strong><\/p>\n\n\n\n<p>Formato mais tradicional de troca de informa\u00e7\u00f5es entre sistemas, buscava-se efici\u00eancia na quantidade de dados de seu conte\u00fado, pois sua origem remonta \u00e0 \u00e9poca em que as m\u00eddias de armazenamento n\u00e3o suportavam ou encarecidos numa grande escala de dados.<\/p>\n\n\n\n<p>Para reduzir o espa\u00e7o de armazenamento, o ano das datas era grafado com apenas os dois \u00faltimos d\u00edgitos. A\u00ed na virada do ano 1999 para 2000 surgiu o potencial \u2018bug do mil\u00eanio\u2019: o ano \u201800\u2019 seria menor que o ano \u201899\u2019, podendo gerar incompatibilidades em per\u00edodos de c\u00e1lculos financeiros, agendamentos de voos a\u00e9reos, c\u00e1lculo de contas de concession\u00e1rias de servi\u00e7os, enfim, tudo que se relacionasse direta ou indiretamente com datas.<\/p>\n\n\n\n<p>A sequ\u00eancia de letras e n\u00fameros justapostos dentro de um arquivo texto s\u00f3 pode ser compreendida se acompanhada de um leiaute, basicamente uma r\u00e9gua que indica as posi\u00e7\u00f5es de in\u00edcio e fim de uma determinada informa\u00e7\u00e3o.<\/p>\n\n\n\n<p>S\u00e3o alguns exemplos desses arquivos, os CADOC\u2019s 5011 e os cont\u00e1beis 4010, 4016, 4040, entre outros.<\/p>\n\n\n\n<p>O usu\u00e1rio n\u00e3o possui mecanismo facilitador para antecipar um deslocamento de colunas dentro de seu arquivo, por exemplo, ficando dependente da rejei\u00e7\u00e3o a ser feita somente pela aplica\u00e7\u00e3o de importa\u00e7\u00e3o do regulador.<\/p>\n\n\n\n<p><strong>Arquivo XML &#8211; \u2018eXtensible Markup Language\u2019<\/strong><strong><\/strong><\/p>\n\n\n\n<p>Um arquivo XML pode ser aberto por um editor de texto simples. Seu conte\u00fado possui uma intercala\u00e7\u00e3o entre o r\u00f3tulo do que significa a informa\u00e7\u00e3o (TAG e atributo) e seu respectivo conte\u00fado. Dessa forma, a interpreta\u00e7\u00e3o desse arquivo n\u00e3o necessita de um leiaute para que seu conte\u00fado seja compreendido.<\/p>\n\n\n\n<p>Cada arquivo XML pode possuir seu respectivo arquivo de esquema (extens\u00e3o XSD), que define regras tais como conte\u00fado apenas num\u00e9rico ou uma lista de palavras permitidas num determinado TAG ou atributo. Assim, o arquivo XML pode ser validado antecipadamente com as regras definidas por seu respectivo arquivo XSD.<\/p>\n\n\n\n<p>No caso dos CADOC\u2019s, o regulador sugere a utiliza\u00e7\u00e3o do programa VALIDADOR.exe para realizar essa valida\u00e7\u00e3o pr\u00e9via de formato e sintaxe, podendo ser baixado no link <a href=\"https:\/\/www.bcb.gov.br\/estabilidadefinanceira\/validador_xml_info\">https:\/\/www.bcb.gov.br\/estabilidadefinanceira\/validador_xml_info<\/a>. Nele, o usu\u00e1rio ter\u00e1 de selecionar um arquivo XML a ser validado e seu respectivo arquivo XSD com suas respectivas regras para busca de alguma inconsist\u00eancia. O arquivo XSD \u00e9 tamb\u00e9m oferecido pelo regulador no momento da disponibiliza\u00e7\u00e3o de cada layout dos CADOC\u2019s no formato XML.<\/p>\n\n\n\n<p>S\u00e3o alguns exemplos de CADOC\u2019s no formato XML, o DLO 2061, DLI 2062, SVR 9800, SCR 3040, entre outros. Exemplo de in\u00edcio de um arquivo 2061:<\/p>\n\n\n\n<p>&lt;?xml version=&#8221;1.0&#8243;<\/p>\n\n\n\n<p>&nbsp;encoding=&#8221;ISO-8859-1&#8243; ?&gt;<\/p>\n\n\n\n<p>&nbsp;&lt;documentoDLO<\/p>\n\n\n\n<p>&nbsp;cnpj=&#8221;12345678&#8243;<\/p>\n\n\n\n<p>&nbsp;dataBase=&#8221;2022-01&#8243;<\/p>\n\n\n\n<p>&nbsp;codigoDocumento=&#8221;2061&#8243;<\/p>\n\n\n\n<p>&nbsp;tipoEnvio=&#8221;S&#8221;&gt;<\/p>\n\n\n\n<p>&#8230;<\/p>\n\n\n\n<p><strong>Arquivo JSON &#8211; JavaScript Object Notation <\/strong><strong><\/strong><\/p>\n\n\n\n<p>Um arquivo JSON tamb\u00e9m \u00e9 baseado no uso de TAG\u2019s, tal como o formato XML. Tamb\u00e9m possui um arquivo de esquema (esquema JSON) que permite validar o conte\u00fado do arquivo JSON, analogamente ao arquivo XSD para formato XML. No entanto, n\u00e3o h\u00e1 uma ferramenta disponibilizada pelo regulador, tal como o validador.exe para XML. Para arquivos JSON, o regulador indica ferramentas dispon\u00edveis na internet. A fim de facilitar sua usabilidade, disponibilizamos em <a href=\"https:\/\/b3bee.com.br\/dadosabertos\/app\/\">https:\/\/b3bee.com.br\/dadosabertos\/app\/<\/a> um validador j\u00e1 com os esquemas JSON vinculados, de forma que baste apenas selecionar a vers\u00e3o do esquema e colar o conte\u00fado do arquivo JSON a ser validado.<\/p>\n\n\n\n<p>Um exemplo de CADOC nesse formato \u00e9 o 9011 de Demonstra\u00e7\u00f5es Financeiras:<\/p>\n\n\n\n<p>{&nbsp;&nbsp; &#8220;@cnpj&#8221;: &#8220;12345678&#8221;,<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; &#8220;@codigoDocumento&#8221;: &#8220;9011&#8221;,<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; &#8220;@tipoRemessa&#8221;: &#8220;I&#8221;,<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; &#8220;@unidadeMedida&#8221;: 1000,<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; &#8220;@dataBase&#8221;: &#8220;122021&#8221;,<\/p>\n\n\n\n<p>&#8230;<\/p>\n\n\n\n<p><strong>Envio de arquivos sob \u00f3tica do pilar 2 de Supervis\u00e3o (Basileia 3)<\/strong><strong><\/strong><\/p>\n\n\n\n<p>A qualidade do formato em um CADOC influi na integridade da informa\u00e7\u00e3o, pontualidade e tempestividade em sua respectiva entrega, uma vez que o envio de arquivos com erro de formata\u00e7\u00e3o ser\u00e3o rejeitados sucessivamente pelo regulador, pontos a serem avaliados no item 7.10.10.10.08.02 do Guia de Pr\u00e1ticas da Supervis\u00e3o \u2018Qualidade das Informa\u00e7\u00f5es Regulat\u00f3rias\u2019, j\u00e1 detalhados no artigo anterior <a href=\"https:\/\/www.b3bee.com.br\/site\/2022\/06\/22\/cadoc-fluxo-essencial-do-compliance-regulatorio\/\">https:\/\/www.b3bee.com.br\/site\/2022\/06\/22\/cadoc-fluxo-essencial-do-compliance-regulatorio\/<\/a>.<\/p>\n\n\n\n<p>&nbsp;Yoshio Hada<\/p>\n\n\n\n<p>S\u00f3cio administrador da B3Bee Consultoria e Sistemas, licenciando sistemas dos dados abertos (Demonstra\u00e7\u00f5es Financeiras, Pilar 3 e Canais de Atendimento), CADOC\u2019s (DLI 2062, 40XX, 5011, 80XX, 90X1, 9800), FGC405, convers\u00e3o de layouts (ETL), controle de limites, calend\u00e1rio de obriga\u00e7\u00f5es (envio de arquivos regulat\u00f3rios ou rotinas administrativas).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como melhorar a qualidade dos arquivos enviados? Os diferentes formatos dos arquivos, fruto da evolu\u00e7\u00e3o no decorrer da elabora\u00e7\u00e3o em diferentes est\u00e1gios tecnol\u00f3gicos dos CADOC&#8217;s, permite que alguns deles tenham &#8230;<\/p>\n","protected":false},"author":2,"featured_media":1525,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[195],"tags":[18,76,253,251,252],"class_list":["post-1524","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cadoc","tag-bc","tag-cadoc","tag-json","tag-validacao","tag-xml"],"_links":{"self":[{"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/posts\/1524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/comments?post=1524"}],"version-history":[{"count":6,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/posts\/1524\/revisions"}],"predecessor-version":[{"id":1535,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/posts\/1524\/revisions\/1535"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/media\/1525"}],"wp:attachment":[{"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/media?parent=1524"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/categories?post=1524"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/tags?post=1524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}