grixu / socius-client
PHP Client for Socius API
Requires
- php: ^8.0
- ext-json: *
- grixu/api-client: ^3.4
- grixu/socius-dto: ^1.1
- grixu/socius-models: ^3.1
- grixu/synchronizer: ^5.2
Requires (Dev)
- brainmaestro/composer-git-hooks: ^2.8
- brianium/paratest: ^6.3
- friendsofphp/php-cs-fixer: ^3.1
- grixu/data-factories: ^1.1
- nunomaduro/larastan: ^0.7.12 || ^1.0.0
- nunomaduro/phpinsights: ^2.0
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
- spatie/x-ray: ^1.1
This package is auto-updated.
Last update: 2023-01-26 01:06:12 UTC
README
Socius Client is easy to use client for Socius API
Installation
Use the [composer(https://getcomposer.org/) to install it in your project.
composer require grixu/socius-client
Basic usage
Start with fill you .env file with proper data for connection with Socius API:
SOCIUS_BASE_URL=""
SOCIUS_OAUTH=""
SOCIUS_CLIENT_ID=""
SOCIUS_CLIENT_KEY=""
Then you can use facade SociusClient and simply make call to API:
use Grixu\SociusClient\SociusClientFacade as SociusClient; $query = SociusClient::product()->compose()->addFilter('name', 'SZKLO'); $query->fetch(); $data = $query->parse(DtoClass::class);
Use can use SociusClient facade to start make query to Socius API, by choosing which module you would like to query:
productproductTypecategorybranddescriptionlanguageoperatoroperatorRolebranchcustomerwarehouseorderorder_element
After call one of those functions, you can add filters to query or sorting or request related data via
calling compose() and one of below methods:
addFilter('column_name', ...'values')addSort('column_name')addInclude('column_name')
After that just call fetch(page_number) (or without page_number to fetch all data) and getResults
to receive DataTransferObjectCollection object with received data from Socius API.
You can also make a relationship call which download extra data which contains relationship details between models. It's easy to use them via calling one of those methods on SociusClient:
product_relationshipcategory_relationshipdescription_relationshipoperator_relationshipwarehouse_relationshipstock_relationshiporder_relationshiporder_element_relationship
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email mateusz.gostanski@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.