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:

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