gpupo/netshoes-sdk

This package is abandoned and no longer maintained. No replacement package was suggested.

SDK Não Oficial para integração a partir de aplicações PHP com APIs da Netshoes Marketplace

v1.4.4 2017-10-24 12:09 UTC

README

SDK Não Oficial para integração a partir de aplicações PHP com as APIs da Netshoes Marketplace

Paypal Donations

Requisitos para uso

Este componente não é uma aplicação Stand Alone e seu objetivo é ser utilizado como biblioteca. Sua implantação deve ser feita por desenvolvedores experientes.

Isto não é um Plugin!

As opções que funcionam no modo de comando apenas servem para depuração em modo de desenvolvimento.

A documentação mais importante está nos testes unitários. Se você não consegue ler os testes unitários, eu recomendo que não utilize esta biblioteca.

Direitos autorais e de licença

Este componente está sob a licença MIT

Para a informação dos direitos autorais e de licença você deve ler o arquivo de licença que é distribuído com este código-fonte.

Resumo da licença

Exigido:

  • Aviso de licença e direitos autorais

Permitido:

  • Uso comercial
  • Modificação
  • Distribuição
  • Sublicenciamento

Proibido:

  • Responsabilidade Assegurada

Indicadores de qualidade

Build Status Scrutinizer Code Quality Codacy Badge Code Climate Test Coverage

SensioLabsInsight

StyleCI

Agradecimentos

- Gilmar Pupo

Instalação

Adicione o pacote netshoes-sdk ao seu projeto utilizando composer:

composer require gpupo/netshoes-sdk

Acesso ao componente:

<?php

use Gpupo\NetshoesSdk\Factory;

$sdk = Factory::getInstance()->setup([
    'client_id'     => 'foo',
    'access_token'  => 'bar',
    'version'       => 'sandbox',
 ]);

$manager = $sdk->factoryManager('product');
Parâmetro Descrição Valores possíveis
client_id Chave da loja string
access_token Token de autorização da aplicação string
version Identificação do Ambiente sandbox, prod (produção)
registerPath Quando informado, registra no diretório informado, os dados de cada requisição executada

Registro (log)

Adicione log para as atividades do componente:

<?php
//..
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
//..
$logger = new Logger('foo');
$logger->pushHandler(new StreamHandler('var/log/main.log', Logger::DEBUG));
$sdk->setLogger($logger);

Administração de Produtos

Para informações do formato de $data veja o arquivo vendor/gpupo/netshoes-sdk/Resources/fixture/Product/new.json

Acesso a lista de produtos cadastrados

<?php
//..
$produtosCadastrados = $sdk->factoryManager('product')->fetch(); // Collection de Objetos Product

Acesso a informações de um produto cadastrado e com identificador conhecido:

<?php
//..
$produto = $sdk->factoryManager('product')->findById(9)); // Objeto Produto
echo $product->getName(); // Acesso ao nome do produto de Id 9

Acesso ao Status de um Product

<?php
//..
$status = $sdk->factoryManager('product')->fetchStatusById(9)); // Objeto Status
$status->isPending(); // boolean ou RuntimeException code 404 (inexistente)

Criação de um produto

<?php
$product = $sdk->createProduct($data);

Gravação de Product

<?php
//..
$sdk->factoryManager('product')->save($product);

Atualização de Product

<?php
$manager = $sdk->factoryManager('product');
$previous = $sdk->createProduct($previousData);
$product = $sdk->createPrevious($data);
$manager->update($product, $previous);

A atualização compara $product com $previous é uma instância de Product para identificar apenas os campos que precisam de atualização;

Importante: $previous deve ser armazenada localmente, para reduzir a quantidade de requisições à API;

Atualização de Sku

<?php
$manager = $sdk->factoryManager('sku');
$previous = $sdk->createSku($previousData);
$sku = $sdk->createSku($data);
$manager->update($sku, $previous);

A atualização compara o SKU atual com $previous é uma instância de Sku para identificar apenas os campos que precisam de atualização;

Importante: $previous deve ser armazenada localmente, para reduzir a quantidade de requisições à API;

Administração de Pedidos

Fluxo de status dos pedidos:

Created --> Approved --> Invoiced --> Shipped --> Delivered

Para informações do formato de $data veja o arquivo vendor/gpupo/netshoes-sdk/Resources/fixture/Order/new.json

A seguir seguem exemplos de mudanças de status de um pedido:

Invoiced

