Lemon Way API 的 PHP SDK

1.7 2017-06-14 13:06 UTC

This package is not auto-updated.

Last update: 2024-09-20 20:11:00 UTC


README

Lemon Way API(称为Directkit)有两种实现:DirectkitJson2和DirectkitXml。调用服务的方式取决于你选择的实现。

访问directkitJson2的最佳方式是使用curl_init函数向DirectkitJson2服务发送POST请求。

请参阅此处示例

这是最简单(对你来说)且最网络高效的调用服务的方式。因此,我们推荐使用Json而不是SOAP(XML)协议。

如果你不喜欢json格式,你也可以向DirectkitXml发送SOAP(XML)请求,你可以用3种不同的方式完成

  1. SoapClient:在PHP中消费任何Web服务的普通方法。这是访问DirectkitXml的最简单方式。
  2. SoapClient SDK:与第一种方法相同,但所有请求/响应的结构都通过wsdl2phpgenerator生成。
  3. LemonWay SDK:将Web服务作为正常的http请求调用 curl_init。SDK将帮助你解析SOAP响应。

此示例演示了第三种方法。它并没有比其他方法有真正的优势。它只是比 SoapClient 更简洁。 查看观点比较

Lemon Way PHP SDK(此SDK仅用于Directkit XML)

Lemon Way SDK 是用于与 Lemon Way API 一起工作的PHP客户端库。

使用Composer安装

您可以使用Lemon Way SDK库作为项目中的依赖项,通过Composer(这是首选技术)。如果您尚未安装Composer,请遵循这些安装说明。在存储库中有一个composer.json文件,它已在Packagist中引用。

使用Composer安装简单可靠

步骤 1 - 通过执行以下命令将Lemon Way SDK添加为依赖项

you@yourhost:/path/to/your-project$ composer require lemonway/php-sdk:^1.0

步骤 2 - 使用Composer更新您的依赖项

you@yourhost:/path/to/your-project$ composer update

步骤 3 - 最后,请确保将自动加载器包含在您的项目中

require_once '/path/to/your-project/vendor/autoload.php';

库已添加到您的依赖项中,并准备好使用。

不使用Composer安装

SDK是用PHP 5.4编写的。您应确保在PHP安装中启用了curl和openssl扩展(它们是标准PHP分发的部分)。

项目尝试遵守PSR-4规范以从文件路径自动加载类。命名空间前缀是LemonWay\,基本目录是/path/to/your-project/

但如果你不使用PSR-4或Composer,安装就像下载库并将其存储在项目的任何位置一样简单,该位置将可用以包括在你的项目中(不过别忘了包括所需的库依赖项)

    require_once '/path/to/your-project/LemonWay/Autoloader.php';

联系方式

使用GitHub上的问题跟踪器报告错误或建议功能。

账户创建

您需要一个沙盒来运行示例。

配置

使用来自Lemon Way支持的凭据信息,您应将$api->config->wlLogin设置为您的Lemon Way登录名,并将$api->config->wlPass设置为您的Lemon Way密码。

require_once '/path/to/your-project/vendor/autoload.php';
$api = new LemonWayAPI();

$api->config->dkUrl = 'Your DirectKitXML url';
$api->config->wkUrl = 'Your WebKit url';
$api->config->wlLogin = 'Your login';
$api->config->wlPass = 'Your password';
$api->config->lang = 'Your language';
//$api->config->isDebugEnabled = true; //Uncomment to turn on debug mode

// call some API methods...
$result = $api->RegisterWallet(...);

响应对象

所有 LemonWayAPI 方法都返回 \LemonWay\ApiResponse 对象。它是一个具有可变属性的动态对象。

###固定属性:

###可变属性:

这些属性取决于调用的是哪个方法。

示例用法

require_once '/path/to/your-project/vendor/autoload.php';
$api = new LemonWayAPI();

$api->config->dkUrl = 'Your DirectKitXML url';
$api->config->wkUrl = 'Your WebKit url';
$api->config->wlLogin = 'Your login';
$api->config->wlPass = 'Your password';
$api->config->lang = 'Your language';


// call some API methods...
$walletID = 'Fill in with a unique id';
$response = $api->RegisterWallet(array('wallet' => $walletID,
                                        'clientMail' => $walletID.'@mail.fr',
                                        'clientTitle' => Wallet::UNKNOWN,
                                        'clientFirstName' => 'Paul',
                                        'clientLastName' => 'Atreides'));
if (isset($response->lwError)) {
    print 'Error, code '.$response->lwError->CODE.' : '.$response->lwError->MSG;
} else {
    print '<br/>Wallet created : ' . $response->wallet->ID;

    // OR BY USING lwXml :
    print '<br/>Wallet created : ' . $response->lwXml->WALLET->ID;
}

从我们的示例开始

示例文件夹中,您可以找到每个API方法的示例。

您需要在配置了PHP且主机名不同于localhost的Web服务器上运行这些示例。

如果您想运行示例,还需要沙盒(请联系Lemon Way创建沙盒)

示例文件夹索引中,您可以找到一个**API方法/示例匹配表**,该表以HTML格式显示,并在示例文件夹README.md中以Markdown格式显示。

###配置 默认情况下,示例使用我们的沙盒演示运行。如果您需要您自己的沙盒,请联系Lemon Way,然后执行这些配置。有两个文件处理示例配置