terça-feira, 14 de maio de 2013

Estudo API Soap v2 para Magento -Mage_Sales - I - sales_order_list

Estudo API Soap v2 para Magento


O Magento Soap  API fornece a capacidade de gerenciar suas lojas de comércio eletrônico, fornecendo chamadas para trabalhar com recursos, tais como clientes, categorias, produtos e ordens de vendas. Ele também permite que você gerencie carrinhos de compras e estoques.
A versão do SOAP API v2 está disponível desde o Magento 1.3 e uma versão compatível com WS-I está disponível desde o Magento 1.6. (http://www.magentocommerce.com/api/soap/introduction.html)
Existe na documentação da API vários recursos de acesso aos dados para o gerenciamento das lojas de comércio eletrônico, porém esse estudo ira abordar os seguintes recursos:
Catálogo
Inventário do catálogo
Checkout
Clientes
Diretório
Vendas

Vamos iniciar o estudo pelo recurso Vendas, analisando seus recursos e métodos.

O módulo para lidar com as vendas do magento chama-se Mage_Sales e está divido em quatro recursos:

sales_order
sales_order_invoice
sales_order_shipment
sales_order_creditmemo


SALES_ORDER
sales_order(6 métodos)- Permite gerenciar ordens de venda, pedidos.

sales_order.list -Recuperar a lista de pedidos usando filtros
sales_order.info - Recuperar as informações do pedido
sales_order.addComment - Adicione um comentário a um pedido
sales_order.hold - Mantém um pedido
sales_order.unhold - Retoma um pedido
sales_order.cancel - Cancela um pedido

Exemplos: Vamos iniciar pelo método sales_order_list do recurso sales_order.
Criamos um documento php no qual deverá estar em um diretório do servidor da qual está hospedada a loja. Acompanhe os comentários que explicam os procedimentos.


<?php $client = new SoapClient('http://seu_host/api/v2_soap/?wsdl');// É aqui que instânciamos a classe wsdl da versão soap2, responsável pelo reconhecimento dos métodos.

$sessionId = $client->login('usuario', 'responsavel_senha');//Identificação de usuário que tem permissão para acessar os dados. Essa permissão
é criada no backend do admim do magento. Consulte como criar esses papeis de autorização.

$filter = array ('filter' => array (array ('key' => 'status', 'value' => 'processing')));//Recupera os pedidos com status "processing".

$result = $client->salesOrderList($sessionId,$filter);// Executa o método trazendo o resultado filtrado.

$array = json_decode(json_encode($result), true ); // essa função transforma objetos em arrays,
facilitando sua manipulação através das funções naturais do php.

echo "<pre>";
//var_dump ($result);
print_r($array);// Aqui é onde o php mostra o resultado da função.
echo "</pre>";
?>

 Veja a tabela completa de retorno.

:
TypeNameDescription
stringsessionIdSession ID
arrayfiltersArray of filters for the list of sales orders (optional)
Returns:
TypenameDescription
arrayresultArray of salesOrderEntity
The salesOrderEntity content is as follows:
TypeNameDescription
stringincrement_id Increment ID
string parent_id Parent ID
string store_id Store ID
string created_at Date of creation
string updated_at Date of updating
string is_active Defines whether the order is active
string customer_id Customer ID
string tax_amount Tax amount
string shipping_amount Shipping amount
string discount_amount Discount amount
string subtotal Subtotal sum
string grand_total Grand total sum
string total_paid Total paid
string total_refunded Total refunded
string total_qty_ordered Total quantity ordered
string total_canceled Total canceled
string total_invoiced Total invoiced
string total_online_refunded Total online refunded
string total_offline_refunded Total offline refunded
string base_tax_amount Base tax amount
string base_shipping_amount Base shipping amount
string base_discount_amount Base discount amount
string base_subtotal Base subtotal
string base_grand_total Base grand total
string base_total_paid Base total paid
string base_total_refunded Base total refunded
string base_total_qty_ordered Base total quantity ordered
string base_total_canceled Base total canceled
string base_total_invoiced Base total invoiced
string base_total_online_refunded Base total online refunded
string base_total_offline_refunded Base total offline refunded
string billing_address_id Billing address ID
string billing_firstname First name in the billing address
string billing_lastname Last name in the billing address
string shipping_address_id Shipping address ID
string shipping_firstname First name in the shipping address
string shipping_lastname Last name in the shipping address
string billing_name Billing name
string shipping_name Shipping name
string store_to_base_rate Store to base rate
string store_to_order_rate Store to order rate
string base_to_global_rate Base to global rate
string base_to_order_rate Base to order rate
string weight Weight
string store_name Store name
string remote_ip Remote IP
string status Order status
string state Order state
string applied_rule_ids Applied rule IDs
string global_currency_code Global currency code
string base_currency_code Base currency code
string store_currency_code Store currency code
string order_currency_code Order currency code
string shipping_method Shipping method
string shipping_description Shipping description
string customer_email Email address of the customer
string customer_firstname Customer first name
string customer_lastname Customer last name
string quote_id Shopping cart ID
string is_virtual Defines whether the product is a virtual one
string customer_group_id Customer group ID
string customer_note_notify Customer notification
string customer_is_guest Defines whether the customer is a guest
string email_sent Defines whether the email notification is sent
string order_id Order ID
string gift_message_id Gift message ID
string gift_message Gift message

fonte:http://www.magentocommerce.com/api/soap/sales/salesOrder/sales_order.list.html

O resultado seria algo do tipo, ou seja informações relativas aos pedidos de vendas como id do pedido em "increment_id", "customer_id", total comprado em "grand_total" e etc.








Nenhum comentário :

Postar um comentário

Pergunte, inquira, descubra...