Ir para o conteúdo

Web service Portolog: Criação de DL-e

Serviço web que processa os pedidos de criação de documentos logísticos.

Atenção:

A requisição de criação de DL-e permite a informação de um lote de registros, porém o sistema limita essa requisição a no máximo 100 registros.

Atores que podem utilizar o Serviço:

  • Operador Portuário
  • Terminal Portuário
  • Ponto de Controle

Endpoint do Serviço:

POST url_base/psp-portolog-rest/api/dle/novo/v1.04

Content-Type:

application/xml ou application/json

Parâmetros da Requisição de Criação de DL-e:

Dados Gerais:

Nome Descrição Tipo Tamanho Local Observações
versao versão do arquivo de criação de DL-e String(Obrigatório) 4 body Versão Atual: 1.04
cnpjEmissor CNPJ do Sistema Externo que está solicitando a criação do DL-e String(Obrigatório) 14 body

Lista de DL-es:

Nome Descrição Tipo Tamanho Local Observações
seq Sequencial para identificar o registro dentro do arquivo. Deve ser único para possibilitar o relacionamento no arquivo de retorno do processamento. Numeric(Obrigatório) - body
naturezaOperacao Natureza da Operação do DL-e String(Obrigatório) 17 body Domínio: EXPORTACAO, CABOTAGEM_ORIGEM, IMPORTACAO, CABOTAGEM_DESTINO, ENTRADA_CARGA e SAIDA_CARGA
portoAcesso Código bitrigrama do porto de destino do transporte String(Obrigatório) 5 body
terminalPorto CNPJ do terminal de destino do transporte String(Obrigatório) 14 body
portoDestino Código bitrigrama do porto de destino do transporte String(Opcional) 5 body (*) Campo Obrigatório quando a natureza de operação for CABOTAGEM_ORIGEM
previsaoAcesso Data/Hora Prevista de Acesso ao Porto/Terminal Data/Hora(Obrigatório) 19 body Formato: AAAA-MM-DD T HH:mm:ss
previsaoAtracacao Data/Hora Prevista de Atracação da Embarcação Data/Hora(Opcional) 19 body Formato: AAAA-MM-DD T HH:mm:ss. (*) Campo obrigatório somente quando a Natureza de Operacao for EXPORTACAO ou CABOTAGEM_ORIGEM e o tipo de carga for DIFERENTE de "Granel"
codigoDetalheTipoCarga Código do detalhe de tipo de carga do transporte String(Obrigatório) 5 body Domínio: Vide campo "observação" logo abaixo.
pontoControle Código do Ponto de Controle de Puxada de Carga do DL-e String(Opcional) 7 body Domínio: Vide campo "observação" logo abaixo.
cnpjEmpresaOrigem CNPJ da Empresa de Origem da Carga String(Opcional) 14 body Campo obrigatório para DL-e de EXPORTACAO, CABOTAGEM_ORIGEM ou ENTRADA_CARGA e quando o campo 'cpfPessoaOrigem' não estiver preenchido.
cpfPessoaOrigem CPF da Pessoa de Origem da Carga String(Opcional) 11 body Campo obrigatório para DL-e de EXPORTACAO, CABOTAGEM_ORIGEM ou ENTRADA_CARGA e quando o campo 'cnpjEmpresaOrigem' não estiver preenchido.

Observação:

1. Para acesso às informações dos códigos de detalhe de tipo de carga de cada porto, favor consultar através do acesso à tela do Portolog, no menu "Serviços" e item de menu "Informações para Integração".

2. Para acesso às informações dos códigos de pontos de controle de puxada de carga que atendem ao seu terminal, favor consultar através do acesso à tela do Portolog, no menu "Serviços" e item de menu "Informações para Integração" selecionando o tipo "Ponto de Controle". Os códigos dos pontos de puxada serão iniciados sempre com "PI".

Lista de Itens de Carga(Opcional e informado Somente para DL-es de IMPORTACAO, CABOTAGEM_DESTINO e SAIDA_CARGA):

