6. API da ANTT para emissão do CIOT
6.4. Declara Operação de Transporte
6.3. Consulta Frota Transportador
« Anterior
6.4.1. Declaração Operação de Transporte
Próximo »

6.4. Declara Operação de Transporte

Sumário

Declaração da Operação de Transporte (CIOT)

A Declaração da Operação de Transporte é um conjunto de informações da operação de transporte que o prestador de serviço de transporte remunerado deve registrar no sistema da ANTT.

O CIOT - Código de Identificação da Operação de Transporte é um identificador de 12 dígitos gerado pela ANTT que tem a finalidade de identificar as Declarações da Operações de Transporte no sistema na ANTT, este identificador deve ser solicitado através do serviço GeraCIOT.

Após o registro da operação de Transporte, a ANTT fornece um protocolo de autorização do CIOT de 4 dígitos que tem a finalidade de código de verificação necessário para a realização de retificação, cancelamento e encerramento do CIOT.

Geração da Declaração da Operação de Transporte

As informações da Declaração da Operação de Transporte devem ser prestadas 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 declaração por conta própia ou pode utilizar as funcionalidades de geração disponibilizadas pela DLL:

1) obter um CIOT - Código de Identificação da Operação de Transporte no serviço GeraCIOT;

2) gerar o grupo do veículo usando o ANTT_Veiculo;

3) gerar o grupo de informações da origem e destino da operação de transporte usando o ANTT_OrigemDestino;

4) gerar o grupo de informações da carga usando o ANTT_DadosCarga;

5) gerar as informações do pagamento do frete usando o ANTT_InfPagamento;

6) gerar as informações dos indicadores operacionais usando o ANTT_InfIndicadoresOperacionais;

7) gerar a declaração usando ANTT_DeclaraOpeTransp;

8) transmitir a declaração usando o ANTT_DeclaraOpeTransp;


Assinatura

string ANTT_DeclaraOpeTransp(int tpAmb, string nomeCertificado, string Declaracao, out int cStat, out string msgResultado, out string msgDados, out string CIOT12, out string CodigoVerificador, out string Protocolo, out string Codigo, out string Mensagem, out string AvisoTransportador)

Descrição:

Serviço destinado a recepcionar e armazenar os dados das operações de transporte e retornar o protocolo de autorização.

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".
Declaracao string entrada informar os dados da Operação de transporte
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
CIOT12 string saída retorna o CIOT12 (Código de Identificação da Operação de Transporte de 12 dígitos)
CodigoVerificador string saída retorna o Código verificador gerado pela ANTT validando os dados enviados – protocolo de autorização.
Protocolo string saída retorna o Protocolo de sucesso no encerramento
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
AvisoTransportador string saída Mensagem de aviso cadastrada pela ANTT para o contratado. Sempre que existir esta mensagem, sua apresentação ao transportador e impressão no documento correspondente é obrigatória.

Retorno da chamada:

O resultado da chamada da API ANTT_DeclaraOpeTransp é a resposta JSON, exemplo:

{
  "IdOperacaoTransporte": "560000119602",
  "CodigoVerificador": "3535",
  "Protocolo": "T98000000000720",
  "Codigo": "110",
  "Mensagem": "Dados inseridos com sucesso!",
  "AvisoTransportador": null
}

Histórico de atualização:

Exemplo de JSON enviado para a API da ANTT

{
  "IdOperacaoTransporte": "560000119602",
  "TipoOperacao": 1,
  "CpfCnpjContratado": "15432946000447",
  "RNTRCContratado": "045464436",
  "CpfCnpjContratante": "00000000000272",
  "CpfCnpjDestinatario": "00000000000191",
  "ValorFrete": "123456.00",
  "DataDeclaracao": "2026-05-30T16:10:00",
  "IndContingencia": "false",
  "DataInicioViagem": "2026-06-01",
  "DataFimViagem": "2026-06-05",
  "Veiculos": [
    {
      "Placa": "ENK1666",
      "RNTRC": "045464436",
      "NumeroEixos": "3"
    }
  ],
  "OrigemDestino": [
    {
      "Origem": {
        "CodigoMunicipioOrigem": "4115200",
        "CepOrigem": "87013230"
      },
      "Destino": {
        "CodigoMunicipioDestino": "2304400",
        "CepDestino": "60874430"
      },
      "DistanciaPercorrida": "3234",
      "QtdViagens": "1"
    }
  ],
  "DadosCarga": {
    "CodigoNaturezaCarga": "2202",
    "PesoCarga": "120",
    "CodigoTipoCarga": "5"
  },
  "InfPagamento": [
    {
      "TipoPagamento": "6",
      "ChavePix": "12345678910",
      "CpfCnpjCreditado": "00000000191",
      "IdentificadorPix": "E00416968202605292029sdZYM77Ie2l",
      "IndPagamento": "0"
    }
  ],
  "InfIndicadoresOperacionais": {
    "IndAltoDesempenho": "false",
    "IndRetornoVazio": "false",
    "ComposicaoVeicular": "false"
  }
}

