dprmc/clear-structure-sentry-web-services

一个用于与 Sentry 的 Web 服务 SOAP API 交互的 PHP 代码库。

v1.0.9 2024-08-02 20:29 UTC

This package is auto-updated.

Last update: 2024-09-02 20:38:53 UTC


README

Latest Stable Version Total Downloads License composer.lock

一个允许 Sentry 用户访问 Web 服务 API 的 PHP 库。

入门

这是一个私有仓库,所以如果您想使用 Composer 将此库包含到您的 PHP 项目中,需要采取特殊步骤。

清晰结构

清晰结构是一家金融科技公司,它创建了一个名为 Sentry 的投资组合管理平台。

清晰结构公司网站

忽略的服务

来自清晰结构

Sentry 的所有 API 都很好,除了(RetrieveReconciliationData & ExportAccountInRange)。这些已经过时,它们可能无法检索有效数据。

ExportAccount

我向清晰结构询问了这个问题。他们说代码是有效的,但由于结果集的大小,每次都会抛出内存不足异常。因此,我没有在我的库中实现此服务。

RetrieveReconciliationData

我在得到通知说此服务不受支持之前编写了此代码。我不会删除此类,以防他们将来启用它。话虽如此,不要使用它。还有其他工具可以获取对账数据。

示例

RetrieveDataCubeOutputAsDataSet

以下代码块使用了用于位置、用户、密码、dataCubeName 的占位符值,以及我们在请求中传递的参数。

您的位置 URL 应该类似。唯一的区别将是子域。像平常一样登录到您的 Sentry Web 界面。您的子域将显示在浏览器地址栏中。

此代码示例期望返回一个 SimpleXMLElement 对象数组。每个对象都有一个名为 account_number 的属性。您可以在代码的底部看到 foreach 循环,它简单地按新行打印每个账户号码。

$location = 'https://sentry1234.clearstructure.com/WebServices/DataReporterService.asmx';
$user = 'jdoe';
$pass = '12345';
$debug = true;
$dataCubeName = 'my_portfolios_data_cube';
$cultureString = 'en-US';

$params = [];
$params[] = RetrieveDataCubeOutputAsDataSet::getDataCubeXmlParameter('start_date','1/1/2017','datetime');
$params[] = RetrieveDataCubeOutputAsDataSet::getDataCubeXmlParameter('as_of_date','1/31/2017','datetime');

try{
    $service = new RetrieveDataCubeOutputAsDataSet(
        $location,
        $user,
        $pass,
        $dataCubeName,
        $cultureString,
        $params,
        $debug);
    $result = $service->run();

    $schema = $result['schema'];
    $rows = $result['rows'];

    foreach($rows as $row){
        echo("\n" . $row->account_number);
    }
} catch(Exception $e) {
    $this->error($e->getMessage() . " " . $e->getFile() . ':' . $e->getLine());
}

RetrieveDataCubeOutputWithDefaultsAsDataSet

此服务与 RetrieveDataCubeOutputAsDataSet 几乎完全相同。这里的区别是您不需要传递任何参数。数据立方体将使用您通过 Sentry Web 界面设置的任何默认值执行。

$location = 'https://sentry1234.clearstructure.com/WebServices/DataReporterService.asmx';
$user = 'jdoe';
$pass = '12345';
$debug = true;
$dataCubeName = 'my_portfolios_data_cube';
$cultureString = 'en-US';

try{
    $service = new RetrieveDataCubeOutputWithDefaultsAsDataSet(
        $location,
        $user,
        $pass,
        $dataCubeName,
        $cultureString,
        $debug);
    $result = $service->run();

    $schema = $result['schema'];
    $rows = $result['rows'];

    foreach($rows as $row){
        echo("\n" . $row->account_number);
    }
} catch(Exception $e) {
    $this->error($e->getMessage() . " " . $e->getFile() . ':' . $e->getLine());
}

测试

此库包含一个 phpunit.xml.dist 文件。

创建一个名为 phpunit.xml 的副本,并填写适用于您的 Sentry 账户的 PHP 环境变量。