documentaÇÃo para geraÇÃo do xml daje e...
Post on 12-Feb-2019
221 Views
Preview:
TRANSCRIPT
DOCUMENTAÇÃO PARA GERAÇÃO DO XML DAJE
E BOLETO
Sumário
1. INTRODUÇÃO E OBJETIVO .................................................................................... 5
2. DOCUMENTO............................................................................................................. 6
2.1. ESTRUTURA DO DOCUMENTO ................................................................ 6
2.2. ELEMENTO DAJES ..................................................................................... 7
2.3. ELEMENTO DAJE ........................................................................................ 7
2.4. ELEMENTO DADOS_DAJE ........................................................................ 7
2.5. ELEMENTO CONTRIBUINTE ..................................................................... 8
2.6. ELEMENTO VALORES ................................................................................ 9
2.7. ELEMENTO BOLETO_INTIMACAO......................................................... 10
3. DEFINIÇÃO DO XSD DE CONFECÇÃO E VALIDAÇÃO ................................... 11
3.1. TIPAGEM DOS ELEMENTOS E ATRIBUTOS ........................................ 14
4. MODELO DO XML ................................................................................................... 16
LISTA DE TABELAS
Tabela 1 - Explicativo dos Atributos ................................................................... 7
Tabela 2 - Elementos do Elemento DADOS_DAJE ........................................... 8
Tabela 3 - Elementos do Elemento CONTRIBUINTE ........................................ 8
Tabela 4 - Elementos do Elemento VALORES .................................................. 9
Tabela 5 - Elementos do Elemento LINHA_DIGITAVEL .................................... 9
Tabela 6 - Elementos do Elemento BOLETO_INTIMACAO ............................. 10
Tabela 7 - Tipagem dos Elementos e Atributos ................................................ 15
LISTA DE FIGURAS
Figura 1 - Modelo do XSD Daje .......................................................................... 6
5
1. INTRODUÇÃO E OBJETIVO
Com a implantação da Central de Remessas de Arquivos (CRA) no estado
da Bahia, tornou-se necessário o desenvolvimento de diversos procedimentos
específicos para o funcionamento em particular no referido estado.
Para tanto, a transmissão dos DAJES gerados pelo tribunal, tanto quanto os
boletos gerados pelos cartórios, deverão ser encaminhados para a CRA, por
um meio de integração de interoperabilidade.
Então, para a CRA-BA, foi gerado um modelo de XML que trafegará os
dados necessários, tanto quanto o PDF dos documentos referidos.
6
2. DOCUMENTO
O modelo de documento escolhido para a transmissão do DAJE e do boleto
é o formato XML, anexando-se o documento PDF internamente no formato
Base 64.
2.1. ESTRUTURA DO DOCUMENTO
A definição do modelo do documento foi criada no padrão XSD, ou seja, um
validador e gerador de exemplos que segue os padrões da World Wide Web
Consortium, a W3C, que padroniza a escrita internacional de aplicações para a
internet.
A base inicial do documento, é mostrada no exemplo abaixo:
Figura 1 - Modelo do XSD Daje
7
2.2. ELEMENTO DAJES
Este elemento é a raiz inicial do documento XML que será confeccionado.
Dentro deste elemento poderão existir um ou mais elementos DAJE.
2.3. ELEMENTO DAJE
Este elemento contém atributos pessoais e outros elementos que compõe
um único DAJE, inclusive acoplando, não obrigatóriamente, o boleto. Os
atributos do elemento DAJE são descritos a seguir:
Atributo Descrição
tipo Tipo de Geração do Daje (Apontamento, Distribuição ou
Desistência)
codigo_banco Código do Banco que deverá pagar o Daje (ex: 237 –
Bradesco)
comarca Código da Comarca (Tabela do IBGE) para o cartório
codigo_cartorio_cra Código do Cartório quando Cadastrado no sistema
CRA Tabela 1 - Explicativo dos Atributos
2.4. ELEMENTO DADOS_DAJE
Este elemento é responsável pelas informações principais do daje. Dentro
deste elemento, estão acoplados os elementos a seguir:
8
Elemento Descrição
daje_numero Número do DAJE emitido
daje_serie Série do DAJE emitido
emissor Código do Cartório emissor que emitiu (cód. No
Tribunal)
destino Código para o destinatário
codigo_ato Código do Ato do DAJE
quantidade_atos Quantidade de atos que compõe o DAJE
data_emissao Data de emissão do DAJE
data_validade Data de Validade do DAJE
tipo_natureza Tipo de Natureza do DAJE
base64_daje Base 64 do PDF do DAJE (conversão do binário em
PDF). Tabela 2 - Elementos do Elemento DADOS_DAJE
2.5. ELEMENTO CONTRIBUINTE
Este elemento é responsável pelas informações do destinatário do DAJE.
Isto é importante para o controle local da CRA. Os elementos internos são
descritos a seguir:
Elemento Descrição
nome Nome do Contribuínte
endereco Endereço do Contribuínte
municipio Município do Contribuínte
documento Documento (CPF ou CNPJ) do contribuínte Tabela 3 - Elementos do Elemento CONTRIBUINTE
9
2.6. ELEMENTO VALORES
Este elemento é responsável por indicar os valores, individualizados de
cada item do DAJE. Os elementos disponíveis são:
Elemento Descrição
valor_ato_praticado Valor dos Atos Praticados
valor_daje Valor do DAJE emitido
emolumentos Valor de Emolumentos
taxa_fiscal Valor de Taxa Fiscal
fecom Valor ao Fecom
def_publica Valor para a Defensoria Pública
linha_digitavel Sub-elemento do elemento valores (descrito em tabela) Tabela 4 - Elementos do Elemento VALORES
Abaixo, a descrição dos elementos constantes no elemento
LINHA_DIGITAVEL:
Elemento Descrição
posicao_digito_1 Posição um do código de barras do documento,
contendo o dígito
posicao_digito_2 Posição dois do código de barras do documento,
contendo o dígito
posicao_digito_3 Posição três do código de barras do documento,
contendo o dígito
posicao_digito_4 Posição quatro do código de barras do documento,
contendo o dígito Tabela 5 - Elementos do Elemento LINHA_DIGITAVEL
10
2.7. ELEMENTO BOLETO_INTIMACAO
Trata-se de um elemento não obrigatório, ou seja, que só deverá ser
incluído no XML quando da emissão do boleto. Este elemento é responsável
por incluir, os dados do boleto de intimação. Os elementos disponíveis são:
Elemento Descrição
boleto_data_emissao Data de emissão do Boleto
boleto_data_vencimento Data de Vencimento do Boleto
boleto_posicao_1 Posição 1 do Código de Barras
boleto_posicao_2 Posição 2 do Código de Barras
boleto_posicao_3 Posição 3 do Código de Barras
boleto_posicao_4 Posição 4 do Código de Barras
boleto_posicao_5 Posição 5 do Código de Barras
boleto_posicao_6 Posição 6 do Código de Barras
boleto_digito Dígito após a posição 6 do Código de Barras
boleto_posicao_7 Posição 7 do Código de Barras
boleto_valor Valor do Boleto
base64_boleto Base 64 do PDF do boleto (conversão do binário
em PDF). Tabela 6 - Elementos do Elemento BOLETO_INTIMACAO
11
3. DEFINIÇÃO DO XSD DE CONFECÇÃO E VALIDAÇÃO
Acoplamos a este documento a definição do XSD, conforme a seguir:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="valores"> <xs:complexType> <xs:sequence> <xs:element ref="valor_ato_praticado"/> <xs:element ref="valor_daje"/> <xs:element ref="emolumentos"/> <xs:element ref="taxa_fiscal"/> <xs:element ref="fecom"/> <xs:element ref="def_publica"/> <xs:element ref="linha_digitavel"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="valor_daje" type="xs:decimal"/> <xs:element name="valor_ato_praticado" type="xs:decimal"/> <xs:element name="tipo_natureza" type="xs:string"/> <xs:element name="taxa_fiscal" type="xs:decimal"/> <xs:element name="quantidade_atos" type="xs:integer"/> <xs:element name="posicao_digito_4"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="12"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="posicao_digito_3"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="12"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="posicao_digito_2"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="12"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="posicao_digito_1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="12"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="nome" type="xs:string"/> <xs:element name="municipio" type="xs:string"/> <xs:element name="linha_digitavel"> <xs:complexType> <xs:sequence> <xs:element ref="posicao_digito_1"/>
12
<xs:element ref="posicao_digito_2"/> <xs:element ref="posicao_digito_3"/> <xs:element ref="posicao_digito_4"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="fecom" type="xs:decimal"/> <xs:element name="endereco" type="xs:string"/> <xs:element name="emolumentos" type="xs:decimal"/> <xs:element name="emissor" type="xs:integer"/> <xs:element name="documento" type="xs:string"/> <xs:element name="destino" type="xs:integer"/> <xs:element name="def_publica" type="xs:decimal"/> <xs:element name="data_validade" type="xs:date"/> <xs:element name="data_emissao" type="xs:date"/> <xs:element name="dajes"> <xs:annotation> <xs:documentation>Raiz da Emissão do Daje</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element ref="daje" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="daje"> <xs:complexType> <xs:sequence> <xs:element ref="dados_daje"/> <xs:element ref="contribuinte"/> <xs:element ref="valores"/> <xs:element name="boleto_intimacao" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="boleto_data_emissao" type="xs:date"/> <xs:element name="boleto_data_vencimento" type="xs:date"/> <xs:element name="boleto_posicao_1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="5"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="boleto_posicao_2"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="5"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="boleto_posicao_3"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="5"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="boleto_posicao_4"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="6"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="boleto_posicao_5"> <xs:simpleType>
13
<xs:restriction base="xs:string"> <xs:length value="5"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="boleto_posicao_6"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="6"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="boleto_digito"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="1"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="boleto_posicao_7"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="14"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="boleto_valor" type="xs:decimal"/> <xs:element name="base64_boleto" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="tipo" type="xs:string" use="required"/> <xs:attribute name="codigo_banco" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="comarca" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="7"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="codigo_cartorio_cra" use="required"/> </xs:complexType> </xs:element> <xs:element name="dados_daje"> <xs:complexType> <xs:sequence> <xs:element name="daje_numero"/> <xs:element name="daje_serie" type="xs:integer"/> <xs:element ref="emissor"/> <xs:element ref="destino"/> <xs:element ref="codigo_ato"/> <xs:element ref="quantidade_atos"/> <xs:element ref="data_emissao"/> <xs:element ref="data_validade"/> <xs:element ref="tipo_natureza"/> <xs:element name="base64_daje" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
14
<xs:element name="contribuinte"> <xs:complexType> <xs:sequence> <xs:element ref="nome"/> <xs:element ref="endereco"/> <xs:element ref="municipio"/> <xs:element ref="documento"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="codigo_ato" type="xs:integer"/> </xs:schema>
3.1. TIPAGEM DOS ELEMENTOS E ATRIBUTOS
Abaixo, tabela com a tipagem de cada atributo e elemento especificado no
XML, definidos no XSD:
Item Tipo Tipagem
tipo Atributo xs:string
codigo_banco Atributo xs:string (3 posições)
comarca Atributo xs:string (7 posições)
codigo_cartorio_cra Atributo xs:string
daje_numero Elemento xs:integer
daje_serie Elemento xs:integer
emissor Elemento xs:integer
destino Elemento xs:integer
codigo_ato Elemento xs:integer
quantidade_atos Elemento xs:integer
data_emissao Elemento xs:date
data_validade Elemento xs:date
tipo_natureza Elemento xs:string
base64_daje Elemento xs:string
nome Elemento xs:string
endereco Elemento xs:string
municipio Elemento xs:string
documento Elemento xs:string
15
valor_ato_praticado Elemento xs:decimal
valor_daje Elemento xs:decimal
emolumentos Elemento xs:decimal
taxa_fiscal Elemento xs:decimal
fecom Elemento xs:decimal
def_publica Elemento xs:decimal
posicao_digito_1 Elemento xs:string (12 posições)
posicao_digito_2 Elemento xs:string (12 posições)
posicao_digito_3 Elemento xs:string (12 posições)
posicao_digito_4 Elemento xs:string (12 posições)
boleto_data_emissao Elemento xs:date
boleto_data_vencimento Elemento xs:date
boleto_posicao_1 Elemento xs:string (5 posições)
boleto_posicao_2 Elemento xs:string (5 posições)
boleto_posicao_3 Elemento xs:string (5 posições)
boleto_posicao_4 Elemento xs:string (6 posições)
boleto_posicao_5 Elemento xs:string (5 posições)
boleto_posicao_6 Elemento xs:string (6 posições)
boleto_digito Elemento xs:string (1 posição)
boleto_posicao_7 Elemento xs:string (14 posições)
boleto_valor Elemento xs:decimal
base64_boleto Elemento xs:string Tabela 7 - Tipagem dos Elementos e Atributos
16
4. MODELO DO XML
O modelo de documento XML, pode ser visualizado abaixo:
<?xml version="1.0" encoding="UTF-8"?> <dajes> <daje comarca="2903201" codigo_cartorio_cra="1" tipo="apontamento" codigo_banco="237"> <dados_daje> <daje_numero>15</daje_numero> <daje_serie>15</daje_serie> <emissor>15</emissor> <destino>15</destino> <codigo_ato>16039</codigo_ato> <quantidade_atos>10</quantidade_atos> <data_emissao>2013-01-09</data_emissao> <data_validade>2013-01-15</data_validade> <tipo_natureza>NATUREZA</tipo_natureza> <base64_daje>JVBEEgMCBvYmoNCjw8IA0KL... ... ...</base64_daje> </dados_daje> <contribuinte> <nome>FLAVIO GIOVANNI</nome> <endereco>RUA DAS DORES</endereco> <municipio>5</municipio> <documento>27206038808</documento> </contribuinte> <valores> <valor_ato_praticado>122.0</valor_ato_praticado> <valor_daje>122.0</valor_daje> <emolumentos>122.0</emolumentos> <taxa_fiscal>122.0</taxa_fiscal> <fecom>122.0</fecom> <def_publica>122.0</def_publica> <linha_digitavel> <posicao_digito_1>123456789012</posicao_digito_1> <posicao_digito_2>123456789012</posicao_digito_2> <posicao_digito_3>123456789012</posicao_digito_3> <posicao_digito_4>123456789012</posicao_digito_4> </linha_digitavel> </valores> <boleto_intimacao> <boleto_data_emissao>2012-12-18</boleto_data_emissao> <boleto_data_vencimento>2012-12-18</boleto_data_vencimento> <boleto_posicao_1>12345</boleto_posicao_1> <boleto_posicao_2>12345</boleto_posicao_2> <boleto_posicao_3>12345</boleto_posicao_3> <boleto_posicao_4>123456</boleto_posicao_4> <boleto_posicao_5>12345</boleto_posicao_5> <boleto_posicao_6>123456</boleto_posicao_6> <boleto_digito>1</boleto_digito> <boleto_posicao_7>12345678901234</boleto_posicao_7> <boleto_valor>12.5</boleto_valor> <base64_boleto>JVBERi0xLjMNNCjw8IA0... ... ...</base64_boleto> </boleto_intimacao> </daje> </dajes>
top related