2017 © Pedro PelĆ”ez
 

library cnova-sdk

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

image

gpupo/cnova-sdk

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

  • Tuesday, October 24, 2017
  • by gpupo
  • Repository
  • 4 Watchers
  • 4 Stars
  • 391 Installations
  • PHP
  • 0 Dependents
  • 1 Suggesters
  • 2 Forks
  • 0 Open issues
  • 20 Versions
  • 0 % Grown

The README.md

Cnova-SDK

SDK Não Oficial para integração a partir de aplicações PHP com as APIs da Cnova Marketplace (Extra.com.br, Pontofrio.com.br, Casasbahia.com.br), (*1)

Paypal Donations, (*2)

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., (*3)

Isto não é um Plugin!, (*4)

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

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., (*6)

Direitos autorais e de licenƧa

Este componente estƔ sob a licenƧa MIT, (*7)

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., (*8)

Resumo da licenƧa

Exigido:, (*9)

  • Aviso de licenƧa e direitos autorais

Permitido:, (*10)

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

Proibido:, (*11)

  • Responsabilidade Assegurada

Indicadores de qualidade

Build Status Scrutinizer Code Quality Codacy Badge Code Climate Test Coverage, (*12)


Agradecimentos


Instalação

Adicione o pacote cnova-sdk ao seu projeto utilizando composer:, (*15)

composer require gpupo/cnova-sdk

Uso

Este exemplo demonstra o uso simplificado a partir do Factory:, (*16)


///... use Gpupo\CnovaSdk\Factory; $cnovaSdk = Factory::getInstance()->setup([ 'client_id' => 'foo', 'access_token' => 'bar', 'version' => 'sandbox', ]); $manager = $cnovaSdk->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

Acesso a lista de produtos cadastrados:

$produtosCadastrados = $manager->fetch(); // Collection de Objetos Product

Acesso a informaƧƵes de um produto cadastrado e com identificador conhecido:

$produto = $manager->findById(9)); // Objeto Produto
echo $product->getTitle(); // Acesso ao nome do produto de Id 9

Criação de um produto:

$data = []; // Veja o formato de $data em Resources/fixture/Product/ProductId.json
$product = $cnovaSdk->createProduct($data);

Envio do produto para o Marketplace:

$manager->save($product);

Registro (log)

//...
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
//..
$logger = new Logger('foo');
$logger->pushHandler(new StreamHandler('Resources/logs/main.log', Logger::DEBUG));
$cnovaSdk->setLogger($logger);

Console

Lista de comandos disponĆ­veis:, (*17)

./bin/main

VocĆŖ pode verificar suas credenciais Cnova na linha de comando:, (*18)

./bin/main credential

Você poder criar um arquivo chamado app.json com suas configurações personalizadas, as quais serão utilizadas na linha de comando:, (*19)

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

Utilize como modelo o arquivo app.json.dist, (*20)

Dica: Verifique os logs gerados em Resources/logs/main.log, (*21)



Desenvolvimento

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

Personalize a configuração do phpunit:, (*22)

cp phpunit.xml.dist phpunit.xml;

Personalize os parâmetros!, (*23)

Dica: Verifique os logs gerados em var/log/main.log, (*24)


Propriedades dos objetos

Todo


Propriedades dos objetos

CnovaSdk\Client\Client

  • [x] Sucesso ao definir options
  • [x] Gerencia uri de recurso
  • [ ] Objeto request possui header
  • [ ] Acesso a lista de pedidos
  • [ ] Acesso a lista de produtos

CnovaSdk\Entity\Order\Customer\Customer

  • [x] Ɖ propriedade de order
  • [x] Possui objeto phones

CnovaSdk\Entity\Order\Customer\Phones\Phone

  • [x] Possui numero
  • [x] Possui identificação de tipo

CnovaSdk\Entity\Order\Items\Items

  • [x] Possui coleção de objetos product
  • [x] Possui ids diferentes para cada unidade mesmo com skus iguais
  • [x] ContĆ©m lista de ids existentes na coleção

CnovaSdk\Entity\Order\Items\Product\Product

  • [x] Possui um identificador por unidade
  • [x] Possui identificador do sku

CnovaSdk\Entity\Order\Manager

  • [x] Obtem lista pedidos
  • [x] ObtĆ©m a lista de pedidos recĆ©m aprovados e que esperam processamento
  • [x] Recupera informacoes de um pedido especifico
  • [x] Move pedido para status enviado
  • [x] Falha ao mover pedido para enviado sem informaƧƵes completas
  • [x] Move pedido para status recebido
  • [x] Move pedido para status cancelado

CnovaSdk\Entity\OrderCollection

  • [x] Cada elementoƉ um objeto order
  • [x] Cada elemento possui dados corretos
  • [x] Ɖ um objeto metadata container
  • [x] Possui objeto metadata
  • [x] Possui propriedade indicadora de quantidade de registros

CnovaSdk\Entity\Order\Order

  • [x] Cada item de uma lista e um objeto
  • [x] Cada pedido possui objeto billing
  • [x] Cada pedido possui objeto cliente
  • [x] Cada pedido possui objeto frete
  • [x] Cada pedido possui objeto contendo endereco de entrega
  • [x] Cada pedido possui colecao de rastreamentos
  • [x] Cada pedido possui colecao de produtos

CnovaSdk\Entity\Order\Trackings\Tracking\Invoice

  • [x] Possui cnpj
  • [x] Possui chave de acesso

CnovaSdk\Entity\Order\Trackings\Tracking\Tracking

  • [x] Valida
  • [x] Possui lista de items
  • [x] Possui dados da transportadora
  • [x] InvĆ”lido com rastreamento ausente
  • [x] InvĆ”lido com nota fiscal ausente
  • [x] InvĆ”lido com transportadora ausente
  • [x] VĆ”lido com dados completos
  • [x] Possui formato para atualização de order

