Skip to main content
Skip table of contents

Estrutura dos Documentos de Integração

A plataforma NDD Move fará a recepção dos documentos CT-e e MDF-e que foram emitidos pelos clientes, eles devem seguir o padrão de XML autorizado pela Sefaz.

Arquivos em XML

Os arquivos do tipo XML podem ser compostos por CT-e ou MDF-e, contudo se apresentam em arquivos diferentes para cada tipo.

CT-e

No inicio do arquivo deve conter o cabeçalho semelhante ao da imagem e é obrigatório a abertura da tag <cteProc >.

MDF-e

No inicio do arquivo deve conter o cabeçalho semelhante ao da imagem e é obrigatório a abertura da tag <mdfeProc >.

Arquivos em CSV

Os arquivos do tipo CSV são compostos de documentos NF-e, CT-e e MDF-e, porém eles se apresentam no mesmo arquivo.

Apresentação em linhas de código

Apresentação do arquivo ao ser exportado via planilha

As imagens utilizadas são apenas exemplos para observar a estrutura das TAGs, o conteúdo interno delas pode apresentar diferença.

Ao receber um documento a aplicação vai validar o CNPJ do emitente e só irá processá-lo se o CNPJ já estiver cadastrado na aplicação. Por isso, é importante
cadastrar todas as filiais que fazem emissão de CT-e e MDF-e, bem como carregar o certificado digital delas.

O documento utilizado deve conter os dados da viagem e das entregas no mesmo arquivo. Confira abaixo o demonstrativo dos campos apresentados com suas respectivas particularidades:

Campo

Formato

Obrigatório

Notas

Tipo documento

N 1

S

Código referente ao documento no qual a entrega está relacionada.

MDF-e = 0

Manifesto = 1

Número documento

N 5

S

Número de identificação do documento.

Série Documento

N 3

N

Série de identificação do documento.

Data emissão

A 16

S

Data em que o documento está sendo emitido no formato: dd/mm/aaaa hh:ss.

Chave Acesso

N 44

N

Sequência numérica única que é utilizada para identificar a MDF-e.

CNPF emissor

N 14

S

CNPJ da empresa emissora da viagem.

Valor da mercadoria

N

N

Valor monetário de cada entrega.

Unidade de medida

A

N

Refere-se ao peso da mercadoria.

Quantidade da carga

N

N

 

Quantidade CT-e

N

N

Quantidade de entregas (CT-e) relacionados a viagem (CSV).

Quantidade NF-e

N

N

Quantidade de entregas (NF-e) relacionados a viagem (CSV).

Nome motorista

A

S

Nome do motorista responsável pela entrega.

CPF motorista

N 11

S

CPF do motorista responsável pela entrega utilizado para integração com o APP.

Placa do veículo

A 7

S

Placa do veículo utilizado no transporte da mercadoria.

Número da NF-e

N 9

S

Número de identificação da entrega (NF-e).

Série NF-e

N 3

S

Série de identificação da entrega (NF-e).

Chave de Acesso da NF-e

N 44

S

Sequência numérica única que é utilizada para identificar a NF-e.

Número CT-e

N 9

N

Número de identificação da entrega (CT-e).

Série da CT-e

N 3

N

Série de identificação da entrega (CT-e).

Chave de Acesso do CT-e

N 44

N

Sequência numérica única que é utilizada para identificar a CT-e.

Nome Destinatário

A

S

Identificação do destinatário.

CNPJ/CPF Destinatário

N 14

S

CPF/CNPF do destinatário da mercadoria.

Logradouro

A

S

 

Número

N

S

 

Bairro

A

S

 

Município

A

S

 

CEP

N 9

S

 

UF

A 2

S

 

Legenda

  • Na coluna Formato é indicada a sintaxe e o tamanho máximo de cada campo, onde: A = Indica campo alfanumérico e N = Indica campo numérico.

O Número após a letra A ou N indica o tamanho máximo do campo, caso o campo possua casa decimal, por exemplo um campo de valor, a representação será: N 9,2 onde 9 é o número de inteiros e 2 é o número de decimais, o tamanho do campo é de 11 posições.

Exemplos: A 8, campo alfanumérico de 8 posições; N 6, campo numérico de 6 posições e N 12,3, campo numérico de 12 inteiros e 3 decimais, total de 15 posições

  • Quando não houver dado/conteúdo para o preenchimento de um campo na coluna Obrigatório, será indicada a condição de preenchimento do campo, onde: N = significa que o que campo não é de preenchimento obrigatório (neste caso o campo pode ou não ser preenchido) e S = Indica que o campo DEVE ser preenchido obrigatoriamente (se não houver valor, deve-se informar 0).

O sistema irá realizar as validações dos campos. Caso haja alguma informação inválida ou algum erro de digitação, a viagem não irá subir para o sistema.

Arquivos em Json

Nesse endpoint é possível receber a estrutura para exclusão de uma viagem e de suas entregas. E também, criar e editar as informações da viagem e também de entregas, via Json.

