ordersaga/php-sdk

此包的最新版本(1.0.0)没有可用的许可证信息。

1.0.0 2022-03-13 19:58 UTC

This package is auto-updated.

Last update: 2024-09-14 01:04:34 UTC


README

此SDK允许您快速开始使用OrderSaga集成。

依赖关系

GuzzleHTTP, PHP 7.1+

先决条件

一个ordersaga.com账户和API密钥

安装

composer require ordersaga/php-sdk

为API密钥和API版本创建一个环境变量

ORDERSAGA_API_KEY="enter_it_here"
ORDERSAGA_API_VERSION=1

如果您有多个密钥,您可以通过在Endpoint类实例化时提供它们,或者通过全局设置来在它们之间切换

$sdk = new UserEndpoint(); //uses default API key from the environment variables above
$sdk2 = new FormEndpoint(getenv('MY_SECOND_API_KEY'));
$sdk3 = new OrderEndpoint(getenv('MY_SECOND_API_KEY'));
//or
$sdk = new UserEndpoint();
Client::setAPIKeyGlobally(getenv('MY_SECOND_API_KEY'));
$sdk2 = new FormEndpoint(); //or FormEndpoint::create()
$sdk3 = new OrderEndpoint(); //or OrderEndpoint::create()

对于API版本也是同样的操作

$sdk = new UserEndpoint(null, 2);
$sdk = new FormEndpoint(null, 2);
//or
Client::setAPIVersionGlobally(2);
$sdk = new UserEndpoint(); //or UserEndpoint::create()
$sdk = new FormEndpoint(); //or FormEndpoint::create()

您还可以同时全局设置密钥和版本

Client::setAPIKeyGlobally(getenv('MY_SECOND_API_KEY'), 2);

开发/沙盒

只需在API密钥前加上"dev_"即可启用沙盒模式。

示例

ORDERSAGA_API_KEY="dev_[api_key_here]"

客户端用户

每个操作都会存储一个历史记录,记录了执行了什么。为了准确地将此更改与执行的用户关联起来,每个请求都会自动添加一个client_user_id。此值从$_ENV['CLIENT_USER_ID']中获取。在每次请求中,您应该设置此值为当前访客或用户的ID。

用法

addUser方法的示例

//instantiate the User and Company objects from the SharedObjects folder
$user = new User(); //or User::create()
$company = new Company(); //or Company::create()

//set values (generally from a user submitted form)
//it's a very good idea to perform your own validation on this data prior to setting it
$user->setFname($_POST['fname']);
$user->setLname($_POST['lname']);
$user->setEmail($_POST['email']);

$company->setName($_POST['company']);

$user->setCompany($company);

//instantiate the user endpoint 
$user_sdk = new UserEndpoint(); //or UserEndpoint::create()

//an exception will be thrown if anything other than a 200 is returned
//an updated User object is returned on success
$new_user = $user_sdk->addUser($user);

用户

用户有3种类型

  1. 访客:他们没有在系统中正式开户,但被同等对待。他们通过一个令牌来识别,以分组他们的提交和操作。登录后,访客账户将与用户合并。
  2. 用户:他们是具有密码的完整用户。
  3. 员工:本质上与用户相同,但具有区分能力,您可以显示产品成本或管理功能等。

任何接受/需要$user_id的端点方法都接受这些用户的ID。例如$guest->getId()。

您可以使用他们在联系表单(或任何其他表单)上提供的信息创建访客,或者创建一个完全匿名的访客(例如,如果有人将产品添加到他们的购物车)

$guest = new Guest();
$guest->setFname('Bob');
$guest->setLname('Jenkins');
$guest->setEmail('bob@jenkins.com');

$guest = (new GuestEndpoint())->addGuest($guest);

//or

$guest = (new GuestEndpoint())->addGuest();