<?php
//..
$order = $sdk->createOrder($data)->setOrderStatus('invoiced');
$invoice = $sdk->createInvoice([
	'number'    => 4003,
	'line'      => 1,
	'accessKey' => '1789616901235555001000004003000004003',
	'issueDate' => '2016-05-10T09:44:54.000-03:00',
]);
$order->getShipping()->setInvoice($invoice);
echo $sdk->factoryManager('order')->update($order)->getHttpStatusCode()); // 200

Shipped

<?php
//..
$order = $sdk->createOrder($data)->setOrderStatus('shipped');
$transport = $sdk->createTransport([
	"carrier"               => "Correios",
	"trackingNumber"        => "PJ521644335BR",
	"shipDate"              => "2016-05-10T10:46:00.000-03:00",
	"estimatedDeliveryDate" => "2016-05-10T10:46:00.000-03:00",
]);
$order->getShipping()->setTransport($transport);
echo $sdk->factoryManager('order')->update($order)->getHttpStatusCode()); // 200

Delivered

<?php
//..
$order = $sdk->createOrder($data)
	->setOrderStatus('delivered')
	->getShipping()->getTransport()
	->setDeliveryDate("2016-05-10T10:53:00.000-03:00");
echo $sdk->factoryManager('order')->update($order)->getHttpStatusCode()); // 200

Trade Order

Acesso ao output padrão Trading Order

<?php
//..
use Gpupo\NetshoesSdk\Entity\Order\Order;
use Gpupo\NetshoesSdk\Entity\Order\Manager;
//...
$manager = new Manager();
$tradeOrder = $manager->export($order);

Console

Lista de comandos disponíveis

$ ./vendor/bin/netshoes-sdk

Verificar suas credenciais Netshoes na linha de comando

$ ./vendor/bin/netshoes-sdk credential:test

Product

Verificar a situação de um produto

$ ./vendor/bin/netshoes-sdk produto:view [id]

Inserir um produto a partir de um arquivo json

$ ./vendor/bin/netshoes-sdk  product:insert --file=vendor/gpupo/netshoes-sdk/Resources/fixture/Product/new.json

Atualizar um produto a partir de dois arquivos

$ ./vendor/bin/netshoes-sdk   product:update \
    --file-previous=Resources/fixture/Product/Update/previous.json \
    --file-current=Resources/fixture/Product/Update/current.json

Exibe os SKUs de um produto

$ ./vendor/bin/netshoes-sdk product:sku:view 14080

Mostra preço, estoque e situação de um SKU

$ ./vendor/bin/netshoes-sdk product:sku:details 14080

Atualizar um produto a partir de um arquivo json

$ ./vendor/bin/netshoes-sdk  product:sku:update --file=vendor/gpupo/netshoes-sdk/Resources/fixture/Product/Sku/update.json

Templates

Lista de Departamentos

./vendor/bin/netshoes-sdk templates:departments NS

Order

Detalhes de um pedido

$./vendor/bin/netshoes-sdk order:view 111111

Movendo um pedido para Approved a partir de seu número e informações contidas em arquivo

$ ./vendor/bin/netshoes-sdk order:update:to:approved 111111 --file=vendor/gpupo/netshoes-sdk/Resources/fixture/Order/Status/Request/toApproved.json

Movendo um pedido para Invoiced a partir de seu número e informações contidas em arquivo

$ ./vendor/bin/netshoes-sdk order:update:to:invoiced 111111 --file=vendor/gpupo/netshoes-sdk/Resources/fixture/Order/Status/Request/toInvoiced.json

Movendo um pedido para Shipped a partir de seu número e informações contidas em arquivo

$ ./vendor/bin/netshoes-sdk order:update:to:shipped 111111 --file=vendor/gpupo/netshoes-sdk/Resources/fixture/Order/Status/Request/toShipped.json

Movendo um pedido para Delivered a partir de seu número e informações contidas em arquivo

$ ./vendor/bin/netshoes-sdk order:update:to:delivered 111111 --file=vendor/gpupo/netshoes-sdk/Resources/fixture/Order/Status/Request/toDelivered.json

Configurações

Você poder criar um arquivo chamado bin/.netshoes.json com suas configurações personalizadas, as quais serão utilizadas na linha de comando

{
    "client_id": "foo",
    "access_token": "bar"
}

Utilize como modelo o arquivo bin/app.json.dist

Links

Desenvolvimento

git clone --depth=1  git@github.com:gpupo/netshoes-sdk.git
cd netshoes-sdk;
ant;

