1. Inicio
  2. Documentos
  3. NS ANTT
  4. Primeiros Passos
  5. Introdução

Introdução

O que é a NS ANTT API?

A NS ANTT API é uma aplicação de integração por onde outras aplicações podem realizar a emissão e gerenciamento dos métodos InserirLogVendaPassagem e InserirLogCancelarPassagem para com a ANTT.

Com a NS ANTT API os dados são enviados e recebidos através de requisições HTTPs que podem ser facilmente implementadas em qualquer linguagem de programação.

Veja em nossos exemplos de integração como implementar a comunicação.

Uma API é uma aplicação que possui métodos consumíveis por outras aplicações, ou seja, é uma aplicação que possui métodos que podem ser acessados diretamente através do código de outras aplicações.

Dá-se o nome de Consumidora ou Cliente à aplicação que consome os métodos de uma API.

Informações enviadas e recebidas nas requisições
Dados de envio

Os dados de envio variam de acordo com o método que está sendo consumido. Veja a documentação de consumo da API para informações detalhadas de quais dados são enviados para cada método.

O formato de dados a serem enviados é JSON.

Dados de recebidos

Toda requisição receberá como retorno algumas informações que podem ser classificadas em dois grupos: Status HTTP e Dados de Retorno.

Status HTTP

O status HTTP é enviado no cabeçalho da resposta e informa se a requisição foi realizada com sucesso ou se algum erro ocorreu. Este status é formado por um código e uma mensagem.

Por exemplo, se a requisição HTTP for realizada para o endereço errado o status HTTP terá código 404 e mensagem Não encontrado (Not Found). Se a requisição HTTP for realizada corretamente o status HTTP terá código 200 e mensagem OK.

As informações do Status HTTP não devem ser consideradas como dados de resposta do método consumido. Estas informações informam apenas se a requisição HTTP foi realizada com sucesso ou não.

Veja na tabela abaixo os códigos de Status HTTP que podem ser retornados pela API:

CódigoDescrição
Quando OcorrePossui dados de retorno
200OkSim
400Requisição mal formada Quando a requisição está sendo realizada com dados montados de forma erradaNão
401Não autorizadoQuando a aplicação consumidora tenta acessar algum recurso não autorizadoNão
403Acesso negadoQuando o token de acesso informado é inválidoNão
404Não encontradoQuando a URL do método é inválida ou a informação requisitada não é encontradaSim (mas pode não conter caso o erro seja URL não existente)
501Erro interno da APIQuando algum erro interno não previsto ocorreSim
Dados de Retorno

Os dados de retorno são enviados no corpo da resposta e possuem as informações de resposta do método consumido. Estes dados variam de acordo com cada método consumido.

Dependendo de qual for o Status HTTP retornado, estas informações podem não existir. Por exemplo, se o status HTTP for 400 (Bad Request), o retorno conterá apenas o Status HTTP  e não terá Dados de retorno. Por este motivo, é importante que a sua aplicação sempre valide o Status HTTP recebido antes de utilizar as informações dos Dados de Retorno para garantir que os mesmos existem.

Código e descrição do Retorno

Os dados de retorno possuem dois campos que indicam a situação do processamento realizado chamados status e motivo. Além destes campos, outros campos também estarão presentes e serão específicos para cada método da API. Veja a documentação de consumo da API para visualizar os campos retornados por cada método.

Os campos status e motivo informam o código de Status do Processamento e descrição literal do status de processamento, respectivamente.

Status do Processamento é diferente do Status HTTP visto acima. Por exemplo, o consumo de um determinado método pode retorno Status HTTP 200, que indica que a comunicação com a API aconteceu de forma correta, e Status de Processamento -400, que indica que algum campo obrigatório não foi informado.

A tabela abaixo mostra os códigos de Status de Processamento que são comuns a todos os métodos. Demais códigos são específicos de cada método e estão documentados na página de consumo da API.

Código Descrição
-400Campos obrigatórios não preenchidas
-500 ou -999Erro interno da API
200Ok
-401Usuário sem permissões para gerenciar documentos do contribuinte
Layout dos dados de integração

O layout padrão de integração para troca de informações é o JSON na NS ANTT API.

Exemplo de geração de JSON

No quadro abaixo é possível ver um exemplo destes dados:

{
	"chBPe":"43210808256988000126630060000023521000000012",
    "tpAmb": 2,
    "logEmissao": {        
        "codigoBilheteEmbarque": 1,    
        "codigoCategoriaTransporte": "02",
        "identificacaoLinha": "1",        
        "codigoTipoServico": 1,
        "dataViagem": "20210823",
        "horaViagem": "173145",
        "codigoTipoViagem": 1,
		"..."
	}
}

Como podemos ajudar?