Manual de integração com o webservice
Portais Disponíveis
- Produção
Métodos Disponíveis
- Envio.
- Assíncrono.
- Consulta de Lote RPS.
- Consulta de NFSe.
- Cancelamento de NFSe
Observações
- Para a autenticação, no lugar da inscrição municipal, é necessário colocar o Código Mobiliário disponível no portal da prefeitura.
- Para o cancelamento ou consulta, é necessário informar o parâmetro extra lote (referente ao número do lote que está tentando cancelar), além do login e senha.
Exemplo: Lote=1;Login=123456789;Senha=12345 - Apesar de aceitar envio em lote, é recomendado que não faça esse envio pelo componente, visto que o WS processa o lote todo, mas devolve apenas a primeira nota.
- A cada nota autorizada, deve-se incrementar a numeração do RPS e do lote. Caso o mesmo lote seja enviado mais de uma vez, o WS considera como sucesso e devolve como protocolo o número do lote enviado (dando a falsa impressão que a nota foi autorizada ou aceita).
- Acentuação causa problemas, o servidor não reconhece como uma requisição válida, sendo assim recomendamos que configure o componente ou eDoc para que remova os mesmos do XML.
- O padrão aceita envio de múltiplos serviços, exemplo de integração em anexo.
- É necessário preencher o horário da nota no campo DATAEMISSAO, por exemplo: DataEmissao=2022-04-25 12:12:12
Geração do XML - Campos Importantes
- Padrão não utiliza o campo ItemListaServico. No TecnoNFSe, mesmo informando, o mesmo será desconsiderado na geração. Isso também se aplica ao campo CodigoTributacaoMunicipio.
- O campo CodigoCnae é o único utilizado para gerar alguma informação e o mesmo poucas vezes segue a lista nacional. Para verificar o valor que deve ser informado nesse campo, consulte os dados do prestador no portal. Exemplo de CodigoCnae - C2-6203100
- O valor do campo CodigoTributacaoMunicipio do TX2 de envio é referente ao campo CNAE do XML de da nota da prefeitura
Campos customizados para a impressão
Impressão do RPS
- NOMEFANTASIAPRESTADOR=String[80]
- RAZAOSOCIALPRESTADOR=String[80]
- INSCRICAOESTADUALPRESTADOR=String[40]
- TELEFONEPRESTADOR=String[20]
- ENDERECOPRESTADOR=String[80]
- NUMEROENDERECOPRESTADOR=String[7]
- COMPLEMENTOENDERECOPRESTADOR=String[20]
- BAIRROPRESTADOR=String[40]
- CEPPRESTADOR=String[10]
- CODIGOMUNICIPIOPRESTADOR=String[10]
- UFPRESTADOR=String[2]
- EMAILPRESTADOR=String[80]
- PRESTCPFCNPJ=String[20]
- PRESTCODCONTRIB=String[20]
- PRESTNOMERAZAO=String[80]
- PRESTCODMOBILIARIO=String[20]
- PRESTLOGDESC=String[80]
- PRESTPREFIXODESC=String[20]
- PRESTBAIRRODESC=String[50]
- PRESTNUMERO=String[10]
- PRESTMUNICIPIODESC=String[50]
- PRESTTELEFONE=String[25]
- PRESTEMAIL=String[80]
- PRESTCEP=String[10]
- PRESTSUPERSIMP=String[10]
- TOMINSCRICAOMUN=String[20]
- TOMMUNICIPIOUF=String[2]
- TOMCODCONTRIB=String[20]
- TOMCODMOBILIARIO=String[20]
- VALORTOTALSERVICO=String[20]
- VALORTOTALDANOTA=String[20]
- VALORLIQUIDODANOTA=STRING[200]
- BASECALC=String[20]
- ATIVDESC=String[80]
- OPERACAO=String[80]
- MOTIVOCANCELAMENTO=String[80]
- DATACANCELAMENTO=String[10]
- OBSERVACAOCANCELAMENTO=String[120]
- OPERACAO=String[80]
- TOMINFCOMP=Strting[100]
- TOMTELEFONE=String[100]
- TOMEMAIL=String[80]
Impressão da NFSe
A impressão de NFSe pode ser feita por um link retornado no envio e na consulta. Para obter esse link, basta utilizar o comando auxiliar ObterLinkImpressaoNFSe ou pode ser feita através do comando ObterPDF onde o PDF da nota é baixado, conforme exemplo abaixo:
Parâmetros:
- Xml de uma NFSe Autorizada.
- Caminho completo e o nome do PDF.
Exemplo de implementação:
procedure TfrmExemplo.btnObterPDFClick(Sender: TObject);
var
_nomeComando, _nomeParametro, _valorParametro, _resposta: string;
_XmlNFSe : TStringList;
begin
_XmlNFSe := TStringList.Create;
try
_nomeComando := 'ObterPDF';
_XmlNFSe.LoadFromFile(XMLNFSE);
_nomeParametro := 'XML';
_valorParametro := _XmlNFSe.Text;
NFSe.Comando(_nomeComando).Parametros[_nomeParametro] := _valorParametro;
_nomeParametro := 'CaminhoCompletoArquivo';
_valorParametro := 'H:\ImpressaoISSONLINE.pdf';
NFSe.Comando(_nomeComando).Parametros[_nomeParametro] := _valorParametro;
_resposta := NFSe.Executar(_nomeComando);
finally
_XmlNFSe.Free;
end;
end;
Resposta:
'Impressão realizada na pasta: H:\ImpressaoISSONLINE.pdf'
* Observação: Há cidades do padrão, no qual não retorna o link de impressão e a impressão é realizada pela Tecnospeed, porém é necessário informar os campos customizados.
Impressão da NFSe
- PRESTTELEFONE=String[25]
- PRESTEMAIL=String[80]
- INSCRICAOESTADUALPRESTADOR=String[40]
- VALORTRIBUTOS=String[15]
- PORCENTAGEMTRIBUTOS=String[15]
- TOMCOMPLEMENTO=String[80]
- TOMINSCRICAOESTADUAL=String[20]
- VALORTOTALDANOTA=String[20]
- VALORLIQUIDODANOTA=String[20]
- OPERACAO=String[80]
- MOTIVOCANCELAMENTO=String[80]
- DATACANCELAMENTO=String[10]
- OBSERVACAOCANCELAMENTO=String[120]
- OPERACAO=String[80]
- TOMINFCOMP=Strting[100]
- TOMTELEFONE=String[100]
- TOMEMAIL=String[80]
Soluções Tecnospeed
- Componente NFSe: Release 8.7.48.X.
- Manager eDoc: Release 3.0.82.X
Comentários
0 comentário
Por favor, entre para comentar.