netoholic/store-integrator

可用于发布产品并从不同的购物平台检索和处理订单。

0.7.0 2016-02-23 21:57 UTC

This package is auto-updated.

Last update: 2024-09-14 10:27:31 UTC


README

目标

  • 允许与流行的销售/购物平台无缝集成。

当前支持

  • Ebay(产品发布和检索,订单检索和处理)
  • Amazon(初始级别)

配置

针对Ebay

配置可以直接传递给集成器之前的Ebay SDK,或者最好是它们可以从环境变量中获取。

Ebay的变量列表

  • EBAY-TRADING-API-VERSION - eBay API的版本。
  • EBAY-DEV-ID - 开发者ID密钥。从Ebay获取。
  • EBAY-APP-ID - 应用ID密钥,再次从Ebay获取。用于在用户之前识别CloudCart。
  • EBAY-CERT-ID - 从Ebay获取的另一个密钥。

使用方法

目前需要直接实例化集成器对象。为了降低复杂性,服务被分组在几个较小的API包装类中,然后用于组成主要的集成器类。

将来这将从包的最终用户那里隐藏。

    $integrator = new StoreIntegrator\Factory([
        'ebay' => [
            'userToken' => 'token'
            // more data needed 
        ]
    ]);
    
    $integrator->provider('ebay')->products->getProducts();
    
    $integrator->provider('ebay')->factory->makeShippingService($data = []);
    $integrator->provider('ebay')->factory->makeProduct($data = []);
    $integrator->provider('ebay')->factory->makeProduct($data = []);
   

为使用该包的应用程序添加了获取用户令牌的方法,并有一些要求。

流程

1. 获取Ebay提供者的实例

    $integrator = new StoreIntegrator\Factory();
    
    $ebay = $integrator->provider('ebay', [ ... ]);
    

2. 设置应用的RuName(Ebay为应用程序提供的特殊标识符)

    $ebay->auth->setRuName($ruName);

3. 从Ebay获取一个特殊的会话ID并将其存储在某个地方(例如会话)

    $sessionId = $ebay->auth->getSessionID();
    
    // save the session id

4. 构建一个特殊的Ebay URL以显示用户对话框,用户可以在其中同意

    $url = $ebay->auth->buildRedirectUrl($sessionId);

5. 将用户重定向到构建的URL(或在页面上某处将其作为链接留下)

6. 如果用户同意,Ebay将他们重定向到应用程序中的预定义URL(https是强制性的)(不同意时也会发生相同的事情,但重定向到另一个URL)

7. 收到从Ebay的跳转后,获取令牌并将其保存以供将来使用

    $token = $ebay->auth->getToken($sessionId);
    
    // Save the token

限制

  • eBay不允许多个属性有可变图片。目前只接受产品(可变性的父级)级别的图片

TODO

贡献者