WS001 - Enviar rotas para Comprovei

Objetivo

Enviar uma rota para a Comprovei. Uma rota é caracterizada por um conjunto de paradas para coleta e/ou entregas e associada a um motorista e um veículo.

Caso as informações do motorista e veículo não sejam enviadas, a rota deve ser liberada manualmente, através do painel web.

As informações que caracterizam uma rota são (campos chave):
  • Nome da rota
  • Data da rota
  • Motorista
  • Placa da veículo principal

Características
  • As chamadas serão realizadas via "SOAP" sobre HTTP;
  • A origem do chamado do web service será o sistema do cliente;

Autenticação

  • As chamadas terão autenticação a nível de transporte (Basic Authentication);
  • Solicite o user / password ao administrador da conta
POST http://soap.comprovei.com.br/WebServicePOD/server.php HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "urn:WebServiceComprovei#sendDocsToPOD"
Authorization: Basic {user / pass codificado em BASE64}
Content-Length: 117
Host: soap.comprovei.com.br
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

Descrição do método
 Método    sendDocsToPODV2
 Endereço de acesso  http://soap.comprovei.com.br/WebServicePOD/server.php?wsdl
 Versão atual  4.0 (10/05/2016) - inclusão da estrutura DANFE
 5.0 (07/07/2016) - inclusão do codigo interno do cliente e horários limites de inicio e fim da rota e região da rota
 6.0 (22/08/2016) - inclusão do destino da rota e dados do gerente e do supervisor da conta associada ao cliente
7.0 (11/10/2016) Inclusão das tags de agendamento
8.0 (05/12/2016) Inclusão da tag para tipo de veículo

Parâmetros de entrada
 Atributo  Tipo  Descrição
 conteudoArquivo  MIME Base64  conteúdo do arquivo {nome_do_arquivo.xml} codificado em MIME Base64    
 nomeArquivo  conjunto de caracteres  {nome_do_arquivo.xml} para identificação no servidor

Histórico das versões
 Data Responsável Histórico
 30/04/2016 rmiura Alteração da url de conexão

 07/07/2016 rmiura Inclusão de novas tags
 22/08/2016 rmiura Inclusão de novas tags
 :: Nome & Destino da rota
 :: Dados do gerente e supervisor da conta associado ao cliente
 11/10/2016 paulok  Inclusão de novas tags
 :: Agendamento
 05/12/2016 rmiura Inclusão de nova tag
:: TipoVeiculo
 07/03/2017     renatof Inclusão de nova tag
:: TipoRota
 26/04/2017 renatof     Alterado tipo de dado de string para integer na tag Numero, da base

Parâmetros de saída

 Atributo  Tipo  Descrição
 status  conjunto de caracteres  mensagem de retorno informando se o upload e a importação dos dados foram realizados com sucesso.  

Estrutura do arquivo {nome_do_arquivo.xml}

 Atributo  Tipo  Obrigatório  Descrição
