PHPackages                             gruentee/flowfact-api-php - 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. gruentee/flowfact-api-php

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

gruentee/flowfact-api-php
=========================

A simple wrapper around the FLOWFACT API, featuring a fluent interface

v0.1.3(9y ago)023MITPHP

Since Jul 29Pushed 9y ago1 watchersCompare

[ Source](https://github.com/gruentee/flowfact-api-php)[ Packagist](https://packagist.org/packages/gruentee/flowfact-api-php)[ Docs](https://github.com/gruentee/flowfact-api-php)[ RSS](/packages/gruentee-flowfact-api-php/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (5)Versions (3)Used By (0)

\#flowfact-api-php

**A simple wrapper around the [FLOWFACT API](https://flowfact.atlassian.net/wiki/display/FA/Version+1.0.X).**

- Uses [Guzzle](http://docs.guzzlephp.org/en/latest/) for HTTP requests.
- Features a fluent interface for building HTTP queries: build any resource path via dynamic method calls
- Returns HTTP responses according to [PSR-7](http://www.php-fig.org/psr/psr-7/)

\##Usage example Building resource paths (ie. `/users//contacs/`) through chaining method calls with the name of the desired resource prefixed by either `for` or `get`. Single resources can be specified by passing the identifier as an argument to the call denoting the resource, same goes for adding query parameters.

The request is finally made by calling an HTTP method at the end of the chain.

```
// install via Composer
composer require gruentee/flowfact-api-php

// initialize client
$client = new Client('USERNAME', 'PASSWORD', 'CUSTOMER_ID', 'https://api.baseurl.tld/');

// build URL: prefix the desired resource with "get" or "for"
// /users/68ed219e-5755-11e6-8b77-86f30ca893d3/contacts
$client->getUsers("68ed219e-5755-11e6-8b77-86f30ca893d3")
    ->getContacts();
// submit request
$response = $client->get();

// POST /users/68ed219e-5755-11e6-8b77-86f30ca893d3/contacts
$data = [
    'name' => ['lastname' => 'TestUser']
];

$resp = $client->forUsers('AAC94B33-01F8-3783-B597-AE7456DF1B78')
    ->forContacts()
    ->post($data);
```

\##TODO

- Map XML and JSON responses to PHP classes corresponding to response models

\###Thanks Idea of intercepting method calls borrowed from \[sendgrid/php-http-client\](.com/sendgrid/php-http-client/). 👍

\#About [![FLOWFACT logo](https://camo.githubusercontent.com/15a64f3755b390c8fc980a6972ef598f1dc07a352802b8ea41bb32243a9003d3/68747470733a2f2f7777772e666c6f77666163742e64652f66696c6561646d696e2f696d672f666c6f77666163745f6c6f676f5f76322e706e67)](https://camo.githubusercontent.com/15a64f3755b390c8fc980a6972ef598f1dc07a352802b8ea41bb32243a9003d3/68747470733a2f2f7777772e666c6f77666163742e64652f66696c6561646d696e2f696d672f666c6f77666163745f6c6f676f5f76322e706e67)[![ProfessionalCenter Logo](https://camo.githubusercontent.com/45d51eebbf9759b597ad0e55f92a460273a687eb22912cce09abfef2ddf5f956/687474703a2f2f7777772e70726f66657373696f6e616c63656e7465722e756e692d6b6f656c6e2e64652f736b696e2f70726f635f6c6f676f5f686561642d6e65752e6a7067)](https://camo.githubusercontent.com/45d51eebbf9759b597ad0e55f92a460273a687eb22912cce09abfef2ddf5f956/687474703a2f2f7777772e70726f66657373696f6e616c63656e7465722e756e692d6b6f656c6e2e64652f736b696e2f70726f635f6c6f676f5f686561642d6e65752e6a7067)

This project was built during an educational cooperation project by the [Professional Center of the University of Cologne](http://www.professionalcenter.uni-koeln.de/professionalcenter.php) and the [FLOWFACT GmbH](https://www.flowfact.de).

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 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 ~2 days

Total

2

Last Release

3622d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/923759?v=4)[Constantin Kraft](/maintainers/gruentee)[@gruentee](https://github.com/gruentee)

---

Top Contributors

[![gruentee](https://avatars.githubusercontent.com/u/923759?v=4)](https://github.com/gruentee "gruentee (26 commits)")

---

Tags

apirestwrapperFLOWFACT

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/gruentee-flowfact-api-php/health.svg)

```
[![Health](https://phpackages.com/badges/gruentee-flowfact-api-php/health.svg)](https://phpackages.com/packages/gruentee-flowfact-api-php)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.6M3.0k](/packages/craftcms-cms)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k13](/packages/tempest-framework)[xeroapi/xero-php-oauth2

Xero official PHP SDK for oAuth2 generated with OpenAPI spec 3

1054.7M18](/packages/xeroapi-xero-php-oauth2)[huaweicloud/huaweicloud-sdk-php

Huawei Cloud SDK for PHP

1830.8k2](/packages/huaweicloud-huaweicloud-sdk-php)[onesignal/onesignal-php-api

A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com

34216.9k2](/packages/onesignal-onesignal-php-api)[dreamfactory/df-core

DreamFactory(tm) Core Components

1652.1k38](/packages/dreamfactory-df-core)

PHPackages © 2026

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