PHPackages                             dprmc/clear-structure-sentry-web-services - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. dprmc/clear-structure-sentry-web-services

ActiveLibrary[HTTP &amp; Networking](/categories/http)

dprmc/clear-structure-sentry-web-services
=========================================

A library of php code to interact with Sentry's Web Services SOAP API.

v1.0.9(1y ago)04.7kMITPHPPHP ^7.2|^8.0CI failing

Since Feb 7Pushed 1y ago1 watchersCompare

[ Source](https://github.com/DPRMC/ClearStructure-Sentry-WebServices)[ Packagist](https://packagist.org/packages/dprmc/clear-structure-sentry-web-services)[ RSS](/packages/dprmc-clear-structure-sentry-web-services/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (5)Versions (11)Used By (0)

ClearStructure-Sentry-WebServices
=================================

[](#clearstructure-sentry-webservices)

[![Latest Stable Version](https://camo.githubusercontent.com/52a6f81bf1e4ed129067efa3ff44462f487ca088665a005797d364a42cdebd51/68747470733a2f2f706f7365722e707567782e6f72672f6470726d632f636c6561722d7374727563747572652d73656e7472792d7765622d73657276696365732f762f737461626c65)](https://packagist.org/packages/dprmc/clear-structure-sentry-web-services) [![Total Downloads](https://camo.githubusercontent.com/689dfffd9f15b6eb83daf8ae7079145bb81a38abc4b6504f68ffb607cf74f384/68747470733a2f2f706f7365722e707567782e6f72672f6470726d632f636c6561722d7374727563747572652d73656e7472792d7765622d73657276696365732f646f776e6c6f616473)](https://packagist.org/packages/dprmc/clear-structure-sentry-web-services) [![License](https://camo.githubusercontent.com/a1edaf2714dfa7a4c19543de78bb34f1faae55b0e8ced8cc3929c5b65b5355e4/68747470733a2f2f706f7365722e707567782e6f72672f6470726d632f636c6561722d7374727563747572652d73656e7472792d7765622d73657276696365732f6c6963656e7365)](https://packagist.org/packages/dprmc/clear-structure-sentry-web-services) [![composer.lock](https://camo.githubusercontent.com/c8f55cc10cddc5a4ecd77e9e8c0747504c92c726e9fbad2ffb9c917272638765/68747470733a2f2f706f7365722e707567782e6f72672f6470726d632f636c6561722d7374727563747572652d73656e7472792d7765622d73657276696365732f636f6d706f7365726c6f636b)](https://packagist.org/packages/dprmc/clear-structure-sentry-web-services)

A php library that enables Sentry users to access the Web Services API.

Getting started
---------------

[](#getting-started)

This is a private repository, so [special steps are needed](https://getcomposer.org/doc/05-repositories.md#using-private-repositories) if you want to use [Composer](https://getcomposer.org) to include this library in your php project.

Clear Structure
---------------

[](#clear-structure)

Clear Structure is a financial technology company that created a portfolio management platform called Sentry.

[Clear Structure Company Website](https://clearstructure.com/)

Ignored Services
----------------

[](#ignored-services)

From Clear Structure:

> All Sentry's API are all good except (RetrieveReconciliationData &amp; ExportAccountInRange). These are outdated and they might not retrieve valid data.

### ExportAccount

[](#exportaccount)

I asked Clear Structure about this. They say the code works, but throws an out of memory exception every time because of the size of the result set. For that reason, I don't implement this service in my library.

### RetrieveReconciliationData

[](#retrievereconciliationdata)

I wrote the code for this before I got notice that this service was not supported. I'm not going to delete this class in case they enable it in the future. That being said, don't use it. There are other tools available to get reconciliation data.

Examples
--------

[](#examples)

### RetrieveDataCubeOutputAsDataSet

[](#retrievedatacubeoutputasdataset)

> The following code block makes use of the dummy values for location, user, pass, dataCubeName, as well as the params we pass in the request.

> Your location URL should look similar. The only difference will be the sub-domain. Log into your Sentry Web Interface like you normally do. Your sub-domain will show in the URL bar of your browser.

This code example expects to be returned an array of SimpleXMLElement objects. And each of those objects has a property called **account\_number**. You can see the foreach loop towards the bottom that simply echos each account number to a new line.

```
$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

[](#retrievedatacubeoutputwithdefaultsasdataset)

This service is almost exactly the same as RetrieveDataCubeOutputAsDataSet. The difference here is that you don't pass in any parameters. The data cube will execute with whatever default values you have set via the Sentry Web Interface.

```
$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());
}
```

Testing
-------

[](#testing)

Included with this library is a `phpunit.xml.dist` file.

Create a copy of that named `phpunit.xml`, and fill in the PHP environment variables that are appropriate for your Sentry Account.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~222 days

Recently: every ~233 days

Total

10

Last Release

700d ago

PHP version history (3 changes)v1.0PHP ^7.2

v1.0.5PHP ^7.2||^8.0

v1.0.6PHP ^7.2|^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/17033570?v=4)[DPRMC](/maintainers/DPRMC)[@DPRMC](https://github.com/DPRMC)

---

Top Contributors

[![michaeldrennen](https://avatars.githubusercontent.com/u/5288190?v=4)](https://github.com/michaeldrennen "michaeldrennen (72 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dprmc-clear-structure-sentry-web-services/health.svg)

```
[![Health](https://phpackages.com/badges/dprmc-clear-structure-sentry-web-services/health.svg)](https://phpackages.com/packages/dprmc-clear-structure-sentry-web-services)
```

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.6M984](/packages/statamic-cms)[bitrix24/b24phpsdk

An official PHP library for the Bitrix24 REST API

10244.2k5](/packages/bitrix24-b24phpsdk)[sunchayn/nimbus

A Laravel package providing an in-browser API client with automatic schema generation, live validation, and built-in authentication with a touch of Laravel-tailored magic for effortless API testing.

32041.3k](/packages/sunchayn-nimbus)[pimcore/studio-backend-bundle

Pimcore Studio Backend Bundle

20203.9k22](/packages/pimcore-studio-backend-bundle)[japanese-date/japanese-date

日本の暦、祝日を取り扱うライブラリ

1610.0k](/packages/japanese-date-japanese-date)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
