gpupo/cnova-sdk

此包已被废弃且不再维护。没有建议的替代包。

PHP应用程序与Cnova Marketplace API集成的非官方SDK

1.4.0 2019-03-02 13:54 UTC

This package is auto-updated.

Last update: 2020-01-30 16:42:58 UTC


README

PHP应用程序与Cnova Marketplace API集成的非官方SDK (Extra.com.br, Pontofrio.com.br, Casasbahia.com.br)

Paypal Donations

使用要求

此组件 不是一个独立的应用程序,其目的是用作库。其部署应由经验丰富的开发者执行。

这不是一个插件!

仅适用于命令行模式的选项仅用于开发模式的调试。

最重要的文档在单元测试中。如果您无法阅读单元测试,我建议您不要使用此库。

版权和许可证

此组件受 MIT 许可证 的保护

有关版权和许可证的信息,您必须阅读随此源代码一起分发的 许可证文件

许可证摘要

要求

  • 许可证和版权声明

允许

  • 商业用途
  • 修改
  • 分发
  • 再许可

禁止

  • 责任保证

质量指标

Build Status Scrutinizer Code Quality Codacy Badge Code Climate Test Coverage

感谢

  • 感谢所有 贡献补丁的人
  • 感谢提出重要建议的人;
  • 感谢创建了在此组件中使用的 的开发者。

- Gilmar Pupo

安装

使用 composercnova-sdk 包添加到您的项目中

composer require gpupo/cnova-sdk

使用

以下示例演示了从 Factory 开始的简化使用


///...
use Gpupo\CnovaSdk\Factory;

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

$manager = $cnovaSdk->factoryManager('product'));
参数 描述 可能值
client_id 商店密钥 字符串
access_token 应用程序授权令牌 字符串
version 环境标识 sandbox, prod (生产)
registerPath 当提供时,将在指定的目录中注册每个执行的请求的数据

访问已注册产品列表

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

访问已知标识符的已注册产品信息

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

产品创建

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

产品发送至市场

$manager->save($product);

注册(日志)

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

控制台

可用命令列表

./bin/main

您可以在命令行中检查您的Cnova凭据

./bin/main credential

您可以为您的自定义配置创建一个名为app.json的文件,这些配置将在命令行中使用

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

使用app.json.dist作为模板

提示:检查在Resources/logs/main.log生成的日志

链接

开发

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

自定义 phpunit 配置

cp phpunit.xml.dist phpunit.xml;

自定义参数!

提示:检查在 var/log/main.log 生成的日志

对象属性

待办事项

对象属性

CnovaSdk\Client\Client

  • 成功设置选项
  • 管理资源URI
  • 请求对象具有头部
  • 访问订单列表
  • 访问产品列表

CnovaSdk\Entity\Order\Customer\Customer

  • 是订单的属性
  • 具有电话对象

CnovaSdk\Entity\Order\Customer\Phones\Phone

  • 具有号码
  • 具有类型标识

CnovaSdk\Entity\Order\Items\Items

  • 具有产品对象集合
  • 即使SKU相同,每个单元也有不同的ID
  • 包含集合中现有ID的列表

CnovaSdk\Entity\Order\Items\Product\Product

  • 具有每个单元的标识符
  • 具有SKU标识符

CnovaSdk\Entity\Order\Manager

  • 获取订单列表
  • 获取待处理的刚批准的订单列表
  • 恢复特定订单的信息
  • 将订单移动到已发送状态
  • 在没有完整信息的情况下无法将订单移动到已发送状态
  • 将订单移动到已接收状态
  • 将订单移动到已取消状态

CnovaSdk\Entity\OrderCollection

  • 每个元素都是一个订单对象
  • 每个元素都有正确的数据
  • 是一个元数据容器对象
  • 具有元数据对象
  • 具有表示记录数量的指示器属性

CnovaSdk\Entity\Order\Order

  • 列表中的每个项都是一个对象
  • 每个订单都有一个计费对象
  • 每个订单都有一个客户对象
  • 每个订单都有一个运费对象
  • 每个订单都有一个包含送货地址的对象
  • 每个订单都有一个跟踪集合
  • 每个订单都有一个产品集合

CnovaSdk\Entity\Order\Trackings\Tracking\Invoice

  • 有CNPJ
  • 有访问密钥

CnovaSdk\Entity\Order\Trackings\Tracking\Tracking

  • 验证
  • 有项目列表
  • 有运输公司数据
  • 无效,缺少跟踪信息
  • 无效,缺少发票
  • 无效,缺少运输公司
  • 有效,数据完整
  • 有订单更新的格式

CnovaSdk\Entity\Product\Loads\Loads

  • 有产品集合
  • 每个产品有状态
  • 具有元数据对象

CnovaSdk\Entity\Product\Loads\Manager

  • 获取产品状态列表
  • 允许访问错误产品列表

CnovaSdk\Entity\Product\Loads\Metadata

  • 是一个集合
  • 元数据包含发送对象的数量
  • 元数据包含当前偏移信息
  • 元数据包含当前限制信息