Além de retornar os dados da:

  • empresa;

  • viagem a partir de um MDF-e;

  • viagem a partir de um Manifesto.

Criar viagem

Via Json:

Resposta bem sucedida

O sistema exibe a seguinte mensagem de sucesso quando cria a viagem via Json.

CODE

{
  "message": "Estamos processando as viagens.",
  "title": "NDD Move",
  "isSucess": true,
  "data": "da71eb05-2a93-45d7-ba3d-0a00550a689e"
}

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de sucesso. Eles podem variar de acordo com os dados inseridos no sistema.

Resposta com erro

O sistema exibe a seguinte mensagem de erro quando não cria a viagem via Json.

CODE

{
  "message": "Validation failed: \r\n -- ChaveAcesso: 'Chave
Acesso' deve ser maior ou igual a 44 caracteres. Você digitou 43
caracteres.",
  "title": "NDD Move",
  "isSucess": false,
  "data": {
    "ClassName": "System.Exception",
    "Message": "Validation failed: \r\n -- ChaveAcesso: 'Chave
Acesso' deve ser maior ou igual a 44 caracteres. Você digitou 43
caracteres.",
    "Data": null,
    "InnerException": {
      "errors": [
        {
          "propertyName": "ChaveAcesso",
          "errorMessage": "'Chave Acesso' deve ser maior ou igual
a 44 caracteres. Você digitou 43 caracteres.",
          "attemptedValue":
"3121042300551200014655001000000335001837913",
          "customState": null,
          "severity": 0,
          "errorCode": "MinimumLengthValidator",
          "formattedMessageArguments": [],
          "formattedMessagePlaceholderValues": {
          "minLength": 44,
          "maxLength": -1,
          "totalLength": 43,
          "propertyName": "Chave Acesso",
          "propertyValue":
"3121042300551200014655001000000335001837913"
          },
          "resourceName": "MinimumLengthValidator"
        }
      ],
      "ClassName": "FluentValidation.ValidationException",
      "Message": "Validation failed: \r\n -- ChaveAcesso: 'Chave
Acesso' deve ser maior ou igual a 44 caracteres. Você digitou 43
caracteres.",
      "Data": null,
      "InnerException": null,
      "HelpURL": null,
      "StackTraceString": null,
      "RemoteStackTraceString": null,
      "RemoteStackIndex": 0,
      "ExceptionMethod": null,
      "HResult": -2146233088,
      "Source": null,
      "WatsonBuckets": null
    },
      "HelpURL": null,
      "StackTraceString": null,
      "RemoteStackTraceString": null,
      "RemoteStackIndex": 0,
      "ExceptionMethod": null,
      "HResult": -2146233088,
      "Source": null,
      "WatsonBuckets": null
    }
  }

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de erro. Eles podem variar de acordo com os dados inseridos no sistema.

Edita a viagem via Json:

Resposta bem sucedida

O sistema exibe a seguinte mensagem de sucesso quando edita a viagem via Json.

CODE

{
  "message": "Estamos processando a edição da viagem.",
  "title": "NDD Move",
  "isSucess": true,
  "data": null
}

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de sucesso. Eles podem variar de acordo com os dados inseridos no sistema.

Resposta com erro

O sistema exibe a seguinte mensagem de erro quando não edita a viagem via Json.

CODE

{
  "message": "Não foi encontrado a Viagem: 823 com o CNPJ:
23005512000146.",
  "title": "NDD Move",
  "isSucess": false,
  "data": null
}

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de erro. Eles podem variar de acordo com os dados inseridos no sistema.

Retorna dados da viagem a partir de um MDF-e:

Resposta bem sucedida

O sistema exibe a seguinte mensagem de sucesso quando retorna dados da viagem a partir de uma chave de MDF-e.

CODE

[
  {
    "viagemId": "6f537df0-36c6-4bc1-9b70-1890f1233b3b",
    "numeroMDFe": "649",
    "serie": 21,
    "statusViagem": 0,
    "nomeEmitente": "Empresa Moraes Ltda",
    "cnpjEmitente": "23005512000146",
    "nomeMotorista": "Geraldo Henrique",
    "cpfMotorista": "22424910910",
    "placaVeiculo": "HTY7O1",
    "rntrc": null,
    "renavan": null,
    "valorCarga": 0,
    "pesoBruto": 0,
    "tipoMedida": "OUTROS",
    "ufOrigem": "SC",
    "ufDestino": "SC",
    "ocorrenciasViagem": [],
    "entregas": []
  }
]

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de sucesso. Eles podem variar de acordo com os dados inseridos no sistema.

Resposta com erro

O sistema exibe a seguinte mensagem de erro quando não retorna dados da viagem a partir de uma chave de MDF-e.

CODE

{
  "status": 500,
  "codigo": 999,
  "mensagem": "Index and length must refer to a location within
the string. (Parameter 'length')",
  "errors": null
}

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de erro. Eles podem variar de acordo com os dados inseridos no sistema.

Retorna dados da viagem a partir de um Manifesto:

Resposta bem sucedida