Personalize a configuração do phpunit:

cp phpunit.xml.dist phpunit.xml;

Personalize os parâmetros!

Dica: Verifique os logs gerados em var/log/main.log

Todo list

  • Atualmente os a estrutura de Produtos está relacionando cada SKU a um Product com o mesmo Id, ou seja, não há agrupamento de SKUs em um único Product, por conta da estrutura atual de apresentação de produtos no marketplace da Netshoes. No futuro, quando o agrupamento for implementado, as rotas de Entity/Product/Sku precisam ser revistas.

Propriedades dos objetos

NetshoesSdk\Client\Client

  • Sucesso ao definir options
  • Gerencia uri de recurso
  • Objeto request possui header
  • Acesso a lista de pedidos
  • Acesso a lista de produtos
  • Render authorization
  • Falha ao ser usado sem credenciais

NetshoesSdk\Console\Application

  • Factory sdk
  • Append command

NetshoesSdk\Entity\Order\Decorator\Status\Approved

  • Recebe o objeto Order
  • Falha ao validar Order com informações mínimas requeridas ausentes
  • Falha ao tentar submeter uma ordem incompleta para mudança de status
  • Tem sucesso ao validar as informações mínimas requeridas para uma mudança de status
  • Prepara as informações como de acordo com o pedido na mudança de status
  • Prepara JSON de acordo com o pedido na mudança de status
  • Lida com as mensagens de validação
  • Lida com as mensagens de validação especificando o atributo com problemas
  • Possui validação de Order

NetshoesSdk\Entity\Order\Decorator\Status\Canceled

  • Falha ao validar Order sem Cancellation Reason
  • Recebe o objeto Order
  • Falha ao validar Order com informações mínimas requeridas ausentes
  • Falha ao tentar submeter uma ordem incompleta para mudança de status
  • Tem sucesso ao validar as informações mínimas requeridas para uma mudança de status
  • Prepara as informações como de acordo com o pedido na mudança de status
  • Prepara JSON de acordo com o pedido na mudança de status
  • Lida com as mensagens de validação
  • Lida com as mensagens de validação especificando o atributo com problemas
  • Possui validação de Order

NetshoesSdk\Entity\Order\Decorator\Status\Delivered

  • Recebe o objeto Order
  • Falha ao validar Order com informações mínimas requeridas ausentes
  • Falha ao tentar submeter uma ordem incompleta para mudança de status
  • Tem sucesso ao validar as informações mínimas requeridas para uma mudança de status
  • Prepara as informações como de acordo com o pedido na mudança de status
  • Prepara JSON de acordo com o pedido na mudança de status
  • Lida com as mensagens de validação
  • Lida com as mensagens de validação especificando o atributo com problemas
  • Possui validação de Order

NetshoesSdk\Entity\Order\Decorator\Status\Invoiced

  • Recebe o objeto Order
  • Falha ao validar Order com informações mínimas requeridas ausentes
  • Falha ao tentar submeter uma ordem incompleta para mudança de status
  • Tem sucesso ao validar as informações mínimas requeridas para uma mudança de status
  • Prepara as informações como de acordo com o pedido na mudança de status
  • Prepara JSON de acordo com o pedido na mudança de status
  • Lida com as mensagens de validação
  • Lida com as mensagens de validação especificando o atributo com problemas
  • Possui validação de Order

NetshoesSdk\Entity\Order\Decorator\Status\Shipped

  • Recebe o objeto Order
  • Falha ao validar Order com informações mínimas requeridas ausentes
  • Falha ao tentar submeter uma ordem incompleta para mudança de status
  • Tem sucesso ao validar as informações mínimas requeridas para uma mudança de status
  • Prepara as informações como de acordo com o pedido na mudança de status
  • Prepara JSON de acordo com o pedido na mudança de status
  • Lida com as mensagens de validação
  • Lida com as mensagens de validação especificando o atributo com problemas
  • Possui validação de Order

NetshoesSdk\Entity\Order\Manager

  • Administra operações de SKUs
  • Possui objeto client
  • Get a list of Orders
  • Get a empty list of Orders
  • Get a list of Common Schema Orders
  • Get a list of most recent Common Schema Orders
  • Get a order based on order number
  • A atualização de status falha quando status não reconhecido
  • Update Common Schema Order the shipping status to Approved
  • Update the shipping status to Approved
  • Falha ao tentar mover o status de um pedido para invoiced sem informar NF
  • Update the shipping status to Invoiced
  • Update the shipping status to Canceled - Require Shipping Cancellation Reason
  • Não atualiza pedido que não alterou status
  • Normaliza Shipping
  • Update the shipping status to Delivered - Require Transport Delivery Date
  • Update the shipping status to Shipped - Require Transport Info
  • Pedido em situação Shipped possui Invoice
  • Pedido em situação Shipped possui Transport

