A exportação de XML de um lote de CT-e é feita de forma assíncrona e envolve a utilização de três métodos, o ExportarXMLCTeV2, ConsultarProtocoloExportaCTe e DownloadLoteXMLCTe. O primeiro método retorna um token que deve ser consultado pelo cliente usando o segundo método, o qual ou retornará um JSON de resposta ou salvará o arquivo de retorno no local especificado. O segundo permite consultar o status da exportação e o terceiro, no caso da exportação estar concluída, salvar o retorno no caminho especificado. Seguem abaixo os detalhes dos métodos e seus retornos.
Detalhes ExportarXMLCTeV2
Função: Solicita a exportação de lote de CT-e de acordo com os parâmetros de filtro.
Classe: TspdCTeClientX
Método: ExportarXMLCTeV2
Tipo Retorno: String
Parâmetros aceitos:
Nome | Tipo | Obrigatório | Valor |
aDtInicial | Texto | Sim |
Data inicial do período das notas a serem exportadas. Formatos aceitos: DD/MM/YYYY YYYY-MM-DD |
aDtFinal | Texto | Sim |
Data final do período das notas a serem exportadas. Formatos aceitos: DD/MM/YYYY YYYY-MM-DD |
aTipo | Boolean | Sim |
Tipo da data que será utilizada para filtrar as notas para exportação. Valores aceitos: EMISSAO AUTORIZACAO CANCELAMENTO |
aSerie | Texto | Não |
Série |
aNInicial | Texto | Não |
Número inicial da faixa de notas a serem exportadas. |
aNFinal | Texto | Não |
Número final da faixa de notas a serem exportadas. |
Delphi
procedure TfrmExemplo.btnExportarXmlCTeV2Click(Sender: TObject);
var
_Retorno: String;
_Chave: string;
begin
//Esse método exporta um lote de conhecimentos através do Componente Manager Client
_Retorno := CTe.ExportarXMLCTeV2('2019-01-01','2019-01-31', False,'1','','');
//Exibe o retorno no memo
memoRetorno.Clear;
memoRetorno.Lines.Add(_Retorno)
end;
C#
private void btnExportarXmlCTeV2_Click(object sender, EventArgs e)
{
var Retorno = "";
//Esse método exporta a CTe através do Componente Manager Client
Retorno = CTe.ExportarXMLCTeV2("2019-01-01","2019-01-31", False,"1","","");
memoRetorno.Text = Retorno;
}
Visual Basic 6
Private Sub btnExportarXmlCTeV2_Click()
Dim Retorno As String
'Esse método exporta a CTe através do Componente Manager Client
Set Retorno = CTe.ExportarXMLCTeV2("2019-01-01","2019-01-31", False,"1","","")
'Exibe o retorno do memo
'Extrair o token desse retorno para usá-lo no método ConsultarProtocoloExportaCTe
memoRetorno.Text = Retorno + vbCrLf
End Sub
Retorno
O retorno será uma String na forma de um JSON:
{"mensagem":"Nota(as) em processamento","protocolo":"7d86a5ce-e25b-4696-84c5-e73bd7370719"}
Detalhes ConsultarProtocoloExportaCTe
Função: Solicita a exportação de lote de CT-e de acordo com os parâmetros de filtro.
Classe: TspdCTeClientX
Método: ConsultarProtocoloExportaV2
Tipo Retorno: String
Parâmetros aceitos:
Nome | Tipo | Obrigatório | Valor |
aToken | Texto | Sim |
Token obtido pelo método ExportarXMLCTeV2 |
Delphi
procedure TfrmExemplo.btnConsultarProtocoloExportaCTeClick(Sender: TObject);
var
_Retorno: string;
_Chave: string;
begin
//Esse método consulta o status da exportação solicitada com o método ExportarXMLCTeV2
_Retorno := CTe.ConsultarProtocoloExportaCTe('99999999-e25b-4696-84c5-e73bd7370719');
//Exibe o retorno no memo
memoRetorno.Clear;
memoRetorno.Lines.Add(_Retorno)
end;
C#
private void btnConsultarProtocoloExportaCTe_Click(object sender, EventArgs e)
{
//Esse método consulta o status da exportação solicitada com o método ExportarXMLCTeV2
Retorno = CTe.ConsultarProtocoloExportaCTe("99999999-e25b-4696-84c5-e73bd7370719");
//Exibe o retorno do memo
memoRetorno.Text = Retorno;
}
Visual Basic 6
Private Sub btnExportarXmlCTeV2_Click()
' Esse método consulta o status da exportação solicitada com o método ExportarXMLCTeV2
Set Retorno = CTe.ConsultarProtocoloExportaCTe('99999999-e25b-4696-84c5-e73bd7370719')
'Exibe o retorno do memo
memoRetorno.Text = Retorno + vbCrLf
End Sub
Retorno
O retorno será uma String na forma de um JSON.
Exportação em processamento:
{"mensagem":"Já existe uma exportação em processamento, aguarde a conclusão para solicitar uma nova.","protocolo":"99999999-e25b-4696-84c5-e73bd7370719","filtros":{},"xmls":{"situacao":"PROCESSANDO"}}
Exportação concluída:
{"mensagem":"Operação concluída, utilize a URL para baixar seus arquivos.","protocolo":"99999999-e25b-4696-84c5-e73bd7370719","filtros":{"dataInicial":"2022-10-26","dataFinal":"2022-10-26"},"xmls":{"situacao":"CONCLUIDO","url":"https://managersaas.tecnospeed.com.br:8081/api/v2/cte/exporta/99999999-e25b-4696-84c5-e73bd7370719/xml"}}
Tempo limite excedido:
{"mensagem":"Timeout de 40m0s excedido para exportação","protocolo":"99999999-e25b-4696-84c5-e73bd7370719"}
Token não encontrado:
{"mensagem":"Nenhum registro encontrado.","protocolo":"99999999-e25b-4696-84c5-e73bd7370719"}
Detalhes DownloadLoteXMLCTe
Função: Solicita a exportação de lote de CT-e de acordo com os parâmetros de filtro.
Classe: TspdCTeClientX
Método: ConsultarProtocoloExportaV2
Tipo Retorno: String
Parâmetros aceitos:
Nome | Tipo | Obrigatório | Valor |
aToken | Texto | Sim |
Token obtido pelo método ExportarXMLCTeV2 |
Delphi
procedure TfrmExemplo.btnDownloadLoteXMLCTeClick(Sender: TObject);
var
_Retorno: string;
_Chave: string;
begin
// Esse método baixa o lote exportado pelo método ExportarXMLCTeV2
_Retorno := CTe.DownloadLoteXMLCTe('99999999-e25b-4696-84c5-e73bd7370719');
//Exibe o retorno no memo
memoRetorno.Clear;
memoRetorno.Lines.Add(_Retorno)
end;
C#
private void btnExportarXmlCTeV2_Click(object sender, EventArgs e)
{
// Esse método baixa o lote exportado pelo método ExportarXMLCTeV2
Retorno = CTe.DownloadLoteXMLCTe("99999999-e25b-4696-84c5-e73bd7370719");
//Exibe o retorno do memo
memoRetorno.Text = Retorno;
}
Visual Basic 6
Private Sub btnExportarXmlCTeV2_Click()
' Esse método baixa o lote exportado pelo método ExportarXMLCTeV2
Set Retorno = CTe.DownloadLoteXMLCTe("99999999-e25b-4696-84c5-e73bd7370719")
'Exibe o retorno do memo
memoRetorno.Text = Retorno
End Sub
Retorno
A função retorna "OK" caso não ocorra exceção e salva o retorno (qualquer que seja) no diretório solicitado.
Comentários
0 comentário
Por favor, entre para comentar.