Fork me on GitHub
Você esta em:Home » Destaque » Tutorial de como resgatar dados do Magento.

Tutorial de como resgatar dados do Magento.

Entenda como resgatar todos os dados de uma ordem de serviço para montar relatórios, envio de emails e envios por Webservice ou Banco de dados de outros sistema como um ERP ou CRM.

Abaixo explicarei como recuperar os principais dados do cliente e dos principais dados de um pedido.

Segue script para recuperação a princio dos dados no arquivo de sucesso do Magento, esse mesmo script pode ser configurado e add mais funções, para que assim possa ser utilizado no cron do Magento ou Linux para envio de dados a um Webservice ou Banco de dados.

include_once '../app/Mage.php';

Mage::app();

$myOrder=Mage::getModel('sales/order');
$orders=Mage::getModel('sales/mysql4_order_collection');


/*Caso coloque esse script na Cron pode resgatar os pedidos faturados assim:*/

/*
$orders->addFieldToFilter('total_paid',Array('gt'=>0)); //Amount paid larger than 0
$orders->addFieldToFilter('state',Array('like'=>"%processing%")); //Status is "processing"
$orders->addFieldToFilter('status',Array('like'=>"%completed%")); //Status is "completed"
$orders->addFieldToFilter('status',Array('like'=>"%lise de Sua Compra%")); //Status caso tenha personalizado uma label "Análise de Sua Compra"
$allIds = $orders->getAllIds();
*/

//Coloquei o $this pois estou julgando que vc esteja na tela de sucesso do Magento e não que esse script esteja sendo disparado pela cron como coloquei acima

$myOrder->load( $this->getOrderId() );

    $PEDnum = $myOrder->getRealOrderId();
    $PEDtrans = $myOrder->getShipping_description();
    $PEDvalfrete = $myOrder->getShipping_amount();
    $Pedsubtotal = $myOrder->getBase_subtotal();
    $PEDstatus = $myOrder->getStatus();
    $PEDvalorpago = $myOrder->getTotal_paid();
    $PEDpagopor = $myOrder->getPayment();

    $PEDdtcriado = $myOrder->getCreatedAt();
      $pago1 = explode(" ", $PEDdtcriado);
        $pagodt1 = explode("-", $pago1[0]);
        $PEDdtcriado = $pagodt1[2].'/'.$pagodt1[1].'/'.$pagodt1[0];

    $PEDdtpago = $myOrder->getUpdatedAt();
      $pago2 = explode(" ", $PEDdtpago);
        $pagodt2 = explode("-", $pago2[0]);
        $PEDdtpago = $pagodt2[2].'/'.$pagodt2[1].'/'.$pagodt2[0];


    $CLIid = $myOrder->getCustomerId();
    $CLInome = $myOrder->getCustomerName();
    $CLIcpfcnpj = $myOrder->getCustomerTaxvat();
    $CLIie = $myOrder->getBillingAddress()->getFax();

    $CLIemail = removeacentos1($myOrder->getCustomerEmail());
    $CLItel = $myOrder->getBillingAddress()->getTelephone();
    $CLiendereco = $myOrder->getBillingAddress()->getStreet1();
        $CLiendereco2 = explode(" ", $CLiendereco);
        $CLIenderecoLogadouro = $CLiendereco2[0];

    $CLInumero = $myOrder->getBillingAddress()->getStreet2();
    $CLIcomplemento = $myOrder->getBillingAddress()->getStreet3();
    $CLIbairro = $myOrder->getBillingAddress()->getStreet4();
    $CLIcidade = $myOrder->getBillingAddress()->getCity();
    $CLIestado = $myOrder->getBillingAddress()->getRegion();
    $CLIcep = $myOrder->getBillingAddress()->getPostcode();
    $CLIufid = $myOrder->getBillingAddress()->getRegionId();




    $ENTnome = $myOrder->getShippingAddress()->getName();
    $ENTemail = $myOrder->getShippingAddress()->getEmail();
    $ENTtel = $myOrder->getShippingAddress()->getTelephone();
    $ENTfax = $myOrder->getShippingAddress()->getFax();
    $ENTendereco = $myOrder->getShippingAddress()->getStreet1();
        $ENTendereco2 = explode(" ", $ENTendereco);
        $ENTenderecoLogadouro = $ENTendereco2[0];

    $ENTnumero = $myOrder->getShippingAddress()->getStreet2();
    $ENTcomplemento = $myOrder->getShippingAddress()->getStreet3();
    $ENTbairro = $myOrder->getShippingAddress()->getStreet4();
    $ENTcidade = $myOrder->getShippingAddress()->getCity();
    $ENTestado = $myOrder->getShippingAddress()->getRegion();
    $ENTcep = $myOrder->getShippingAddress()->getPostcode();
    $ENTufid = $myOrder->getShippingAddress()->getRegionId();

    /*resgate do tipo de pagamento feito no ipagare, caso não use o ipagare precisa verificar a forma de resgate padrão do meio de pagamento do Magento*/

    $pagamento = Mage::getModel('ipagare/pagamento_pagamento');
    $pagamento->loadByAttribute('order_id', $myOrder->getRealOrderId() );
    $meioPagamento = $pagamento->getMeioPagamento();
    $ITEMformaPagamento = $pagamento->getFormaPagamento();
    $ITEMformaPagamento = substr($ITEMformaPagamento, 1);

        /*
switch ($meioPagamento) {
case "38":
$ITEMmeiopagamento = 'Shop Ipagare Visa';
$ITEMmeiopagamentoentidade = '38';
$ITEMretencao = 6;
break;
case "47":
$ITEMmeiopagamento = 'Shop Ipagare Discover';
$ITEMmeiopagamentoentidade = '47';
$ITEMretencao = 6;
break;
case "41":
$ITEMmeiopagamento = 'Shop Ipagare MasterCard';
$ITEMmeiopagamentoentidade = '41';
$ITEMretencao = 6;
break;
case "45":
$ITEMmeiopagamento = 'Shop Ipagare Elo';
$ITEMmeiopagamentoentidade = '45';
$ITEMretencao = 6;
break;
case "4":
$ITEMmeiopagamento = 'Shop Bradesco Debito';
$ITEMmeiopagamentoentidade = '4';
$ITEMretencao = 6;
break;
case "5":
$ITEMmeiopagamento = 'Shop Bradesco Financiamento';
$ITEMmeiopagamentoentidade = '5';
$ITEMretencao = 0;
break;
case "6":
$ITEMmeiopagamento = 'Shop Boleto Bradesco';
$ITEMmeiopagamentoentidade = '6';
$ITEMretencao = 0;
break;
default:
$ITEMmeiopagamento = 'Ipagare';
$ITEMmeiopagamentoentidade = '6';
$ITEMretencao = 0;
}
*/

view raw
DicaFodaHeim.php
This Gist is brought to you using Github.

https://gist.github.com/3994170

Sobre o Autor

Designer, Web Developer & Linux Administrator

Meu nome é Deivison Arthur, tenho 29 anos, sou Administrador Linux, Analista de Sistema, Webdesigner e Pesquisador. há mais de dez anos. Nasci no Rio de Janeiro, atualmente trabalho como Gerente de Tecnologia e E-commerce at Grupo FFernandes e Freelancer nas horas vagas. Desenvolvimento em Joomla, Wordpress, Drupal, Magento e outros GPLs...

Quantidade de Artigos : 114

Enviar Comentário

© 2012 Powered By Wordpress, Deivison Arthur

Ir para cima