Nome Descrição Tipo Tamanho Local Observações
numeroDuv Número do DUV associado ao item de carga. Numeric(Opcional) 12 body
numeroManifesto Número do Manifesto de Carga associado ao item de carga. String(Opcional) 13 body
numeroConhecimento Número do Conhecimento de Embarque associado ao item de carga. String(Opcional) 18 body
numeroMercante Número do Conhecimento do Mercante associado ao item de carga. Numeric(Opcional) 15 body
codigoConteiner Código/Identificação do conteiner Numeric(Opcional) 11 body (*) Campo Obrigatório quando tipoCarga for CONTEINER ou CONTEINER VAZIO.
numeroChassi Número do chassi do veículo. Numeric(Opcional) 15 body (*) Campo Obrigatório quando o tipoCarga for VEICULO.
codigoNCM Código NCM(Mercadoria). String(Opcional) 15 body (*) Campo Obrigatório quando o tipoCarga for CARGA_SOLTA ou GRANEL.
nomeMarca Nome da Marca (Mercadoria). String(Opcional) 60 body (*) Campo Obrigatório quando o tipoCarga for CARGA_SOLTA.
qtVolumesTransportados Quantidade de volumes transportados. Numeric(Opcional) 6 body (*) Campo obrigatório caso o o DL-e já tenha sido sequenciado.
pesoBrutoTransportado Peso Bruto Transportado em Kg. Numeric(Opcional) 15,3 body (*) Campo obrigatório caso o o DL-e já tenha sido sequenciado. Exemplo: 99999.999
descGranel Descrição do Granel. String(Opcional) 60 body (*) Campo Obrigatório quando o tipoCarga for GRANEL.

Dados do Transporte(Opcional e informado Somente para DL-es de IMPORTACAO, CABOTAGEM_DESTINO e SAIDA_CARGA):

Nome Descrição Tipo Tamanho Local Observações
placa Número da Placa do Transporte. Numeric(Opcional) 7 body
cpf CPF do Motorista do Transporte. String(Opcional) 11 body
nome Nome do Motorista do Transporte. String(Opcional) 60 body

Observação:

1. Para os DL-es de natureza EXPORTACAO, CABOTAGEM_ORIGEM e ENTRADA_CARGA os dados dos itens carga e do transporte deverão ser encaminhados em um documento separado(Documento de Origem) após a criação do DL-e.

2. Somente será possível informar itens de carga de uma das fontes, associadas a um DUV ou não associadas a um DUV, e nunca as duas ao mesmo tempo.

 

Resposta da Requisição:

Dados Gerais:

Nome Descrição Tipo Observação
versao Versão do Arquivo de Retorno de Processamento de Criação de DL-e String(Obrigatório) Versão Atual: 1.04
dataProcessamento Data/Hora do Registro de Processamento de Criação de DL-e String(Obrigatório)

Dados dos Registros:

Nome Descrição Tipo Observação
seq Sequencial do registro dentro do arquivo Numeric(Obrigatório)
mensagem Mensagem de confirmação ou erro no processamento do registro de criação de DL-e String(Obrigatório)
numeroDle Número do DL-e criado. Numeric(Opcional) (*) Campo exibido somente se a criação do DL-e for efetivada com sucesso.

 

Exemplos de Arquivos XML/JSON:

 

Exemplo de JSON do arquivo de criação de DL-e:

      {
            "versao":"1.04",
            "cnpjEmissor":"82951351000142",
            "DLe": [
                {
                    "seq":"0",
                    "naturezaOperacao":"ENTRADA_CARGA",
                    "portoAcesso":"BRSSZ",
                    "terminalPorto":"46591057000103",
                    "previsaoAcesso":"2019-12-15T13:00:00",
                    "codigoDetalheTipoCarga":"CONT2",
                    "pontoControle":"PI00027",
                    "cpfPessoaOrigem":"22222222222"
                },
                {
                    "seq":"1",
                    "naturezaOperacao":"SAIDA_CARGA",
                    "portoAcesso":"BRSSZ",
                    "terminalPorto":"46591057000103",
                    "portoDestino":"BRRIO",
                    "previsaoAcesso":"2020-02-08T18:30:00",
                    "previsaoAtracacao":"2020-02-08T18:40:00",
                    "codigoDetalheTipoCarga":"CONT2",
                    "pontoControle":"PI00027",
                    "itens": {
                        "item": [
                            {
                                "numeroDuv":"1562016",
                                "numeroManifesto":"34000",
                                "numeroConhecimento":"26103",
                                "codigoConteiner":"111",
                                "qtVolumesTransportados":"10",
                                "pesoBrutoTransportado":"50.000"
                            }
                        ]
                    },
                    "transporte": 
                            {
                                "placa":"RDR0001",
                                "motorista":
                                        {
                                            "cpf":"22222222222",
                                            "nome":"Teste"
                                        }   
                            }
                }

            ]
      }