CnovaSdk\Entity\Product\Manager

  • 是产品管理员
  • 有对象池
  • 有客户端对象
  • 获取已注册产品列表
  • 根据ID恢复特定产品的信息
  • 将产品保存在队列中以批量写入
  • 管理产品批量写入
  • 更新产品的价格和库存
  • 不更新未更改的产品
  • 如果只有一个属性更改,则仅更新库存

CnovaSdk\Entity\Product\Price

  • 是产品的属性
  • 有价格
  • 有按价格
  • 提供SKU价格更新的参数

CnovaSdk\Entity\Product\ProductCollection

  • 有产品集合
  • 是一个元数据容器对象
  • 具有元数据对象
  • 具有表示记录数量的指示器属性

CnovaSdk\Entity\Product\Product

  • 有属性和对象
  • 有一个属性集合
  • 有价格对象
  • 有库存对象
  • 有尺寸对象
  • 有包装对象
  • 提供JSON

CnovaSdk\Entity\Product\Stock

  • 是产品的属性
  • 有数量
  • 有产品准备时间
  • 提供SKU库存更新的参数

CnovaSdk\Factory

  • 集中访问管理者
  • 集中创建对象

依赖项(库)列表

名称 版本 描述
codeclimate/php-test-reporter v0.3.2 报告测试覆盖率的PHP客户端
doctrine/annotations v1.2.7 Docblock注释解析器
doctrine/cache v1.6.0 提供面向对象的API的缓存库
doctrine/collections v1.3.0 集合抽象库
doctrine/common v2.5.3 Doctrine项目通用库
doctrine/inflector v1.1.0 关于大小写和单复数规则的通用字符串操作。
doctrine/instantiator 1.0.5 一个轻量级的工具,用于在PHP中创建对象而不调用它们的构造函数
doctrine/lexer v1.0.1 用于自顶向下、递归下降解析器的词法分析器的基础库。
gpupo/cache 1.3.0 实现PSR-6的缓存库
gpupo/common 1.6.6 通用对象
gpupo/common-sdk 2.0.11 SDK之间通用的组件,用于从PHP应用程序中集成到RESTful Web服务
guzzle/guzzle v3.9.3 PHP HTTP客户端。这个库已被弃用,推荐使用https://packagist.org.cn/packages/guzzlehttp/guzzle
monolog/monolog 1.19.0 将日志发送到文件、套接字、收件箱、数据库和各种Web服务
myclabs/deep-copy 1.5.1 创建对象的深拷贝(克隆)
phpdocumentor/reflection-common 1.0 phpdocumentor用于反映代码结构的通用反射类
phpdocumentor/reflection-docblock 3.1.0 通过此组件,库可以提供通过DocBlocks或以其他方式检索信息的功能,这些信息已嵌入到DocBlock中。
phpdocumentor/type-resolver 0.2
phpspec/prophecy v1.6.1 PHP 5.3+的高度意见化的模拟框架
phpunit/php-code-coverage 4.0.0 提供收集、处理和渲染PHP代码覆盖率信息的库。
phpunit/php-file-iterator 1.4.1 基于后缀列表过滤文件的FilterIterator实现。
phpunit/php-text-template 1.2.1 简单的模板引擎。
phpunit/php-timer 1.0.8 计时工具类
phpunit/php-token-stream 1.4.8 PHP的tokenizer扩展的包装器。
phpunit/phpunit 5.4.6 PHP单元测试框架。
phpunit/phpunit-mock-objects 3.2.3 PHPUnit的Mock对象库
psr/cache 1.0.0 缓存库的通用接口
psr/log 1.0.0 日志库的通用接口
satooshi/php-coveralls v1.0.1 用于Coveralls API的PHP客户端库
sebastian/code-unit-reverse-lookup 1.0.0 查找一行代码属于哪个函数或方法
sebastian/comparator 1.2.0 提供比较PHP值是否相等的功能
sebastian/diff 1.4.1 差异实现
sebastian/environment 1.3.7 提供处理HHVM/PHP环境的功能
sebastian/exporter 1.2.2 提供导出PHP变量以可视化的功能
sebastian/global-state 1.1.1 全局状态的快照
sebastian/object-enumerator 1.0.0 遍历数组结构和对象图以枚举所有引用的对象
sebastian/peek-and-poke dev-master a8295 访问对象非公共属性和方法的对象代理
sebastian/recursion-context 1.0.2 提供递归处理PHP变量的功能
sebastian/resource-operations 1.0.0 提供操作PHP资源的PHP内置函数列表
sebastian/version 2.0.0 帮助管理Git托管PHP项目的版本号的库
symfony/config v3.1.1 Symfony配置组件
symfony/console v3.1.1 Symfony控制台组件
symfony/event-dispatcher v2.8.7 Symfony事件调度组件
symfony/filesystem v3.1.1 Symfony文件系统组件
symfony/polyfill-mbstring v1.2.0 Symfony Mbstring 扩展的 polyfill
symfony/stopwatch v3.1.1 Symfony Stopwatch 组件
symfony/yaml v3.1.1 Symfony Yaml 组件
twig/twig v1.24.1 Twig,一个灵活、快速、安全的PHP模板语言
webmozart/assert 1.0.2 提供具有良好错误信息的断言,以验证方法输入/输出。