ordersaga / php-sdk
此包的最新版本(1.0.0)没有可用的许可证信息。
1.0.0
2022-03-13 19:58 UTC
Requires
- guzzlehttp/guzzle: ^6.3
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种类型
- 访客:他们没有在系统中正式开户,但被同等对待。他们通过一个令牌来识别,以分组他们的提交和操作。登录后,访客账户将与用户合并。
- 用户:他们是具有密码的完整用户。
- 员工:本质上与用户相同,但具有区分能力,您可以显示产品成本或管理功能等。
任何接受/需要$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();