CnovaSdk\Entity\Product\Loads\Loads

  • [x] Possui colecao de products
  • [x] Cada product possui status
  • [x] Possui objeto metadata

CnovaSdk\Entity\Product\Loads\Manager

  • [x] Obtem lista de situacoes de produtos
  • [x] Permite acesso a lista de produtos com erro

CnovaSdk\Entity\Product\Loads\Metadata

  • [x] Ɖ uma collection
  • [x] Metadata possui quantidade de objetos enviados
  • [x] Metadata possui informacao do offset atual
  • [x] Metadata possui informacao do limit atual

CnovaSdk\Entity\Product\Manager

  • [x] Ɖ o administrador de produtos
  • [x] Possui objeto pool
  • [x] Possui objeto client
  • [x] Obtem lista de produtos cadastrados
  • [x] Recupera informacoes de um produto especifico a partir de id
  • [x] Guarda produtos em uma fila para gravacao em lote
  • [x] Gerencia gravacao de produtos em lote
  • [x] Atualiza preco e estoque de um produto
  • [x] Nao executa atualizacao em produto inalterado
  • [x] Atualiza apenas estoque em caso de ser o unico atributo alterado

CnovaSdk\Entity\Product\Price

  • [x] Ɖ propriedade de product
  • [x] Possui preƧo de
  • [x] Possui preƧo por
  • [x] Entrega parĆ¢metros para atualização de preƧo do sku

CnovaSdk\Entity\Product\ProductCollection

  • [x] Possui coleção de products
  • [x] Ɖ um objeto metadata container
  • [x] Possui objeto metadata
  • [x] Possui propriedade indicadora de quantidade de registros

CnovaSdk\Entity\Product\Product

  • [x] Possui propriedades e objetos
  • [x] Possui uma colecao attributes
  • [x] Possui objeto price
  • [x] Possui objeto stock
  • [x] Possui objeto dimensions
  • [x] Possui objeto gift wrap
  • [x] Entrega json

CnovaSdk\Entity\Product\Stock

  • [x] Ɖ propriedade de product
  • [x] Possui quantidade
  • [x] Possui tempo preparação do produto
  • [x] Entrega parĆ¢metros para atualização de estoque do sku

CnovaSdk\Factory

  • [x] Centraliza acesso a managers
  • [x] 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/annotations v1.2.7 Docblock Annotations Parser
doctrine/cache v1.6.0 Caching library offering an object-oriented API for many cache backends
doctrine/collections v1.3.0 Collections Abstraction library
doctrine/common v2.5.3 Common Library for Doctrine projects
doctrine/inflector v1.1.0 Common String Manipulations with regard to casing and singular/plural rules.
doctrine/instantiator 1.0.5 A small, lightweight utility to instantiate objects in PHP without invoking their constructors
doctrine/lexer v1.0.1 Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.
gpupo/cache 1.3.0 Caching library that implements PSR-6
gpupo/common 1.6.6 Common Objects
gpupo/common-sdk 2.0.11 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.19.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.1 Symfony Config Component
symfony/console v3.1.1 Symfony Console Component
symfony/event-dispatcher v2.8.7 Symfony EventDispatcher Component
symfony/filesystem v3.1.1 Symfony Filesystem Component
symfony/polyfill-mbstring v1.2.0 Symfony polyfill for the Mbstring extension
symfony/stopwatch v3.1.1 Symfony Stopwatch Component
symfony/yaml v3.1.1 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.

The Versions

24/10 2017

dev-master

9999999-dev https://opensource.gpupo.com/cnova-sdk/

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

  Sources   Download

MIT

The Requires

 

by Gilmar Pupo

api sdk extra cnova pontofrio casasbahia

24/10 2017

v1.3.1

1.3.1.0 https://opensource.gpupo.com/cnova-sdk/

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

  Sources   Download

MIT

The Requires

 

by Gilmar Pupo

api sdk extra cnova pontofrio casasbahia

16/06 2016

1.3.0

1.3.0.0 http://www.g1mr.com/cnova-sdk/

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

  Sources   Download

MIT

The Requires

 

by Gilmar Pupo

api sdk extra cnova pontofrio casasbahia

14/01 2016

1.2.1

1.2.1.0 http://www.g1mr.com/cnova-sdk/

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

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gilmar Pupo

api sdk extra cnova pontofrio casasbahia

29/07 2015

1.2

1.2.0.0 http://www.g1mr.com/cnova-sdk/

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

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gilmar Pupo

api sdk extra cnova pontofrio casasbahia

20/07 2015

1.1

1.1.0.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

01/06 2015

1.0.11

1.0.11.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

29/05 2015

1.0.10

1.0.10.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

28/05 2015

1.0.9

1.0.9.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

15/05 2015

1.0.8

1.0.8.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

15/05 2015

1.0.7

1.0.7.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

11/05 2015

1.0.6

1.0.6.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

06/05 2015

1.0.5

1.0.5.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

29/04 2015

dev-scrutinizer-patch-1

dev-scrutinizer-patch-1

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

29/04 2015

1.0.4

1.0.4.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

24/04 2015

1.0.3

1.0.3.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

24/04 2015

1.0.2

1.0.2.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

24/04 2015

1.0.1

1.0.1.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

22/04 2015

1.0

1.0.0.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia

20/04 2015

0.1

0.1.0.0

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

  Sources   Download

MIT

The Requires

 

The Development Requires

api sdk extra cnova pontofrio casasbahia