NetshoesSdk\Entity\Order\OrderCollection

  • Links

  • É uma coleção de objetos \Gpupo\NetshoesSdk\Entity\Order\Order

  • É possui count() que é um indicador de quantidade de Pedidos

  • Possui objeto metadata

  • Metadata self

  • Metadata first

  • Metadata last

NetshoesSdk\Entity\Order\Order

  • Possui validação
  • Possui método getShipping() que é um atalho para ->getShippings()->first()
  • Falha ao acessar getShipping() quando não houver nenhum objeto
  • Possui método getInvoice() que é um atalho para ->getShippings()->first()->getInvoice()
  • Possui método setInvoice() que é um atalho para ->getShippings()->first()->setInvoice()
  • Possui método getItems() que é um atalho para ->getShippings()->first()->getItems()
  • Possui método getAgreedDate() para acessar AgreedDate
  • Possui método setAgreedDate() que define AgreedDate
  • Possui método getBusinessUnit() para acessar BusinessUnit
  • Possui método setBusinessUnit() que define BusinessUnit
  • Possui método getDevolutionRequested() para acessar DevolutionRequested
  • Possui método setDevolutionRequested() que define DevolutionRequested
  • Possui método getExchangeRequested() para acessar ExchangeRequested
  • Possui método setExchangeRequested() que define ExchangeRequested
  • Possui método getOrderDate() para acessar OrderDate
  • Possui método setOrderDate() que define OrderDate
  • Possui método getOrderNumber() para acessar OrderNumber
  • Possui método setOrderNumber() que define OrderNumber
  • Possui método getOrderStatus() para acessar OrderStatus
  • Possui método setOrderStatus() que define OrderStatus
  • Possui método getOrderType() para acessar OrderType
  • Possui método setOrderType() que define OrderType
  • Possui método getOriginNumber() para acessar OriginNumber
  • Possui método setOriginNumber() que define OriginNumber
  • Possui método getOriginSite() para acessar OriginSite
  • Possui método setOriginSite() que define OriginSite
  • Possui método getPaymentDate() para acessar PaymentDate
  • Possui método setPaymentDate() que define PaymentDate
  • Possui método getShippings() para acessar Shippings
  • Possui método setShippings() que define Shippings
  • Possui método getTotalCommission() para acessar TotalCommission
  • Possui método setTotalCommission() que define TotalCommission
  • Possui método getTotalDiscount() para acessar TotalDiscount
  • Possui método setTotalDiscount() que define TotalDiscount
  • Possui método getTotalFreight() para acessar TotalFreight
  • Possui método setTotalFreight() que define TotalFreight
  • Possui método getTotalGross() para acessar TotalGross
  • Possui método setTotalGross() que define TotalGross
  • Possui método getTotalNet() para acessar TotalNet
  • Possui método setTotalNet() que define TotalNet
  • Possui método getTotalQuantity() para acessar TotalQuantity
  • Possui método setTotalQuantity() que define TotalQuantity
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Order\Shippings\Customer\Address

  • Possui método getCity() para acessar City
  • Possui método setCity() que define City
  • Possui método getComplement() para acessar Complement
  • Possui método setComplement() que define Complement
  • Possui método getNeighborhood() para acessar Neighborhood
  • Possui método setNeighborhood() que define Neighborhood
  • Possui método getNumber() para acessar Number
  • Possui método setNumber() que define Number
  • Possui método getPostalCode() para acessar PostalCode
  • Possui método setPostalCode() que define PostalCode
  • Possui método getReference() para acessar Reference
  • Possui método setReference() que define Reference
  • Possui método getState() para acessar State
  • Possui método setState() que define State
  • Possui método getStreet() para acessar Street
  • Possui método setStreet() que define Street
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Order\Shippings\Customer\Customer

  • Possui método getAddress() para acessar Address
  • Possui método setAddress() que define Address
  • Possui método getCellPhone() para acessar CellPhone
  • Possui método setCellPhone() que define CellPhone
  • Possui método getCustomerName() para acessar CustomerName
  • Possui método setCustomerName() que define CustomerName
  • Possui método getDocument() para acessar Document
  • Possui método setDocument() que define Document
  • Possui método getLandLine() para acessar LandLine
  • Possui método setLandLine() que define LandLine
  • Possui método getRecipientName() para acessar RecipientName
  • Possui método setRecipientName() que define RecipientName
  • Possui método getStateInscription() para acessar StateInscription
  • Possui método setStateInscription() que define StateInscription
  • Possui método getTradeName() para acessar TradeName
  • Possui método setTradeName() que define TradeName
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Order\Shippings\Invoice

  • Não é validado se número da nota fiscal ausente
  • Não é validado se linha da nota fiscal ausente
  • Não é validado se data de emissão da nota fiscal ausente
  • Não é validado se chave da nota fiscal ausente
  • É valido se dados da nota fiscal presente
  • Possui método getNumber() para acessar Number
  • Possui método setNumber() que define Number
  • Possui método getLine() para acessar Line
  • Possui método setLine() que define Line
  • Possui método getAccessKey() para acessar AccessKey
  • Possui método setAccessKey() que define AccessKey
  • Possui método getIssueDate() para acessar IssueDate
  • Possui método setIssueDate() que define IssueDate
  • Possui método getShipDate() para acessar ShipDate
  • Possui método setShipDate() que define ShipDate
  • Possui método getUrl() para acessar Url
  • Possui método setUrl() que define Url
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Order\Shippings\Items\Item

  • Possui método getBrand() para acessar Brand
  • Possui método setBrand() que define Brand
  • Possui método getColor() para acessar Color
  • Possui método setColor() que define Color
  • Possui método getDepartmentCode() para acessar DepartmentCode
  • Possui método setDepartmentCode() que define DepartmentCode
  • Possui método getDepartmentName() para acessar DepartmentName
  • Possui método setDepartmentName() que define DepartmentName
  • Possui método getDiscountUnitValue() para acessar DiscountUnitValue
  • Possui método setDiscountUnitValue() que define DiscountUnitValue
  • Possui método getEan() para acessar Ean
  • Possui método setEan() que define Ean
  • Possui método getFlavor() para acessar Flavor
  • Possui método setFlavor() que define Flavor
  • Possui método getGrossUnitValue() para acessar GrossUnitValue
  • Possui método setGrossUnitValue() que define GrossUnitValue
  • Possui método getItemId() para acessar ItemId
  • Possui método setItemId() que define ItemId
  • Possui método getManufacturerCode() para acessar ManufacturerCode
  • Possui método setManufacturerCode() que define ManufacturerCode
  • Possui método getName() para acessar Name
  • Possui método setName() que define Name
  • Possui método getNetUnitValue() para acessar NetUnitValue
  • Possui método setNetUnitValue() que define NetUnitValue
  • Possui método getQuantity() para acessar Quantity
  • Possui método setQuantity() que define Quantity
  • Possui método getSize() para acessar Size
  • Possui método setSize() que define Size
  • Possui método getSku() para acessar Sku
  • Possui método setSku() que define Sku
  • Possui método getStatus() para acessar Status
  • Possui método setStatus() que define Status
  • Possui método getTotalCommission() para acessar TotalCommission
  • Possui método setTotalCommission() que define TotalCommission
  • Possui método getTotalDiscount() para acessar TotalDiscount
  • Possui método setTotalDiscount() que define TotalDiscount
  • Possui método getTotalFreight() para acessar TotalFreight
  • Possui método setTotalFreight() que define TotalFreight
  • Possui método getTotalGross() para acessar TotalGross
  • Possui método setTotalGross() que define TotalGross
  • Possui método getTotalNet() para acessar TotalNet
  • Possui método setTotalNet() que define TotalNet
  • Possui método getCheckInData() para acessar CheckInData
  • Possui método setCheckInData() que define CheckInData
  • Possui método getDevolutionData() para acessar DevolutionData
  • Possui método setDevolutionData() que define DevolutionData
  • Possui método getDevolutionExchangeStatus() para acessar DevolutionExchangeStatus
  • Possui método setDevolutionExchangeStatus() que define DevolutionExchangeStatus
  • Possui método getExchangeProcessCode() para acessar ExchangeProcessCode
  • Possui método setExchangeProcessCode() que define ExchangeProcessCode
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Order\Shippings\Items\Items

  • É uma coleção de objetos Gpupo\NetshoesSdk\Entity\Order\Shippings\Items\Item

  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Order\Shippings\Sender

  • Possui método getSellerCode() para acessar SellerCode
  • Possui método setSellerCode() que define SellerCode
  • Possui método getSellerName() para acessar SellerName
  • Possui método setSellerName() que define SellerName
  • Possui método getSupplierCnpj() para acessar SupplierCnpj
  • Possui método setSupplierCnpj() que define SupplierCnpj
  • Possui método getSupplierName() para acessar SupplierName
  • Possui método setSupplierName() que define SupplierName
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Order\Shippings\Shipping

  • Possui método getShippingCode() para acessar ShippingCode
  • Possui método setShippingCode() que define ShippingCode
  • Possui método getCustomer() para acessar Customer
  • Possui método setCustomer() que define Customer
  • Possui método getFreightAmount() para acessar FreightAmount
  • Possui método setFreightAmount() que define FreightAmount
  • Possui método getInvoice() para acessar Invoice
  • Possui método setInvoice() que define Invoice
  • Possui método getItems() para acessar Items
  • Possui método setItems() que define Items
  • Possui método getSender() para acessar Sender
  • Possui método setSender() que define Sender
  • Possui método getStatus() para acessar Status
  • Possui método setStatus() que define Status
  • Possui método getTransport() para acessar Transport
  • Possui método setTransport() que define Transport
  • Possui método getCountry() para acessar Country
  • Possui método setCountry() que define Country
  • Possui método getCancellationReason() para acessar CancellationReason
  • Possui método setCancellationReason() que define CancellationReason
  • Possui método getDevolutionItems() para acessar DevolutionItems
  • Possui método setDevolutionItems() que define DevolutionItems
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Order\Shippings\Shippings

  • É uma coleção de objetos Gpupo\NetshoesSdk\Entity\Order\Shippings\Shipping

  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Order\Shippings\Transport

  • Não é validado se data de entrega ausente
  • Possui método getCarrier() para acessar Carrier
  • Possui método setCarrier() que define Carrier
  • Possui método getDeliveryDate() para acessar DeliveryDate
  • Possui método setDeliveryDate() que define DeliveryDate
  • Possui método getEstimatedDeliveryDate() para acessar EstimatedDeliveryDate
  • Possui método setEstimatedDeliveryDate() que define EstimatedDeliveryDate
  • Possui método getDeliveryService() para acessar DeliveryService
  • Possui método setDeliveryService() que define DeliveryService
  • Possui método getShipDate() para acessar ShipDate
  • Possui método setShipDate() que define ShipDate
  • Possui método getTrackingLink() para acessar TrackingLink
  • Possui método setTrackingLink() que define TrackingLink
  • Possui método getTrackingNumber() para acessar TrackingNumber
  • Possui método setTrackingNumber() que define TrackingNumber
  • Possui método getTrackingShipDate() para acessar TrackingShipDate
  • Possui método setTrackingShipDate() que define TrackingShipDate
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Order\Translator

  • Falha ao tentar traduzir para extrangeiro sem possuir nativo
  • Falha ao tentar traduzir para nativo sem possuir estrangeiro
  • translateTo()
  • translateFrom()
  • Traduz sem perder informação

