Para a integração com o módulo de Módulo de Pronta Entrega é necessário que o ERP disponibilize um EndPoint (Webservice) que será acionado pelo Demander. OBS: Esse endpoint será utilizado nas configurações de cada empresa.
Método POST
O ERP deve fornecer um endpoint que aceite requisições POST.
O Demander vai enviar no Body um JSON conforme figura abaixo.
Exemplo:
{
"arquivo":[
"16|4556984|405731|1|1|||43|95.207.429\/0001-60|1|5000122||405731|||2019-03-26 13:47:06|4.10|0.00|1|||||||1||5000122|||4|0.00|4.10|0|0.00|0.00|0||R$|0.00|0.00|0.00||0.00||||||0||0.00|0.00|||3268530|0|0|0||||",
"17|73821209|59439|405731|0|0|4.10|4.1|4.1|1|4556984||0.00|0.00|4.10|4.1|0.00|4.10|4.1|0.00|0.00|0.00|4.1|0||0.00000|0.00|||0|4.1|0.00|0.00|0|0|0|0.00||"
]
}
Perceba que é uma relação de linhas com o mesmo leiaute do arquivo texto que enviamos ao ERP pela integração normal.
Usando a aplicação https://jsonformatter.curiousconcept.com/ podemos ver melhor o que é enviado ao ERP:
Neste exemplo não tem o registro de cliente, mas ele pode estar junto, pois pode ser um cliente novo.
Dica: O ERP deve pegar este JSON, jogar todas as linhas em um arquivo texto e proceder com o mesmo processo de importação que existe atualmente no ERP, para não ter mais uma forma de importar dados.
Importante: O webservice deve estar preparado para receber mais de uma vez a mesma requisição do Demander, ou seja deve ser feito tratamento para não emitir duas vezes a mesma nota fiscal, ou seja se o Demander enviar novamente um pedido que já foi recebido pelo ERP ele deve retornar o JSON de retorno novamente.
Autenticação
A validação da autenticação do lado do ERP é opcional.
Dica: No caso de um ERP online, a autenticação pode ser utilizada para diferenciar a empresa.
Quando utilizada a autenticação, ela deve ser do tipo "Basic Auth", conforme exemplo abaixo:
Retorno esperado pelo Demander
Abaixo é apresentado o layout JSON de retorno esperado pelo Demander.
Este retorno é esperado no body da response.
Abaixo é dada uma explicação para cada um dos atributos do JSON acima:
retorno:
Se NFOK, o demander entende que a requisição foi processada e vai proceder com a impressão do Boleto, Nfe e Documento Auxiliar.
Qualquer informação diferente de NFOK é exibida como texto no Demander Android.
xmlboleto:
Neste atributo pode ser enviado um XML com as informações dos boletos gerados. (veja o layout abaixo).
Esse atributo é opcional, , se não for enviado o Demander não vai imprimir boletos.
<?xml version="1.0" encoding="UTF-8"?>
<boleto>
<banco_dv>748-X</banco_dv>
<cod_boleto>74891.11729 00016.401564 03340.091085 4 70840000056261</cod_boleto>
<local_pagador>PAGAVEL PREFERENCIALMENTE NAS COOPERATIVAS DE CREDITO SICREDI</local_pagador>
<vencimento>28/02/2017</vencimento>
<cedente_nome>RETTA TECNOLOGIA DA INFORMAÇÃO LTDA</cedente_nome>
<cedente_cnpj>07.676.543/0001-72</cedente_cnpj>
<cedente_endereco>RUA AVELINO TALLINI, 171 LAJEADO-RS</cedente_endereco>
<codigo_agencia>01179.03.91561</codigo_agencia>
<doc_data>07/02/2017</doc_data>
<doc_numero>001000388490101</doc_numero>
<doc_especie>A</doc_especie>
<doc_valor>R$ 562,61</doc_valor>
<doc_referencia>01.00038849.001</doc_referencia>
<aceite>N</aceite>
<proc_data>07/02/2017</proc_data>
<nosso_numero>17/200016-4</nosso_numero>
<uso_banco />
<carteira>CR</carteira>
<especie>R$</especie>
<quantidade />
<valor />
<instrucoes_titulo>Instru\u00E7\u00F5es (Texto de responsabilidade do benefici\u00E1rio)</instrucoes_titulo>
<instrucoes>DOCUMENTO: 001.090.15.001PROTESTAR AUTOMATICAMENTE 3 DIAS AP\u00D3S O VENCIMENTOPROTESTAR 3 DIAS APOS O VENCIMENTO.JUROS DE 0,12% AO DIA.</instrucoes>
<desconto_destacado />
<outras_deducoes />
<mora_multa />
<outros_acrescimos />
<valor_cobrado />
<pagador_nome>DIEGO TIEMANN</pagador_nome>
<pagador_endereco>0LAJEADO / RS 96020-000</pagador_endereco>
<pagador_cnpjcpf>012.121.323-34</pagador_cnpjcpf>
<pagador_codigo>008754-8</pagador_codigo>
<pagador_telefone />
<pagador_avalista />
<codigo_baixa />
<titulo_desconto_abatimento>(-) Desconto / Abatimento</titulo_desconto_abatimento>
<titulo_outras_deducoes>(-) Outras dedu\u00E7\u00F5es</titulo_outras_deducoes>
<titulo_especie>Esp\u00E9cie</titulo_especie>
<titulo_qtd>Quantidade</titulo_qtd>
<recebido_de />
<confirmacao_numero />
<confirmacao_serie>S\u00E9rie: NFe AM</confirmacao_serie>
<observacoes />
<codigo_barras>74894708400000562611117200016401560334009108</codigo_barras>
</boleto>
xmlnfe:
Neste atributo pode ser enviado o XML da Nf-e gerada.
Esse atributo é opcional, se não for enviado o Demander não vai imprimir a Danfe.
DOCUMENTO_AUXILIAR:
Neste atributo pode ser enviado um XML com as informações para impressão do Documento Auxiliar.
Esse atributo é opcional, , se não for enviado o Demander não vai imprimir.
Cada tag <LINHA></LINHA> vai imprimir uma linha com o conteúdo da TAG.
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENTO_AUXILIAR>
<LINHA>NF: 000795</LINHA>
<LINHA>Data emiss\u00E3o: 07/03/2017</LINHA>
<LINHA>Cliente: DIEGO TIEMANN</LINHA>
<LINHA />
<LINHA>Cod item Descri\u00E7\u00E3o Quantidade Vl. l\u00EDq unit</LINHA>
<LINHA>-------------------------------------------------------------------------------------</LINHA>
<LINHA>000038-8 ERVA MATE TR.LAM.6X1KG* 6,00 8,00</LINHA>
<LINHA>000089-2 ERVA MATE M.GRO.LAM.6X1KG* 6,00 8,00</LINHA>
<LINHA>002770-7 ERVA MATE PREMIUM VACUO 10X1 10,00 8,00</LINHA>
<LINHA>002774-0 ERVA MATE COMPOSTO 12x500GR* 6,00 5,20</LINHA>
<LINHA>003390-1 ERVA MATE TRAD 6X1KG* 156,00 6,00</LINHA>
<LINHA>402403-6 ERVA MATE M.G 12X500GR LAM 20,00 4,10</LINHA>
<LINHA />
<LINHA>Valor total dos produtos: 1.225,20</LINHA>
<LINHA>N do pedido: 00500006</LINHA>
<LINHA>Opera\u00E7\u00E3o: VENDA A VISTA</LINHA>
<LINHA>Forma pagamento da conta: CHEQUE-PR\u00C9</LINHA>
<LINHA>Vencimentos: 08/03/2017 1.225,20</LINHA>
<LINHA />
<LINHA>____________________________________</LINHA>
</DOCUMENTO_AUXILIAR>
codclientezada:
Aqui deve ser retornado o código do cliente gerado no ERP.