Realizado

Soap request em Php para cotação de frete Latamcargo

Publicado em 30 de Janeiro de 2019 dias na TI e Programação

Sobre este projeto

Aberto

Construir uma chamada em php para o seguinte wsdl:
https://minutaservices.lancargo.com/DisplayQuotationByClient-3.0.0-ws/DisplayQuotationByClient-3.0.0?wsdl

Usar o seguinte headers na chamada:
LAN-ApplicationName => TESTE

Autenticação para o soap:
usuário  srvparabellum
senha  pym9kuac

em anexo será enviado o arquivo de projeto do soap-ui que funciona perfeitamente, somente necessita implementar em php esta chamada soap.

Exemplo de envelope SOAP a ser pesquisado:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v3="http://ws.latam.com/v3_0">
  <soapenv:Header/>
  <soapenv:Body>
      <v3:DisplayQuotationByClientRQ>
       
        <Client>
            <Type>1</Type>
            <isPayer>true</isPayer>
            <LegalPerson>
              <identification>
                  <id>14023438000108</id> -- campo obrigatório (CNPJ Tomador) para Cotação Privada;
                  <code>CNPJ</code>
                  <description>Miranda e Pedrassani ltda me</description>
              </identification>
            </legalperson>
        </client>
       
        <document>
            <insurance>
              <type>1</type>
              <declaredvalue currencycode="?">1000</declaredvalue>
            </insurance>
            <comercialproduct>25</comercialproduct>
        </document>
       
        <cargo>
            <packinglist>
              <packing>
                  <package>
                    <identificator>
                        <code>1</code>
                        <description>caixa</description>
                    </identificator>
                    <dimensions>
                        <height unitdimentioncode="?">10</height>
                        <length unitdimentioncode="?">10</length>
                        <width unitdimentioncode="?">10</width>
                    </dimensions>
                  </package>
                  <pieces>
                    <quatity>1</quatity>
                    <weight unitweightcode="?">4.58</weight>
                  </Pieces>
              </Packing>
            </PackingList>
           
            <Collect>
              <code>S</code>
              <postalCode>80210250</postalCode>
            </Collect>
         
            <Delivery>
              <code>S</code>
              <postalCode>05549330</postalCode>
            </Delivery>
         
            <Commodity>
              <code>1</code>
              <name>carga geral</name>
            </commodity>
        </cargo>
      </v3:displayquotationbyclientrq>
  </soapenv:body>
</soapenv:envelope>

e receber uma resposta válida do servidor com a cotação do frete, resposta no soapui para a pesquisa acima é a seguinte:
    <s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Header>
      <WorkContext xmlns="http://oracle.com/weblogic/soap/workarea/">rO0ABXdSABx3ZWJsb2dpYy5hcHAuYm9va2luZ2NhcGFjaXR5AAAA1gAAACN3ZWJsb2dpYy53b3JrYXJlYS5TdHJpbmdXb3JrQ29udGV4dAAFMi4wLjAAAA==</WorkContext>
  </S:Header>
  <S:Body>
      <ns0:DisplayQuotationByClientRS xmlns:ns0="http://ws.latam.com/v3_0">
        <QuotationList>
            <Quotation>
              <comercialProduct>25</comercialProduct>
              <AccountingInfo>
                  <Rates>
                    <value>35.1</value>
                    <type>C_CS</type>
                    <totalFreight>41.8</totalFreight>
                  </Rates>
                  <Taxes>
                    <value>1.67</value>
                    <percent>4.0</percent>
                    <totalTax>41.8</totalTax>
                  </Taxes>
              </AccountingInfo>
              <Charges>
                  <Collect>
                    <code>Br99</code>
                    <name>tx de coleta</name>
                    <totalvalue>0.0</totalValue>
                    <AccountingInfo>
                        <amount>0.0</amount>
                        <calcType>SUMA</calcType>
                        <minValue>0.0</minValue>
                    </AccountingInfo>
                  </Collect>
                  <OtherChargesList>
                    <OtherCharges>
                        <code>Ce03</code>
                        <name>taxa de dificuldade de entrega</name>
                        <totalvalue>0.0</totalValue>
                        <AccountingInfo>
                          <amount>2.0</amount>
                          <calcType>SUMA</calcType>
                          <minValue>2.0</minValue>
                        </AccountingInfo>
                    </OtherCharges>
                    <OtherCharges>
                        <code>Ce02</code>
                        <name>taxa de contratação de veículo extra</name>
                        <totalvalue>0.0</totalValue>
                        <AccountingInfo>
                          <amount>1.0</amount>
                          <calcType>SUMA</calcType>
                          <minValue>1.0</minValue>
                        </AccountingInfo>
                    </OtherCharges>
                    <OtherCharges>
                        <code>Ce01</code>
                        <name>taxa de escolta</name>
                        <totalvalue>0.0</totalValue>
                        <AccountingInfo>
                          <amount>0.0</amount>
                          <calcType>SUMA</calcType>
                          <minValue>0.0</minValue>
                        </AccountingInfo>
                    </OtherCharges>
                    <OtherCharges>
                        <code>Br101</code>
                        <name>lin braquicefalicos</name>
                        <totalvalue>0.0</totalValue>
                        <AccountingInfo>
                          <amount>135.0</amount>
                          <calcType>SUMA</calcType>
                          <minValue>135.0</minValue>
                          <maxValue>135.0</maxValue>
                        </AccountingInfo>
                    </OtherCharges>
                    <OtherCharges>
                        <code>Tam01</code>
                        <name>cargo integracion</name>
                        <totalvalue>0.0</totalValue>
                        <AccountingInfo>
                          <amount>0.0</amount>
                          <calcType>SUMA</calcType>
                          <minValue>0.0</minValue>
                        </AccountingInfo>
                    </OtherCharges>
                    <OtherCharges>
                        <code>Br07</code>
                        <name>taxa devida ao transportador</name>
                        <totalvalue>0.0</totalValue>
                        <AccountingInfo>
                          <amount>1.0</amount>
                          <calcType>SUMA</calcType>
                          <minValue>0.0</minValue>
                        </AccountingInfo>
                    </OtherCharges>
                    <OtherCharges>
                        <code>Br96</code>
                        <name>ad valorem</name>
                        <totalvalue>6.7</totalValue>
                        <AccountingInfo>
                          <amount>0.67</amount>
                          <calcType>PORCENTAJE</calcType>
                          <minValue>0.0</minValue>
                          <maxValue>0.0</maxValue>
                        </AccountingInfo>
                    </OtherCharges>
                  </OtherChargesList>
              </Charges>
            </Quotation>
        </QuotationList>
        <ServiceStatus>
            <code>0</code>
        </ServiceStatus>
      </ns0:DisplayQuotationByClientRS>
  </S:Body>
</S:Envelope>

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias

PHP