+Rotas    sim  Indicador de inicio e fim do arquivo .xml
    +Rota    sim  Indicador de inicio da estrutura de um rota.  Um único arquivo .xml pode conter várias rotas e elas serão agrupadas na importação.
        Numero      string  sim  Número ou nome da rota. 
        rotadestino string nao Indicação do destino ou roteiro da rota (limitado a 30 caracteres)
        rotanome  string não Indicação do nome da rota
        Data  string  sim  Data de inicio da operação da rota. Obrigatório o formato YYYYMMDD
        Regiao string não Região da rota
        +Transportadora    não  Indicador de inicio da estrutura Transportadora. Uma rota pode conter uma única transportadora
            Codigo  string  não

 Código da transportadora. Normalmente é o cnpj sem pontos, traços ou barra. Somente números
            Razao  string  não  Nome da transportadora. Pode-se utilizar um nome curto (nome fantasia)
        +Motorista    não  Indicador de inicio da estrutura Motorista. Uma rota pode conter um único motorista. Informação não obrigatória, porém se não forem enviados a liberação da rota deverá ser manual
            Usuario  string  não  Código de usuário do motorista no sistema Comprovei
            PlacaVeiculo  string  não  Placa do veículo no formato AAA9999 (sem traço ou espaço)
        +Base      Indicador de inicio da estrutura das bases origem e destino. Essas informações são opcionais e devem ser necessariamente preenchidas nos casos de utilização da roteirização
            +Origem      Indicador de inicio da estrutura da base origem. Uma rota pode ter uma única base origem
                *codigo  string  não  Código da base de origem
                Nome  string  não  Nome da base de origem
                Rua  string  não  Logradouro da base de origem (Rua, Avenida, Praça,etc)
                Numero  integer  não  Número
                Complemento  string  não  Complemento do endereço
                Bairro  string  não  Bairro
                Cidade  string  não  Cidade
                Estado  string  não  Estado
                CEP  string  não  CEP (somente números, sem traço ou espaços)
                Pais  string  não  País
            +Destino       Indicador de inicio da estrutura da base destino. Uma rota pode ter uma única base destino
                *codigo  string  não  Código da base de destino
                Nome  string  não  Nome da base destino
                Rua  string  não  Logradouro da base de origem (Rua, Avenida, Praça,etc)
                Numero  integer  não  Número
                Complemento  string  não  Complemento do endereço
                Bairro  string  não  Bairro
                Cidade  string  não  Cidade
                Estado  string  não  Estado
                CEP  string  não  CEP (somente números, sem traço ou espaços)
                Pais  string  não  Pais
        +limites
   Indicador de início da estrutura de horários limites de início e término da rota
             inicio string não datahora limite para inicio da rota ***ATENÇÃO **** obrigatório ser no format AAAAMMDD HHMM
             fim string não datahora limite para fim da rota ***ATENÇÃO **** obrigatório ser no format AAAAMMDD HHMM
        TipoRota string    não Tipo da Rota. D (distribuição) | T (transbordo) | P (praça)
        +Paradas      Indicador de inicio da estrutura de paradas. Uma rota pode ter várias paradas
            +Parada      Indicador de início da estrutura de uma parada
                numero  string   sim  Número da parada
                Tipo  string  sim  Tipo da Parada (E = Entrega | C = Coleta)
                Mensagem  string  não  Mensagem para Coleta
                +Documento      Indicador de inicio da estrutura de um documento. Uma parada por tem um único documento. No caso de entregas com mais de um documento, deve-se criar uma nova parada para cada documento. O sistema identifica vários documentos em um mesmo endereço e realiza a consolidação
                    Tipo  string  sim  Tipo do documento (NFE, OS, CTE, etc). Não existe validação para esta informação e serve apenas para referência.
                    Serie  integer  sim  Série do documento (no caso de NFe). Se não tiver, enviar valor 0.
                    Emissao  string  sim  Data de emissão do documento. Obrigatório o formato YYYYMMDD
                    Numero  string  sim  Número do documento
                    ChaveNota string sim Chave identificadora do documento fiscal. Em casos de documentos nao fiscais utilizar o proprio numero do documento.
                    ValorNota string não Valor total do documento. Números decimais podem ter como separador "." ou ","
                    ModeloDoc string   não Modelo fiscal do documento (verificar junto a SEFAZ os modelos disponíveis)
                    Cnpj string não CNPJ (ou CPF) do destinatário do documento
                    CnpjEmissor string não CNPJ do emitente do documento e/ou do embarcador
                    CnpjTransportador string não CNPJ do transportador
                     Agendamento string não Data de agendamento do documento
                     +Janela   
                         DataHoraIni string não Horário de inicio da janela de entrega/coleta. Obrigatório utilizar o formato
 YYYYMMDD HHMM
                         DataHoraFim string não Horário de fim da janela de entrega/coleta. Obrigatório utilizar o formato
 YYYYMMDD HHMM
                +Cliente      Indicador de início da estrutura do cliente. Um documento está associado a um único cliente
                    Codigo  integer  sim  Código identificador do cliente. Pode ser o CNPJ, D-U-N-S number. Esse códigio é estritamente numérico
                    codigointerno string não Código interno ou alternativo do cliente. Esse código pode ser alfanumérico
                    Contato  string  não  Nome da pessoa de contato deste cliente
                    Telefone  string  não  Celular da pessoa de contado. Não colocar traços, espaços, hifens. SOMENTE NÚMEROS. Esta informação será utilizada para enviar notificações via SMS
                    Email  string  não  Email da pessoa de contato deste cliente. Esta informação será utilizada para enviar notificações por email ao cliente
                    Razao  string  sim  Razão social ou nome fantasia do cliente
                    Endereco  string  sim  Endereço do cliente. Colocar no formato Logradouro (Rua, Avenida, Praça, etc) Nome, número. NÃO COLOCAR COMPLEMENTOS
                    Bairro  string  sim  Bairro
                    Cidade  string  sim  Cidade
                    Estado  string  sim  Estado
                    Pais  string  sim  Pais
                    CEP  string  sim  Zipcode
                    Regiao string não Região
                    gerentecodigo string não Código do gerente da conta
                    gerentenome     string não Nome do gerente da conta
                    gerenteemail string não conta de email do gerente da conta
                    gerentecelular string não celular do gerente da conta no formato DDDNNNNNNNN
                    supervisorcodigo string não Código do supervisor da conta
                    supervisornome string não Nome do supervisor da conta
                    supervisoremail string não Conta de email do supervisor da conta
                    supervisorcelular string não Celular do supervisor da conta no formato DDDNNNNNNNN
                 +danfes   Indicador de início da estrutura das danfe's associadas ao documento de entrega
                     +danfe   Indicador de início da primeira DANFE deste documento
                         *NumDanfe   Número da NF-e
                         SerieDanfe   Série da NF-e
                         chavedanfe   Chave da NF-e
                         dataemissaodanfe   Data de emissão desta Danfe. Obrigatório estar no formato YYYYMMDD
                +SKUs      Indicador de início da estrutura de itens do documento. Um item pode ser um produto, um volume, um palete, etc
                    +SKU      Indicador de início da estrutura do primeiro item deste documento
                        *codigo  string  sim  Código do item, volume, palete, etc
                        PesoBruto  string  não  Peso bruto em Kg. Números decimais podem ter como separador "." ou ","
                        PesoLiquido  string  não  Peso líquido em Kg. Números decimais podem ter como separador "." ou ","
                        Volumes  string  sim  Quantidade de volumes total do documento
                        Descricao  string  sim  Descriçao do item, volume, palete, etc
                        Qde  string  sim  Quantidade deste item, volume, palete, etc
                        UOM  string  sim  Unidade de medida deste item, volume, palete, etc
                        Barcode  string  sim  Barcode associado a este item, volume, palete, etc
