Olá desenvolvedor! Neste artigo você verá como funciona o CTe API em 3 passos.
Você sabe como acontece a comunicação com as APIs? Veja como funciona o CTe API.
As APIs oferecem uma forma de comunicação que não depende de uma linguagem específica para utilizá-la, basta através de sua linguagem de programação realizar a comunicação acessando as URLs fornecidas para acesso a API. Outro fator importante é saber a regra de negócio para realizar essa comunicação, deixando mais claro o tratamento de exceções e o processo de emissão.
Sabendo disso, o processo de Autorização do CTe API possui 3 passos para facilitar a comunicação de qualquer linguagem que nossos parceiros possam utilizar, sendo eles o envio dos dados, consulta do status do processamento e download do documento.
Confira nosso fluxograma CTe API:

Passo 1
Neste primeiro passo, como pode ser visto no fluxograma, são enviados os dados como o token, o content-type e conteúdo do CTe, então a API retornará o código 200 que indicará se a emissão ocorreu corretamente ou outro código (diferente de 200), caso haja algum erro. Se não houver erro na emissão, retornará junto o nsNRec.
É importante guardar o nsNRec, pois ele é um registro único em nosso servidor usado para identificar o documento enviado.
Exemplo Retorno com Sucesso:
{
“status”: 200,
“motivo”: “CT-e enviado para Sefaz”,
“chCTe”: “43171007364617000135570000000000581000000584”,
“nsNRec”: “2884390”
}
Exemplo de Retorno com Rejeição:
{ "status": -4, "motivo": "Modal invalido de acordo com a validacao contra schema", "erros": [ "cvc-pattern-valid: Value '1111111111' is not facet-valid with respect to pattern '[0-9]{11}' for type 'TCpf'." ]}Passo 2
Exemplo Retorno com Sucesso:
{
“status”: 200,
“motivo”: “Consulta realizada com sucesso”,
“chCTe”: “43171007364617000135570000000000581000000584”,
“cStat”: “100”,
“xMotivo”: “Autorizado o uso do CT-e”,
“nProt”: “143170000866599”,
“dhRecbto”: “2017-11-01T16:33:40-02:00”,
"xml": "<?xml version=\"1.0\" encoding=\"utf-8\"?><nfeProc versao=\"3.10\" xmlns=\"http://www.portalfiscal.inf.br/nfe\"><NFe>...</NFe><protNFe versao=\"3.10\">...</protNFe></nfeProc>"
}{ "status": -2, "motivo": "Nao foi possivel carregar o status da NF-e", "erro": { "cStat": 0, "xMotivo": "Documento não localizado em nosso banco de dados" }}Se o retorno da requisição da consulta do status for diferente de 200, é porque aconteceu alguma rejeição no CTe, neste caso é necessário ler a tag “erro” e salvar as informações das tags “cStat” e “xMotivo”, para poder exibir a rejeição e ajustar o erro que retornou.
Então, o processo de emissão pode ser encerrado por aqui, pois o CTe não foi autorizado e não será possível realizar o download do pdf. Após ajustar os dados do CTe, é necessário reenviar os dados, começando do passo 1.
Passo 3
Se após a consulta for confirmada a autorização do CTe, pode-se seguir para o terceiro passo onde será possível baixar os arquivos XML, JSON e PDF . Para download é necessário enviar o token, a chave do CTe, o tipo de ambiente e o tipo de download (X para XML, P para PDF, J para JSON ou XPJ para ambos) e a API retornará o XML do arquivo e a base64 do arquivo PDF.
Exemplo Retorno com Sucesso:
{
“status”: 200,
“motivo”: “Consulta realizada com sucesso”,
“chCTe”: “43171007364617000135570000000000581000000584”,
"xml": "<?xml version=\"1.0\" encoding=\"utf-8\"?><nfeProc versao=\"3.10\" xmlns=\"http://www.portalfiscal.inf.br/nfe\"><NFe>...</NFe><protNFe versao=\"3.10\">...</protNFe></nfeProc>", "pdf: "JVBERi0xLjQKJeLjz..."}Exemplo de Retorno com Rejeição:
{
“status”: -500,
“motivo”: “javax.imageio.IIOException: Error reading PNG image data”
}
Este material foi criado com a intenção de ajudar você parceiro a integrar com nossa API de forma mais intuitiva e segura, tratando todos os possíveis erros inesperados.
Estes 3 passos podem ser realizados de maneira automatizada, onde será necessário apenas um clique no botão de enviar dados pelo seu sistema, e o documento autorizado será exibido na tela para o seu cliente, caso seja Autorizado. Em nossos exemplos temos o código pronto em diversas linguagens que poderá lhe auxiliar na integração.
Com a API o processo de emissão ficou muito mais rápido e prático, dispensando a necessidade de instalar outros programas ou utilizar recursos de hardware e software do computador, sem falar de outros recursos e benefícios que a API proporciona.
Quer saber mais sobre API? Confira os benefícios do uso de API em seus Documentos Fiscais Eletrônicos
PS: Venha fazer parte de um time de empreendedores que tem feito diferença no mercado com a inovação e agilidade que nossos produtos trazem para junto de sua empresa.
Gostou do Post? Caso você não conheça nossa API entre em contato conosco!
Pingback: Placas Mercosul: confira as alterações para os DFes
Pingback: Protocolo TLS 1.2 no CTe: Passo a Passo para Resolver os Problemas
Pingback: Layout de Emissão do CTe e CTe OS Apresenta Novos Campos