NetshoesSdk\Entity\Product\Attributes\Attribute

  • Possui método getName() para acessar Name
  • Possui método setName() que define Name
  • Possui método getValue() para acessar Value
  • Possui método setValue() que define Value
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Product\Attributes\Attributes

  • É uma coleção de objetos Gpupo\NetshoesSdk\Entity\Product\Attributes\Attribute

NetshoesSdk\Entity\Product\Manager

  • Administra operações de Products
  • Possui objeto Client
  • Obtem a lista de produtos cadastrados
  • Entrega lista de produtos no padrão comum
  • Tem acesso ao Manager de Sku
  • Recupera informações de um produto especifico a partir de Id
  • Recupera informações em padrão comum a partir de Id
  • Recebe false em caso de produto inexistente
  • A Atualização de um Product requer que ele contenha Skus
  • Atualiza o SKU de um produto
  • Atualiza parcialmente as informações de um produto

NetshoesSdk\Entity\Product\ProductCollection

  • Links

  • É uma coleção de objetos \Gpupo\NetshoesSdk\Entity\Product\Product

  • Possui objeto metadata

  • Metadata self

  • Metadata first

  • Metadata last

NetshoesSdk\Entity\Product\Product

  • Possui propriedades e objetos
  • Possui uma colecao attributes
  • Entrega json
  • To patch
  • Possui método getProductId() para acessar ProductId
  • Possui método setProductId() que define ProductId
  • Possui método getSkus() para acessar Skus
  • Possui método setSkus() que define Skus
  • Possui método getDepartment() para acessar Department
  • Possui método setDepartment() que define Department
  • Possui método getProductType() para acessar ProductType
  • Possui método setProductType() que define ProductType
  • Possui método getBrand() para acessar Brand
  • Possui método setBrand() que define Brand
  • Possui método getAttributes() para acessar Attributes
  • Possui método setAttributes() que define Attributes
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Product\Sku\Image

  • Possui método getUrl() para acessar Url
  • Possui método setUrl() que define Url
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Product\Sku\Images

  • É uma coleção de objetos Gpupo\NetshoesSdk\Entity\Product\Sku\Image

