gpupo / cnova-sdk
此包已被废弃且不再维护。没有建议的替代包。
PHP应用程序与Cnova Marketplace API集成的非官方SDK
1.4.0
2019-03-02 13:54 UTC
Requires
- php: ^5.6 || ^7.0
- ext-curl: *
- gpupo/cache: 1.3.2
- gpupo/common: 1.7.7
- gpupo/common-sdk: 2.2.15
- symfony/console: 3.3.10
README
PHP应用程序与Cnova Marketplace API集成的非官方SDK (Extra.com.br, Pontofrio.com.br, Casasbahia.com.br)
使用要求
- PHP >= 5.6
- curl 扩展
- Composer 依赖管理器
此组件 不是一个独立的应用程序,其目的是用作库。其部署应由经验丰富的开发者执行。
这不是一个插件!
仅适用于命令行模式的选项仅用于开发模式的调试。
最重要的文档在单元测试中。如果您无法阅读单元测试,我建议您不要使用此库。
版权和许可证
此组件受 MIT 许可证 的保护
有关版权和许可证的信息,您必须阅读随此源代码一起分发的 许可证文件。
许可证摘要
要求
- 许可证和版权声明
允许
- 商业用途
- 修改
- 分发
- 再许可
禁止
- 责任保证
质量指标
感谢
安装
使用 composer 将 cnova-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
生成的日志
链接
- Cnova-sdk Composer Package 在 packagist.org
- API V2 官方文档
- Marketplace-bundle Composer Package - 与 Symfony 集成此包
- 巴西电商的其他 SDK
开发
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 | 提供具有良好错误信息的断言,以验证方法输入/输出。 |