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.
:
| Type | Name | Description |
|---|---|---|
| string | sessionId | Session ID |
| array | filters | Array of filters for the list of sales orders (optional) |
Returns:
| Type | name | Description |
|---|---|---|
| array | result | Array of salesOrderEntity |
The salesOrderEntity content is as follows:
| Type | Name | Description |
|---|---|---|
| string | increment_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...