L2 SOLUÇÕES TECNOLÓGICAS LTDA
Site: HTTP://www.l2maker.com.br/
Documentação: http://www.l2maker.com.br/documentacao/api-boleto-bancario/
E-mail: contato@l2s.com.br
Skype: l2s.com.br

= API DE BOLETO BANCÁRIO =


== INSTALAÇÃO ==
	==> Dependências
		As APIs da L2 dependem de sua biblioteca base (l2s-core.jar). Antes de 
		instalar qualquer API é necessário baixar e instalar a versão mais 
		recente dessa biblioteca.
		
	==> Maker 2.x ou 3.x
		1) Acesso o sistema onde deseja adicionar as funções de Boleto;
		2) Feche o editor de fluxos, e o cadastro de funções se estiverem abertos;
		3) Importe o arquivo 'l2s-api-boletos-v*.frz';
		4) Abra o edito de fluxos e procure pela nova categoria 'L2S - Boletos bancários';
		6) Pronto! Basta instalar no Webrun e usar a nova função.
	
	==> Webrun 2.x ou 3.x
		1) Copie o conteúdo da pasta Maker.Commons para a pasta 
			[WEBRUN]\systems\Maker.Commons (crie-a se não existir);
		2) Reinicie o Tomcat do Webrun;
		3) Acesse o sistema (1a vez);
		4) Reinicie novamente o Tomcat do Webrun;
		5) Acesse o sistema novamente;
		6) Pronto! As bibliotecas estão instaladas.

	NOTA 1: A pasta '[WEBRUN]' normalmente está locaizada dentro da pasta 
		'Arquivos de Programas' do Windows e pode variar ligeiramente de acordo 
		com a versão do seu sistema operacional, e a versão do Webrun instalado. 
		Exemplos:
		* C:\Program Files (x86)\Softwell Solutions\Maker 3.6\Webrun 3.6
		* C:\Program Files (x86)\Softwell Solutions\Maker 2.7\Webrun 2
	NOTA 2: Sempre que atualizar ou republicar o Webrun será necessário 
		reiniciar o Webrun uma vez para que as bibliotecas sejam carregadas.
	NOTA 3: Quando publicar seu sistem com JAR certifique-se de levar junto a 
		pasta 'Maker.Commons'.

== MODELOS DE IMPRESSÃO ==
	* M1 - Um boleto por página com Recido;
	* M2 - Dois boletos por página (Sem recibo);

== VERSÃO DE AVALIAÇÃO ==
A versão de avaliação apresenta uma ou mais das seguintes limitações:
	* Boleto de até R$ 10,00;
	* Impressão de mensagem no fundo;
	* Impressão de instruções adicionais para não recebimento.

