定制 fwartner/printful 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

fwartner/printful

Composer 安装命令:

composer require fwartner/printful

包简介

Laravel API-Wrapper for Printful

README 文档

README

Laravel API-Wrapper for Printful

How to install

First of all, you need to install the package in your application:

composer require fwartner/printful

The next thing you need to do, is registering the Service Provider and the Facade:

Fwartner\Printful\PrintfulServiceProvider

'Printful' => Fwartner\Printful\Facades\PrintfulFacade::class,

How to use

Let´ say, you want to get store-information:

$sore = $pf->get('store');

To get the product list:

$products = $pf->get('products');

To get the variants for product 10:

$variants = $pf->get('products/10');

To get the information about Variant 1007:

$data = $pf->get('products/variant/1007');

Select 10 latest orders:

$orders = $pf->get('orders',array('limit'=>10));
var_export($orders);
$items = $pf->getgetItemCount(); //Get total number of items available from the previous request
echo "Total orders ". $items;

Select order with ID 12345 (Replace with your order's ID):

$order = $pf->get('orders/12345');

Select order with External ID 9900999 (Replace with your order's External ID):

$order = $pf->get(orders/@9900999');

Cancel order with ID 12345 (Replace with your order's ID):

$order = $pf->delete('orders/12345');

Create an order:

$order = $pf->post('orders',array(
			'recipient' => array(
				'name' => 'John Doe',
				'address1' => '172 W Providencia Ave #105',
				'city' => 'Burbank',
				'state_code' => 'CA',
				'country_code' => 'US',
				'zip' => '91502'
			),
			'items' => array(
				array(
					'variant_id' => 1,//Small poster
					'name' => 'Niagara Falls poster', //Display name
					'retail_price' => '19.99', //Retail price for packing slip
					'quantity' => 1,
					'files' => array(
						array(
							'url' => 'http://example.com/files/posters/poster_1.jpg'
						)
					)
				),
				array(
					'variant_id' => 1118,
					'quantity' => 2,
					'name' => 'Grand Canyon T-Shirt', //Display name
					'retail_price' => '29.99', //Retail price for packing slip
					'files' => array(
						array(//Front print
							'url' => 'http://example.com/files/tshirts/shirt_front.ai'
						),
						array(//Back print
							'type' => 'back',
							'url' => 'http://example.com/files/tshirts/shirt_back.ai'
						),
						array(//Mockup image
							'type' => 'preview',
							'url' => 'http://example.com/files/tshirts/shirt_mockup.jpg'
						)
					),
					'options' => array(//Additional options
						array(
							'id' => 'remove_labels',
							'value' => true
						)
					)
        		)
			)
		));

Create an order and confirm immediately:

$order = $pf->post('orders',
			array(
				'recipient' => array(
					'name' => 'John Doe',
					'address1' => '172 W Providencia Ave #105',
					'city' => 'Burbank',
					'state_code' => 'CA',
					'country_code' => 'US',
					'zip' => '91502'
				),
				'items' => array(
					array(
						'variant_id' => 1,//Small poster
						'name' => 'Niagara Falls poster', //Display name
						'retail_price' => '19.99', //Retail price for packing slip
						'quantity' => 1,
						'files' => array(
							array(
								'url' => 'http://example.com/files/posters/poster_1.jpg'
							)
						)
					)
				)
			),
			array('confirm'=>1)
		);

Calculate shipping rates for an order:

$rates = $pf->post('shipping/rates',array(
			'recipient' => array(
				'country_code'=>'US',
				'state_code' => 'CA'
			),
			'items'=> array(
				array('variant_id'=>1,'quantity'=>1), //Small poster
				array('variant_id'=>1118,'quantity'=>2) //Alternative T-Shirt
			)
		));

Exceptions

There are two Exception-Classes: PrintfulApiException and PintfulException.

Example:

API response status code was not successful:

catch(PrintfulApiException $e){
	echo 'Printful API Exception: '.$e->getCode().' '.$e->getMessage();
}

API Call failed:

catch(PrintfulException $e){
	echo 'Printful Exception: '.$e->getMessage();
	var_export($pf->getLastResponseRaw());
}

fwartner/printful 适用场景与选型建议

fwartner/printful 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 458 次下载、GitHub Stars 达 0, 最近一次更新时间为 2015 年 09 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「api」 「laravel」 「printful」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 fwartner/printful 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 fwartner/printful 我们能提供哪些服务?
定制开发 / 二次开发

基于 fwartner/printful 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 458
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 12
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-09-06