NetshoesSdk\Entity\Product\Sku\Item

  • Prepara o Json para gravação de preço
  • Prepara o Json para gravação de preço promocional
  • Prepara o Json para gravação de Estoque
  • Prepara o Json para gravação de Situação (disponibilidade)
  • Possui método getId() para acessar Sku Id
  • Possui método getSku() para acessar Sku
  • Possui método setSku() que define Sku
  • Possui método getName() para acessar Name
  • Possui método setName() que define Name
  • Possui método getDescription() para acessar Description
  • Possui método setDescription() que define Description
  • Possui método getColor() para acessar Color
  • Possui método setColor() que define Color
  • Possui método getSize() para acessar Size
  • Possui método setSize() que define Size
  • Possui método getGender() para acessar Gender
  • Possui método setGender() que define Gender
  • Possui método getEanIsbn() para acessar EanIsbn
  • Possui método setEanIsbn() que define EanIsbn
  • Possui método getVideo() para acessar Video
  • Possui método setVideo() que define Video
  • Possui método getHeight() para acessar Height
  • Possui método setHeight() que define Height
  • Possui método getWidth() para acessar Width
  • Possui método setWidth() que define Width
  • Possui método getDepth() para acessar Depth
  • Possui método setDepth() que define Depth
  • Possui método getWeight() para acessar Weight
  • Possui método setWeight() que define Weight
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Product\Sku\Manager

  • Administra operações de SKUs
  • Possui objeto client
  • Dá Acesso a detalhes de um SKU
  • Atualiza as informações do SKU
  • Não atualiza as informações do SKU desnecessariamente
  • Atualiza os detalhes do SKU
  • Não atualiza os detalhes do SKU desnecessariamente
  • Atualiza os detalhes e as informações do SKU em uma única operação