== USO DA FUNÇÃO ==

	==> PARÂMETROS PARA GERAÇÃO DE BOLETOS

	  > Dados do pagador (sacado / cliente)
		* PAGADOR_NOME - Nome do cliente/sacado (Letras);
		* PAGADOR_DOCUMENTO - CPF ou CNPJ(Letras);

		* PAGADOR_LOGRADOURO - Av. Luis Viana, 6462(Letras);
		* PAGADOR_BAIRRO - Paralela (Letras);
		* PAGADOR_MUNICIPIO - Ex: Salvador(Letras);
		* PAGADOR_UF - Ex: BA(Letras);
		* PAGADOR_CEP - 00000-000(Letras);


	  > Dados do beneficiário (cedente / cobrador)
		* BENEFICIARIO_NOME - EMPRESA DEMONSTRACAO
		* BENEFICIARIO_DOCUMENTO - CPF ou CNPJ (Letras);
		* BENEFICIARIO_LOGRADOURO - Ex: Av Luis Viana (Letras);
		* BENEFICIARIO_BAIRRO - Ex: CENTRO (Letras);
		* BENEFICIARIO_CEP - Ex: 44.640-000 (Letras);
		* BENEFICIARIO_UF - Ex: BA (Letras);
		* BENEFICIARIO_MUNICIPIO - Ex: Salvador (Letras);
		* BENEFICIARIO_EMAIL - (Letras);
		* BENEFICIARIO_COD_CLIENTE - Ver. documentação do banco se 
			necessário (Santander) (Letras);
		* BENEFICIARIO_LOGOMARCA - Caminho do arquivo de imagem JPEG ou PNG (Letras);
		* BENEFICIARIO_TELEFONE - (Letras);

	  > Dados da carteira
		* BANCO - Código do banco na FEBRABAN (Ex: "033" - Santander);
		* CARTEIRA - Código da carteira usada no calculo Ex: "006" (Letras);
			 - Caixa usar SICOB ou SIGCB: 14 ou 24
		* CARTEIRA_MODALIDADE: Carteira como será impressa no boleto (visual apenas);
		* AGENCIA_NUMERO - (Letras);
		* AGENCIA_DV - (Letras);
		* CONTA_CORRENTE_NUMERO - (Letras);
		* CONTA_CORRENTE_DV - (Letras);
		* NUMERO_CONTRATO - (Letras);
		* NUMERO_CONTRATO_DV - (Letras);
		* NUMERO_CONVENIO - (Letras);
		* IOS - Ex: "000" (Usado pelo Santander) (Letras);

	  > Dados do documento que gerou a cobrança
		* DOCUMENTO_ACEITE - "S" ou "N" (Letras);
		* DOCUMENTO_DATA - Data do documento gerador do boleto 
			(Ex: "22/05/2015") (Data);
		* DOCUMENTO_DESCRICAO - (Letras);
		* DOCUMENTO_ESPECIE - "DS", "DM" (Letras);
		* DOCUMENTO_NUMERO - (Letras);

	  > Dados do boleto
		* NOSSO_NUMERO - Número único do boleto (Letras);
		* VALOR_BOLETO - Valor do boleto, valor a ser cobrado (Numérico);
		* DATA_VENCIMENTO" - (EX: "30/06/2015") (Data);
		* DATA_PROCESSAMENTO - (Ex: "23/06/2015") (Data);
		* MOEDA - (Padrão "R$")(Letras);
		* INSTRUCOES - Instruções ao agente bancário (Caixa)(Letras);
		* LOCAL_PAGAMENTO1 - Primeira inicial do local de pagamento (Letras);
		* LOCAL_PAGAMENTO2 - Segunda linha do local de pagamento (Letras);
		
		* NOSSO_NUMERO_DV - Opcional, não informar e a API calcula 
			automaticamente, ou informe para forçar um valor (Letras).
		
	  > OBSERVAÇÕES
		* Nem todos os parâmetros são obrigatórios;
		* Nem todos os dados são impressos nos boletos, de acordo com o modelo
		  de impressão selecionado;
		* Cada instituição financeira requer parâmetros diferentes, vide 
		documentação do banco e da carteira para maiores detalhes.

	==> PARÂMETROS DE RETORNO
	A função retorna uma lista de mapas (Variante), cada mapa corresponde a um
		boleto, com os seguintes dados:
		* CODIGO_BARRAS - Código de barras do boleto (Letras);
		* LINHA_DIGITAVEL - Linha digitável (parte superior) completa do boleto(Letras);
		* CAMPO_LIVRE - Campo com os dados específicos do banco / carteira(Letras);
		* NOSSO_NUMERO_COMPLETO - Como impresso no boleto (Letras);
		* NOSSO_NUMERO - Código único que identifica o boleto (Letras);
		* NOSSO_NUMERO_DV - Dígito verificar do nosso número do boleto (Letras);
		
	Utilize as funções de lista ('Tamanho da Lista', 'Obter Objeto da Lista', 
	..) e Mapeamento ('Obter Elemento', ...) para ler os dados de retorno.

== FIM ==