PHPackages                             long-blade/softone-sdk - 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. [API Development](/categories/api)
4. /
5. long-blade/softone-sdk

ActiveLibrary[API Development](/categories/api)

long-blade/softone-sdk
======================

A plugin that simplifies the use of SoftOne WebServices.

942PHP

Since Nov 7Pushed 3y ago1 watchersCompare

[ Source](https://github.com/long-blade/softone-sdk)[ Packagist](https://packagist.org/packages/long-blade/softone-sdk)[ RSS](/packages/long-blade-softone-sdk/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Soft1 Web Services PHP SDK
==========================

[](#soft1-web-services-php-sdk)

A plugin that simplifies the use of SoftOne WebServices.

Installation
------------

[](#installation)

Install with Composer

```
composer require long-blade/softone-sdk
```

Documentation
-------------

[](#documentation)

### - Initialization

[](#--initialization)

First you need to set minimum require credentials for the api client.

```
use SoftOne\Context;

// This can be set on the bootstrap of the application.
Context::initialize(
    'https://excample.com/s1services', // server endpoint
    'username',
    'password',
    '2001' // appid
);
```

In case you know all the parameters.

```
use SoftOne\Context;

// This can be set on the bootstrap of the application.
Context::initialize(
    'https://excample.com/s1services', // server endpoint
    'username',
    'password',
    '2001', // appid
     #--- optional ---
    '1000', // company
    '1000', // branch
    '0', // module
    '1', // refId
);
```

Once the client is initialized, you can then create a service, and use it to communicate with the api

### - Reading

[](#--reading)

Fetching data from ERP can be achieved with a get request using BrowserInfo method constructing a simple query

```
use SoftOne\Services\BrowserInfo;

$query = BrowserInfo::find()
       ->forObject('CUSTOMER') // This is like a table name
       ->withList('custom-list-filter') // use a custom erp soft one list filter
       ->where(['CUSTOMER.EMAIL'=> 'customer@company.gr']) // you can add filters like this
       ->limit(1);
```

Now that we have a query constructed, we can execute a simple get request.

```
use SoftOne\Client;

$response = Client::get($foo)
```

### - Setting data

[](#--setting-data)

There are two methods available for setting data, `insert()` &amp; `update()`

**Insert the data of a record in a Business Object**

```
use SoftOne\Services\Data;

// Insert a new customer
$request = Data::insert('CUSTOMER',[
            'NAME' => 'TEST Soft One Technologies S.A.',
            'AFM' => '999863881',
            'EMAIL' => 'johng@softone.gr',
            'PHONE01' => '+302109484797',
            'FAX' => '9484094',
            'ADDRESS' => '6 Poseidonos street',
            'ZIP' => '17674',
        ]);

$customer = Client::get($request);

$customer->id // returns the new created customer id
```

**Modify the data of a record in a Business Object identified by a KEY**

```
use SoftOne\Services\Data;

// Update a new customer with the id of 47
$request = Data::update('CUSTOMER', '47', [
            'NAME' => 'TEST Soft One Technologies S.A.',
            'AFM' => '999863881',
            'EMAIL' => 'johng@softone.gr',
            'PHONE01' => '+302109484797',
            'FAX' => '9484094',
            'ADDRESS' => '6 Poseidonos street',
            'ZIP' => '17674',
        ]);

$customer = Client::get($request);

$customer->isSuccess() // true if updated
```

### - Response

[](#--response)

*The response implements the `SoftOne\Contracts\SoftoneResponseInterface`.*

```
$response->isSuccess(); // Returns bool

$response->body(); // Returns an array with all the data,
// like so:
$body = [
    'reqID' => 0815969338959806593,
    'totalcount' => 6
    'fields' = [
        [
            'name' => 'CUSTOMER.EMAIL',
            'type' => 'string',
        ],
        // ...
    ],
    'columns' = [
        [
            'dataIndex' => 'CUSTOMER.EMAIL',
            'header' => '',
            'width' => '120',
            'decs' => '-1',
            'hidden' => '',
            'sortable' => '1',
        ],
        // ...
    ],
    'extrainfo' = [
        // ...
    ],
    'rows' = [ // the data according to each col
        [
            'email@excample.com',
            // ...
        ],
        // ...
    ]
];
```

**The response array can be filtered by using $response-&gt;data(\['key1', 'key2',....\]); method**

```
$response->data(['columns', 'rows']);

//OR access explicitly to response obj
$response->rows
$response->columns
```

Testing
-------

[](#testing)

Run tests with composer

```
composer test
```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/80c1a4767d4af2c5df2e8fa525b90d5d124906ddeab841b75c46a6b9c605f393?d=identicon)[long-blade](/maintainers/long-blade)

---

Top Contributors

[![long-blade](https://avatars.githubusercontent.com/u/11339340?v=4)](https://github.com/long-blade "long-blade (8 commits)")

### Embed Badge

![Health badge](/badges/long-blade-softone-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/long-blade-softone-sdk/health.svg)](https://phpackages.com/packages/long-blade-softone-sdk)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

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