NetshoesSdk\Entity\Product\Sku\PriceScheduleCollection

  • É uma coleção de objetos PriceSchedule
  • getCurrent() Calcula o agendamento válido
  • getCurrent() retorna null quando a lista está vazia

NetshoesSdk\Entity\Product\Sku\PriceSchedule

  • Formata entradas de data em ISO 8601 date format
  • Possui método setDateInit() que define DateInit
  • Possui método setDateEnd() que define DateEnd
  • A data de início de uma promoção é o momento atual quando não informado
  • A data de término de uma promoção é após 1 mês no futuro quando não informado
  • Possui método getPriceFrom() para acessar PriceFrom
  • Possui método setPriceFrom() que define PriceFrom
  • Possui método getPriceTo() para acessar PriceTo
  • Possui método setPriceTo() que define PriceTo
  • Possui método getDateInit() para acessar DateInit
  • Possui método getDateEnd() para acessar DateEnd
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Product\Sku\Price

  • Possui método getPrice() para acessar Price
  • Possui método setPrice() que define Price
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Product\Sku\SkuCollection

  • Links

  • É uma coleção de objetos \Gpupo\NetshoesSdk\Entity\Product\Sku\Item

  • Possui objeto metadata

  • Metadata self

NetshoesSdk\Entity\Product\Sku\Status

  • Possui método getActive() para acessar Active
  • Possui método setActive() que define Active
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Product\Sku\Stock

  • Possui método getAvailable() para acessar Available
  • Possui método setAvailable() que define Available
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Product\Skus

  • Encontra um Sku pelo Id

NetshoesSdk\Entity\Product\Status

  • Identifica se um produto está pendente