* Campos marcados com asterisco são atributos da TAG.

Exemplo de arquivo xml
<?xml version="1.0" encoding="UTF-8"?>
<Rotas>
  <Rota numero="12/1/9999">
    <Data>20150710</Data>
    <Transportadora>
      <Codigo>0</Codigo>
      <Razao>SEM TRANSPORTADORA</Razao>
    </Transportadora>
    <Motorista>
      <Usuario>0017</Usuario>
      <PlacaVeiculo>EIJ9079</PlacaVeiculo>
    </Motorista>
    <Base>
      <Origem codigo="1">
        <Nome>BASE1</Nome>
        <Rua>Rua Prefeito Tigre Maia</Rua>
        <Numero>650</Numero>
        <Complemento></Complemento>
        <Bairro>Pinheirinho</Bairro>
        <Cidade>Itajubá</Cidade>
        <Estado>MG</Estado>
        <CEP>37500182</CEP>
        <Pais>Brasil</Pais>        
      </Origem>
      <Destino codigo="2">
        <Nome>BASE2</Nome>
        <Rua>Rua Antonio Simão Mauad</Rua>
        <Numero>444</Numero>
        <Complemento></Complemento>
        <Bairro>Pinheirinho</Bairro>
        <Cidade>Itajubá</Cidade>
        <Estado>MG</Estado>
        <CEP>37500356</CEP>
        <Pais>Brasil</Pais>
      </Destino>
    </Base>
    <TipoRota>D</TipoRota>
    <Paradas>
      <Parada numero="1">
        <Tipo>E</Tipo>
        <Mensagem>Entrega</Mensagem>
        <Documento>
          <Tipo>NFS</Tipo>
          <Serie>1</Serie>
          <Emissao>20150710</Emissao>
          <Numero>01</Numero>
        </Documento>
        <Cliente>
          <Codigo>35231360001</Codigo>
          <Contato>UNIFEI</Contato>
          <Telefone></Telefone>
          <Email></Email>
          <Razao>UNIFEI</Razao>
          <Endereco>Av. Benedito Pereira Santos, 1303</Endereco>
          <Bairro>Pinheirinho</Bairro>
          <Cidade>Itajubá</Cidade>
          <Estado>MG</Estado>
          <Pais>Brasil</Pais>
          <CEP>37500903</CEP>
        </Cliente>  
        <SKUs>
          <SKU codigo="2100050000000000000000000000000000000000000">
            <PesoBruto>40</PesoBruto>
            <PesoLiquido>36</PesoLiquido>
            <Volumes>3</Volumes>
            <Descricao>Produto 1</Descricao>
            <Qde>3</Qde>
            <Uom>CX</Uom>
            <Barcode>9003579311295</Barcode>
          </SKU>
        </SKUs>
      </Parada>
      <Parada numero="2">
        <Tipo>E</Tipo>
        <Mensagem>Entrega</Mensagem>
        <Documento>
          <Tipo>NFS</Tipo>
          <Serie>1</Serie>
          <Emissao>20150711</Emissao>
          <Numero>02</Numero>
        </Documento>
        <Cliente>
          <Codigo>35231360002</Codigo>
          <Contato>Renato</Contato>
          <Telefone></Telefone>
          <Email></Email>
          <Razao>Renato</Razao>
          <Endereco>Rua Coronel Rennó, 07</Endereco>
          <Bairro>Centro</Bairro>
          <Cidade>Itajubá</Cidade>
          <Estado>MG</Estado>
          <Pais>Brasil</Pais>
          <CEP>37500050</CEP>
        </Cliente>  
        <SKUs>
          <SKU codigo="2100050000000000000000000000000000000000000">
            <PesoBruto>40</PesoBruto>
            <PesoLiquido>36</PesoLiquido>
            <Volumes>3</Volumes>
            <Descricao>Produto 1</Descricao>
            <Qde>3</Qde>
            <Uom>CX</Uom>
            <Barcode>9003579311295</Barcode>
          </SKU>
        </SKUs>
      </Parada>
      <Parada numero="3">
        <Tipo>E</Tipo>
        <Mensagem>Entrega</Mensagem>
        <Documento>
          <Tipo>NFS</Tipo>
          <Serie>1</Serie>
          <Emissao>20150712</Emissao>
          <Numero>03</Numero>
        </Documento>
        <Cliente>
          <Codigo>35231360003</Codigo>
          <Contato>Jonathan</Contato>
          <Telefone></Telefone>
          <Email></Email>
          <Razao>Jonathan</Razao>
          <Endereco>Rua São Judas Tadeu, 65</Endereco>
          <Bairro>Centro</Bairro>
          <Cidade>Itajubá</Cidade>
          <Estado>MG</Estado>
          <Pais>Brasil</Pais>
          <CEP>37500172</CEP>
        </Cliente>  
        <SKUs>
          <SKU codigo="2100050000000000000000000000000000000000000">
            <PesoBruto>40</PesoBruto>
            <PesoLiquido>36</PesoLiquido>
            <Volumes>3</Volumes>
            <Descricao>Produto 1</Descricao>
            <Qde>3</Qde>
            <Uom>CX</Uom>
            <Barcode>9003579311295</Barcode>
          </SKU>
        </SKUs>
      </Parada>
      <Parada numero="4">
        <Tipo>E</Tipo>
        <Mensagem>Entrega</Mensagem>
        <Documento>
          <Tipo>NFS</Tipo>
          <Serie>1</Serie>
          <Emissao>20150713</Emissao>
          <Numero>04</Numero>
        </Documento>
        <Cliente>
          <Codigo>35231360004</Codigo>
          <Contato>Rafael</Contato>
          <Telefone></Telefone>
          <Email></Email>
          <Razao>Rafael</Razao>
          <Endereco>Rua Oswaldo Cruz, 78</Endereco>
          <Bairro>Varginha</Bairro>
          <Cidade>Itajubá</Cidade>
          <Estado>MG</Estado>
          <Pais>Brasil</Pais>
          <CEP>37501168</CEP>
        </Cliente>  
        <SKUs>
          <SKU codigo="2100050000000000000000000000000000000000000">
            <PesoBruto>40</PesoBruto>
            <PesoLiquido>36</PesoLiquido>
            <Volumes>3</Volumes>
            <Descricao>Produto 1</Descricao>
            <Qde>3</Qde>
            <Uom>CX</Uom>
            <Barcode>9003579311295</Barcode>
          </SKU>
        </SKUs>
      </Parada>
      <Parada numero="5">
        <Tipo>E</Tipo>
        <Mensagem>Entrega</Mensagem>
        <Documento>
          <Tipo>NFS</Tipo>
          <Serie>1</Serie>
          <Emissao>20150714</Emissao>
          <Numero>05</Numero>
        </Documento>
        <Cliente>
          <Codigo>35231360005</Codigo>
          <Contato>Paulo</Contato>
          <Telefone></Telefone>
          <Email></Email>
          <Razao>Paulo</Razao>
          <Endereco>Rua Bartolomeu Tadei, 189A</Endereco>
          <Bairro>Pinheirinho</Bairro>
          <Cidade>Itajubá</Cidade>
          <Estado>MG</Estado>
          <Pais>Brasil</Pais>
          <CEP>37500186</CEP>
        </Cliente>  
        <SKUs>
          <SKU codigo="2100050000000000000000000000000000000000000">
            <PesoBruto>40</PesoBruto>
            <PesoLiquido>36</PesoLiquido>
            <Volumes>3</Volumes>
            <Descricao>Produto 1</Descricao>
            <Qde>3</Qde>
            <Uom>CX</Uom>
            <Barcode>9003579311295</Barcode>
          </SKU>
        </SKUs>
      </Parada>
    </Paradas>
  </Rota>    
</Rotas>