O sistema exibe a seguinte mensagem de sucesso quando retorna dados da viagem a partir de um número de Manifesto.

CODE

{
  "message": "Estamos processando a exclusão da viagem.",
  "title": "NDD Move",
  "isSucess": true,
  "data": null
}

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de sucesso. Eles podem variar de acordo com os dados inseridos no sistema.

Resposta com erro

O sistema exibe a seguinte mensagem de sucesso quando não retorna dados da viagem a partir de um número de Manifesto.

CODE

date: Fri, 02 Feb 2024 14:18:20 GMT
server: Microsoft-IIS/10.0
x-powered-by: ASP.NET

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de erro. Eles podem variar de acordo com os dados inseridos no sistema.

Recebe o Json para exclusão de uma viagem e de suas entregas:

Resposta bem sucedida

O sistema exibe a seguinte mensagem de sucesso quando recebe o romaneio para exclusão de uma viagem e de suas entregas.

CODE

{
  "message": "Estamos processando a exclusão da viagem.",
  "title": "NDD Move",
  "isSucess": true,
  "data": null
}

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de sucesso. Eles podem variar de acordo com os dados inseridos no sistema.

Resposta com erro

O sistema exibe a seguinte mensagem de erro quando não recebe o romaneio para exclusão de uma viagem e suas entregas.

CODE

{
  "message": "Não foi encontrado a Viagem: 2024 com o CNPJ:
23005512000146.",
  "title": "NDD Move",
  "isSucess": false,
  "data": null
}

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de erro. Eles podem variar de acordo com os dados inseridos no sistema.

Entregas

Nesse endpoint é possível visualizar os dados de entregas feitas por NFe-s.

Dados da entrega através de NFe-s:

Resposta bem sucedida

O sistema exibe a seguinte mensagem de sucesso quando retorna os dados da entrega, a partir de uma chave de NF-e:

CODE
{
  "nFeId": "469ad6f9-dbb3-4bab-8602-8e09a1c15fe6",
  "numeroNFe": "2023",
  "serieNFe": 35,
  "dataEmissao": "2023-12-14T00:00:00Z",
  "chaveNFe": "31210423005512000146550350000020231001831913",
  "viagemDocumentoId":
  "d210bdd9-8c3b-4c8e-beab-19a4407bf14d",
  "previsaoEntrega": null,
  "statusEntrega": 0,
  "viagemId": "8874ca7d-7686-4743-889f-3266e232880f",
  "emitenteNome": "Pelo Amor de Deus",
  "emitenteCNPJ": "23005512000146",
  "nomeMotorista": "Levi Moraes",
  "cpfMotorista": "83925104100",
  "emailMotorista": null,
  "telefoneMotorista": null,
  "logradouroDestinatario": "R. Henrique Dias",
  "numeroDestinatario": "110",
  "bairroDestinatario": "Anita Garibaldi",
  "codigoMunicipioDestinatario": null,
  "municipioDestinatario": "Joinville",
  "cepDestinatario": "89203420",
  "ufDestinatario": {
    "sigla": "SC",
    "value": 42,
    "displayName": "Santa Catarina"
  },
  "telefoneDestinatario": null,
  "codigoPaisDestinatario": null,
  "paisDestinatario": null,
  "latitudeDestinatario": "-26.3197409",
  "longitudeDestinatario": "-48.8526678",
  "historicos": [
    {
      "viagemDocumentoId":
"d210bdd9-8c3b-4c8e-beab-19a4407bf14d",
      "dataCriacao": "2024-01-30T18:14:06.7909656Z",
      "dataAtualizacao": "2024-01-30T18:14:06.7909662Z",
      "dataSincronizacao": "2024-01-30T18:13:39.8707696Z",
      "descricao": "Criação da viagem",
      "statusEvento": 1,
      "status": 0,
      "latitude": null,
      "longitude": null
    },
    {
      "viagemDocumentoId":
"d210bdd9-8c3b-4c8e-beab-19a4407bf14d",
      "dataCriacao": "2024-01-30T18:14:06.7904252Z",
      "dataAtualizacao": "2024-01-30T18:14:06.7905121Z",
      "dataSincronizacao": "2024-01-30T18:13:49.1596437Z",
      "descricao": "Sincronização do documento",
      "statusEvento": 9,
      "status": 0,
      "latitude": null,
      "longitude": null
    }
  ],
  "recebimentos": [],
  "entregas": [],
  "ocorrenciasEntrega": []
}

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de sucesso. Eles podem variar de acordo com os dados inseridos no sistema.

Resposta com erro

O sistema exibe a seguinte mensagem de erro quando não retorna os dados da entrega, a partir de uma chave de NF-e:

CODE
{
  "status": 500,
  "codigo": 999,
  "mensagem": "Index and length must refer to a location
within the string. (Parameter 'length')",
  "errors": null
}

Os valores apresentados na mensagem acima são uma representação para exemplificar uma mensagem de erro. Eles podem variar de acordo com os dados inseridos no sistema.

{{component-feedback-article}}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.