Exemplo de JSON da Declaração realizada com sucesso

 
{
  "IdOperacaoTransporte": "560000119602",
  "CodigoVerificador": "3435",
  "Protocolo": "E98000000043628",
  "Codigo": "110",
  "Mensagem": "Dados inseridos com sucesso!",
  "AvisoTransportador": null
}

Exemplo de JSON da resposta de rejeição da Declaração

 
{
  "IdOperacaoTransporte": null,
  "CodigoVerificador": null,
  "Protocolo": "E98000000043628",
  "Codigo": "208,219,269",
  "Mensagem": ["Código de identificação da operação já cadastrado.","Rejeição: A data e hora da declaração está fora do intervalo de tolerância permitido para esta operação.","Rejeição: A data de início da viagem não pode ser inferior à data atual."],
  "AvisoTransportador": null
}

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-03T01:33:25.3362597Z",
  "correlationId": "63ee382a-6ca2-4d4d-9a8f-bed7326bfe5b",
  "path": "/pefServices/api/DeclaracaoOperacaoTransporte/"
}

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 Declaracao = "{\"IdOperacaoTransporte\": \"560000119602\", \"TipoOperacao\": 1, \"CpfCnpjContratado\": \"15432946000447\", \"RNTRCContratado\": \"045464436\", \"CpfCnpjContratante\": \"00000000000272\", \"CpfCnpjDestinatario\": \"00000000000191\", \"ValorFrete\": \"123456.00\", \"DataDeclaracao\": \"2026-05-30T16:10:00\", \"IndContingencia\": \"false\", \"DataInicioViagem\": \"2026-06-01\", \"DataFimViagem\": \"2026-06-05\", \"Veiculos\": [{\"Placa\": \"ENK1666\", \"RNTRC\": \"045464436\", \"NumeroEixos\": \"3\" }], \"OrigemDestino\": [{\"Origem\": {\"CodigoMunicipioOrigem\": \"4115200\", \"CepOrigem\": \"87013230\" }, \"Destino\": {\"CodigoMunicipioDestino\": \"2304400\", \"CepDestino\": \"60874430\" }, \"DistanciaPercorrida\": \"3234\", \"QtdViagens\": \"1\" }], \"DadosCarga\": { \"CodigoNaturezaCarga\": \"2202\", \"PesoCarga\": \"120\", \"CodigoTipoCarga\": \"5\"}, \"InfPagamento\": [{\"TipoPagamento\": \"6\", \"ChavePix\": \"12345678910\" , \"CpfCnpjCreditado\": \"00000000191\" , \"IdentificadorPix\": \"E00416968202605292029sdZYM77Ie2l\" , \"IndPagamento\": \"0\" }] , \"InfIndicadoresOperacionais\":{\"IndAltoDesempenho\": \"false\", \"IndRetornoVazio\": \"false\", \"ComposicaoVeicular\": \"false\" }}";
 
string CIOT12 = "";
string CodigoVerificador = "";
string Codigo = "";
string Mensagem = "";
string AvisoTransportador = "";
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_DeclaraOpeTransp(tpAmb, 
                                      nomeCertificado, 
                                      Declaracao, 
                                      out cStat, 
                                      out msgResultado, 
                                      out msgDados, 
                                      out CIOT12, 
                                      out CodigoVerificador, 
                                      out Protocolo, 
                                      out Codigo, 
                                      out Mensagem, 
                                      out AvisoTransportador);
 
 
 
// exibe JSON gerado com formatação
 
MessageBox.Show(msgResultado,"Declaração Operação de Transporte");
 
//
6.4. Declara Operação de Transporte
6. API da ANTT para emissão do CIOT
« Anterior
6.3. Consulta Frota Transportador
Próximo »
6.4.1. Declaração Operação de Transporte