- 6. API da ANTT para emissão do CIOT
6.6. Retifica Operação de Transporte - 6.5. Cancela Operação de Transporte
« Anterior - 6.6.1. Gerar Retificação Operação de Transporte
Próximo »
6.6. Retifica Operação de Transporte
Sumário
Retifica Operação de Transporte
Assinatura
string ANTT_RetificaOpeTransp(int tpAmb, string nomeCertificado, string Retificacao, out int cStat, out string msgResultado, out string msgDados, out string DataRetificacao, out string Protocolo, out string Codigo, out string Mensagem)
Descrição:
O serviço é destinado para retificar uma determinada operação de transporte, caso a mesma tenha sido declarada com algum tipo de erro ou exista alguma mudança nos dados até a data limite para a retificação.
Dados da Retificação
Informar os dados da retificação em formato JSON conforme especificação técnica do Documento de Contrato de Serviço - Pagamento Eletrônico de Frete - Serviços PEF da ANTT.
O usuário pode gerar a retificação por conta própia ou pode utilizar a funcionalidade de geração da retificação disponibilizada pela DLL.
Prazos para retificação da operação de transporte
Para operações do tipo carga fracionada (tipoOperacao = 2), a retificação é permitida até o encerramento da operação de transporte.
Para operações do tipo TAC-Agregado (tipoOperacao = 3), a retificação é permitida em até 30 dias após a data de fim da viagem.
Parâmetros da chamada:
| nome | tipo | fluxo | descrição |
|---|---|---|---|
| ambiente | inteiro | entrada | informar o código do ambiente que deseja acessar: 1- produção ou 2-homologação |
| nomeCertificado | string | entrada | informar nome do titular do certificado a ser utilizado na autenticação com a API: 1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS". 2. informar: NUMEROSERIE|[número de série] quando não seja possível localizar o certificado digital pelo assunto; 3. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha". 4. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha". |
| Retificacao | string | entrada | informar os dados da Retificacao |
| cStat | inteiro | saída | retorna um código numérico devolvido pela API, exemplos de retorno: 200-[mensagem do WS] 400-Bad Request 401-Unauthorized 500-Internal Server Error, etc. |
| msgResultado | string | saída | retorna um texto com a resposta devolvida pela API |
| msgDados | string | saída | retorna a mensagem Json enviada para a API |
| DataRetificacao | string | saída | retorna a Data/Hora da Retificação da Operação de Transporte. |
| Protocolo | string | saída | retorna o Protocolo de sucesso no retificação |
| Codigo | string | saída | retorna o Código do erro ou sucesso no retorno da informação. |
| Mensagem | string | saída | retorna a mensagem do resultado da chamada da API |
Retorno da chamada:
O resultado da chamada da API ANTT_RetificaOpeTransp é a resposta JSON, exemplo:
{ "CodigoIdentificacaoOperacao": "5600001196023535", "DataRetificacao": "2026-04-29T12:20:42.524Z", "Codigo": "110", "Mensagem": "Dados inseridos com sucesso!", "Protocolo": "C98000000001004" }
Histórico de atualização:
- 2026-06-04 - versão inicial
Exemplo de JSON enviado para a API da ANTT
{ "CodigoIdentificacaoOperacao": "5600001196023434", "ValorFrete": "20000.00", "DataFimViagem": "2026-06-10", "OrigemDestino": [ { "Origem": { "CodigoMunicipioOrigem": "4115200", "CepOrigem": "87013230" }, "Destino": { "CodigoMunicipioDestino": "2304400", "CepDestino": "60874430" } } ], "DadosCarga": { "CodigoNaturezaCarga": "2202", "PesoCarga": "35000", "CodigoTipoCarga": "5" } }
Exemplo de JSON da Retificação realizada com sucesso
{ "CodigoIdentificacaoOperacao": "5600001196023535", "DataRetificacao": "2026-04-29T12:20:42.524Z", "Codigo": "110", "Mensagem": "Dados inseridos com sucesso!", "Protocolo": "C98000000001004" }
Exemplo de JSON da resposta de rejeição da Retificação
{ "CodigoIdentificacaoOperacao": "5600001196023434", "DataRetificacao": null, "Codigo": "251", "Mensagem": ["Rejeição: Operação de Transporte já está encerrada.","Rejeição: Não é permitido realizar retificação para operações do tipo carga lotação.","Rejeição: Não é permitido informar o campo DataFimViagem no serviço de retificação para operações do tipo carga lotação.","Rejeição: Não é permitido informar o campo OrigemDestino no serviço de retificação para operações do tipo carga lotação."], "Protocolo": "V98000000000001" }
Exemplo de JSON da resposta: "USUARIO_NAO_AUTORIZADO"
{ "error": "USUARIO_NAO_AUTORIZADO", "message": "Rejeição: O CPF/CNPJ do certificado digital não corresponde a nenhum transportador cadastrado no RNTRC", "timestamp": "2026-06-04T18:12:22.162285Z", "correlationId": "9b027733-5059-41de-8e87-380830663814", "path": "/pefServices/api/RetificacaoOperacaoTransporte/" }
Importante
O trecho do JSON foi formatado para uma melhor visualização, a mensagem original não tem formatação.
Exemplos de uso:
c#
// inicialização das variáveis utilizadas int tpAmb = 2; string nomeCertificado = "CN=FLEXDOCS INFORMATICA LTDA:10142785000190, OU=presencial, OU=20085105000106, OU=RFB e-CNPJ A1, OU=Secretaria da Receita Federal do Brasil - RFB, L=OURINHOS, S=SP, O=ICP-Brasil, C=BR"; // usar a funcionalidade ANTT_Declaracao para gerar a Declaração string Retificacao = "{\"CodigoIdentificacaoOperacao\": \"5600001196023435\", \"DataFimViagem\": \"2026-06-10\" }"; string DataRetificacao = ""; string Codigo = ""; string Mensagem = ""; string Protocolo = ""; int cStat = 0; string msgResultado = ""; string msgDados = ""; string msgRetWS = ""; // instancia DLL MDFe_Util.Util util = new MDFe_Util.Util(); // consome API msgRetWS = util.ANTT_RetificaOpeTransp(tpAmb, nomeCertificado, Retificacao, out cStat, out msgResultado, out msgDados, out DataRetificacao, out Protocolo, out Codigo, out Mensagem); // exibe JSON gerado com formatação MessageBox.Show(msgResultado,"Retificação CIOT"); //
- 6.6. Retifica Operação de Transporte
6. API da ANTT para emissão do CIOT - « Anterior
6.5. Cancela Operação de Transporte - Próximo »
6.6.1. Gerar Retificação Operação de Transporte