Exemplo de retorno de JSON com a resposta da requisição:

        {
            "dataProcessamento" : "2019-11-13T14:50:51.945-03:00",
            "versao":"1.04",
            "dleProc" : [ 
                {
                    "mensagem" : [ "[IN0187] DL-e processado com sucesso" ],
                    "numeroDle" : 5012019,
                    "seq" : 0
                }
            ]
        }

Exemplo de retorno de JSON com resposta de erro:

        {
            "dataProcessamento" : "2019-11-13T14:50:51.945-03:00",
            "versao":"1.04",
            "dleProc" : [ 
                {
                    "mensagem" : [ "[ER0195] O código do detalhe do tipo de carga não é válido" ],
                    "seq" : 0
                },
                {
                    "mensagem" : [ "[ER0199] O emissor informado no arquivo não possui perfil para criar DL-e dessa natureza." ],
                    "seq" : 1
                }
            ]
        }

Exemplo de XML do arquivo de criação de DL-e:

    <?xml version="1.0" encoding="UTF-8"?>
    <loteDLe versao="1.04" xmlns="http://www.portosempapel.gov.br/dle" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.portosempapel.gov.br/dle ../../../main/resources/dle/DLe_v101/dle_v1.03.xsd ">
        <cnpjEmissor>04291660000120</cnpjEmissor>
        <DLe seq="0">
            <naturezaOperacao>IMPORTACAO</naturezaOperacao>
            <portoAcesso>BRVIX</portoAcesso>    
            <terminalPorto>04291660000120</terminalPorto>
            <portoDestino>BRRIO</portoDestino>
            <previsaoAcesso>2018-10-09T12:30:00</previsaoAcesso>
            <previsaoAtracacao>2018-10-09T12:40:00</previsaoAtracacao>
            <codigoDetalheTipoCarga>1</codigoDetalheTipoCarga>
            <pontoControle>PI00001</pontoControle>
            <itens>
                <item>
                    <codigoNCM>20001108</codigoNCM>
                    <qtVolumesTransportados>100</qtVolumesTransportados>
                    <pesoBrutoTransportado>10000.500</pesoBrutoTransportado>
                    <descGranel>Soja</descGranel>
                </item>
            </itens>
            <transporte>
                <placa>DIE7151</placa>
                <motorista>
                    <cpf>33333333333</cpf>
                    <nome>Teste</nome>
                </motorista>
            </transporte>
        </DLe>
    </loteDLe>

Exemplo de retorno de XML com a resposta da requisição:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <loteDLeProc xmlns="http://www.portosempapel.gov.br/dle" versao="1.04">
            <dataProcessamento>2019-11-12T16:14:34.253-03:00</dataProcessamento>
            <dleProc seq="0">
                <mensagem>[IN0187] DL-e processado com sucesso</mensagem>
                <numeroDle>16492019</numeroDle>
            </dleProc>
        </loteDLeProc>

Exemplo de retorno de XML com resposta de erro:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <loteDLeProc xmlns="http://www.portosempapel.gov.br/dle" versao="1.04">
            <dataProcessamento>2019-11-13T13:08:18.428-03:00</dataProcessamento>
            <dleProc seq="0">
                <mensagem>[ER0174] Não foi localizado o identificador do ponto de controle informado</mensagem>
            </dleProc>
        </loteDLeProc>