NetshoesSdk\Entity\Product\Translator

  • Falha ao tentar traduzir para extrangeiro sem possuir nativo
  • Falha ao tentar traduzir para nativo sem possuir estrangeiro
  • loadMap()
  • translateTo()
  • translateFrom()
  • Traduz sem perder informação de preço

NetshoesSdk\Entity\Templates\Item

  • Possui método getCode() para acessar Code
  • Possui método setCode() que define Code
  • Possui método getName() para acessar Name
  • Possui método setName() que define Name
  • Possui método getExternalCode() para acessar ExternalCode
  • Possui método setExternalCode() que define ExternalCode
  • Possui métodos especiais para output de informações

NetshoesSdk\Entity\Templates\Manager

  • Possui Acesso a lista de marcas cadastradas
  • Cada objeto da lista é uma instância de Item

NetshoesSdk\Entity\Templates\TemplatesCollection

  • Links
  • Instance
  • Possui objeto metadata
  • Metadata self
  • Cut metadata empty

NetshoesSdk\Factory

  • Set client
  • Centraliza acesso a managers
  • Centraliza criacao de objetos

Lista de dependências (libraries)

Name Version Description
codeclimate/php-test-reporter v0.3.2 PHP client for reporting test coverage to Code Climate
doctrine/instantiator 1.0.5 A small, lightweight utility to instantiate objects in PHP without invoking their constructors
gpupo/cache 1.3.0 Caching library that implements PSR-6
gpupo/common 1.7.3 Common Objects
gpupo/common-sdk 2.2.0 Componente de uso comum entre SDKs para integração a partir de aplicações PHP com Restful webservices
guzzle/guzzle v3.9.3 PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle
monolog/monolog 1.20.0 Sends your logs to files, sockets, inboxes, databases and various web services
myclabs/deep-copy 1.5.1 Create deep copies (clones) of your objects
phpdocumentor/reflection-common 1.0 Common reflection classes used by phpdocumentor to reflect the code structure
phpdocumentor/reflection-docblock 3.1.0 With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.
phpdocumentor/type-resolver 0.2
phpspec/prophecy v1.6.1 Highly opinionated mocking framework for PHP 5.3+
phpunit/php-code-coverage 4.0.0 Library that provides collection, processing, and rendering functionality for PHP code coverage information.
phpunit/php-file-iterator 1.4.1 FilterIterator implementation that filters files based on a list of suffixes.
phpunit/php-text-template 1.2.1 Simple template engine.
phpunit/php-timer 1.0.8 Utility class for timing
phpunit/php-token-stream 1.4.8 Wrapper around PHP's tokenizer extension.
phpunit/phpunit 5.4.6 The PHP Unit Testing framework.
phpunit/phpunit-mock-objects 3.2.3 Mock Object library for PHPUnit
psr/cache 1.0.0 Common interface for caching libraries
psr/log 1.0.0 Common interface for logging libraries
satooshi/php-coveralls v1.0.1 PHP client library for Coveralls API
sebastian/code-unit-reverse-lookup 1.0.0 Looks up which function or method a line of code belongs to
sebastian/comparator 1.2.0 Provides the functionality to compare PHP values for equality
sebastian/diff 1.4.1 Diff implementation
sebastian/environment 1.3.7 Provides functionality to handle HHVM/PHP environments
sebastian/exporter 1.2.2 Provides the functionality to export PHP variables for visualization
sebastian/global-state 1.1.1 Snapshotting of global state
sebastian/object-enumerator 1.0.0 Traverses array structures and object graphs to enumerate all referenced objects
sebastian/peek-and-poke dev-master a8295 Proxy for accessing non-public attributes and methods of an object
sebastian/recursion-context 1.0.2 Provides functionality to recursively process PHP variables
sebastian/resource-operations 1.0.0 Provides a list of PHP built-in functions that operate on resources
sebastian/version 2.0.0 Library that helps with managing the version number of Git-hosted PHP projects
symfony/config v3.1.2 Symfony Config Component
symfony/console v3.1.2 Symfony Console Component
symfony/event-dispatcher v2.8.8 Symfony EventDispatcher Component
symfony/filesystem v3.1.2 Symfony Filesystem Component
symfony/polyfill-mbstring v1.2.0 Symfony polyfill for the Mbstring extension
symfony/stopwatch v3.1.2 Symfony Stopwatch Component
symfony/yaml v3.1.2 Symfony Yaml Component
twig/twig v1.24.1 Twig, the flexible, fast, and secure template language for PHP
webmozart/assert 1.0.2 Assertions to validate method input/output with nice error messages.