PHPackages                             multidialogo/api-php-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. multidialogo/api-php-sdk

ActiveLibrary[API Development](/categories/api)

multidialogo/api-php-sdk
========================

php client for multidialogo services

v0.12.4(2y ago)0576PHPPHP &gt;=7.4

Since Sep 22Pushed 2y ago3 watchersCompare

[ Source](https://github.com/Multidialogo/multidialogo-api-php-sdk)[ Packagist](https://packagist.org/packages/multidialogo/api-php-sdk)[ RSS](/packages/multidialogo-api-php-sdk/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (2)Versions (16)Used By (0)

Multidialogo api php sdk
========================

[](#multidialogo-api-php-sdk)

A set of classes to manage the interaction with Multidialogo API.

Quick Start
-----------

[](#quick-start)

### Installation

[](#installation)

```
composer require multidialogo/api-php-sdk
```

### Use example

[](#use-example)

```
    use multidialogo\client\MultidialogoClient;

    $client = MultidialogoClient::builder()
        ->withHostUrl('http://rest.multidialogo.local')
        ->withPasswordCredentials('username', 'password')
        ->withLanguage('it')
        ->build();

    $response = $client->getJson('users/me', ['include' => 'profile']);

    print_r($response->body);
```

It is possible to configure the client with a filesystem-based credentials store.

This is achieved with this helper:

```
        ->withFileTokenStorage(CLIENT_PROVIDED_FILESYSTEM_PATH)

```

So the full example would be:

```
        $client = MultidialogoClient::builder()
            ->withHostUrl('https://rest-stage.multidialogo.it')
            ->withFileTokenStorage(CLIENT_PROVIDED_FILESYSTEM_PATH)
            ->withLanguage('it')
            ->build();

        $client->getJson('geo/countries');
```

CLIENT\_PROVIDED\_FILESYSTEM\_PATH is a string specifying a folder, that will be used by the client to store the credentials. The folder must be writable. It is totally optional, and it allows to omit user password until it is mandatory (ie until the main or refresh token expires).

It is possibile to pass a token directly to the client. This use case is suitable for situation where the login is managed by a frontend, that is handling the token refresh procedure and passing the token to a backend proxy. This is done via the `withBearerToken` helper method. Example:

```
        $client = MultidialogoClient::builder()
            ->withHostUrl('https://rest-stage.multidialogo.it')
            ->withBearerToken($token)
            ->withLanguage('it')
            ->build();

        $client->getJson('geo/countries');
```

Local development
-----------------

[](#local-development)

### How to build required docker images

[](#how-to-build-required-docker-images)

To build the main image (php 7.4)

```
docker build -f provisioning/Dockerfile-74-composer -t multidialogo-api-php-sdk-composer:latest .
```

To build the php 8.2 version image (note: it does not contain composer).

```
docker build -f provisioning/Dockerfile-82-cli -t multidialogo-api-php-sdk-php82:latest .
```

Keep in mind that the php82 version is intended to be used only to run unit tests, that's why composer is not included.

### Install/update/manage vendors

[](#installupdatemanage-vendors)

```
docker run --rm --interactive --tty -v ${PWD}/:/app multidialogo-api-php-sdk-composer:latest composer
```

### Run unit tests

[](#run-unit-tests)

Run tests under php 7.4:

```
docker run --rm --interactive --tty -v ${PWD}/:/app multidialogo-api-php-sdk-composer:latest ./vendor/bin/phpunit -c .
```

Run tests under php 8.2:

```
docker run --rm --interactive --tty -v ${PWD}/:/app multidialogo-api-php-sdk-php82:latest ./vendor/bin/phpunit -c .
```

### Semantic versioning

[](#semantic-versioning)

Project is following semantic versioning. Please use properly git tags before any release in master.

Example:

```
git tag -a v0.0.2 -m "Bugfix"
git push --follow-tags
```

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

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

Recently: every ~84 days

Total

10

Last Release

1018d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/60748733?v=4)[Multidialogo Engineering](/maintainers/MultiDialogo)[@Multidialogo](https://github.com/Multidialogo)

---

Top Contributors

[![michele-carino](https://avatars.githubusercontent.com/u/313541855?v=4)](https://github.com/michele-carino "michele-carino (5 commits)")[![zio-mitch](https://avatars.githubusercontent.com/u/5042579?v=4)](https://github.com/zio-mitch "zio-mitch (5 commits)")[![nicofari](https://avatars.githubusercontent.com/u/6568988?v=4)](https://github.com/nicofari "nicofari (3 commits)")[![emidiocruciani](https://avatars.githubusercontent.com/u/89306118?v=4)](https://github.com/emidiocruciani "emidiocruciani (3 commits)")[![NeverWise](https://avatars.githubusercontent.com/u/6242691?v=4)](https://github.com/NeverWise "NeverWise (1 commits)")[![netbuilder-it](https://avatars.githubusercontent.com/u/52451245?v=4)](https://github.com/netbuilder-it "netbuilder-it (1 commits)")[![pvettori-mamoka](https://avatars.githubusercontent.com/u/181086143?v=4)](https://github.com/pvettori-mamoka "pvettori-mamoka (1 commits)")

---

Tags

phpsdkmultidialogo-api

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/multidialogo-api-php-sdk/health.svg)

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

###  Alternatives

[aws/aws-sdk-php

AWS SDK for PHP - Use Amazon Web Services in your PHP project

6.2k555.0M2.8k](/packages/aws-aws-sdk-php)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

353.6k](/packages/eslazarev-wildberries-sdk)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3661.3M49](/packages/tencentcloud-tencentcloud-sdk-php)[resend/resend-php

Resend PHP library.

608.3M53](/packages/resend-resend-php)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

563.6M16](/packages/checkout-checkout-sdk-php)[fingerprint/fingerprint-pro-server-api-sdk

Fingerprint Server API allows you to get, search, and update Events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. The API also supports collection of Automation Intelligence for requests to your server in edge, pre-origin, or middleware contexts.

33302.1k1](/packages/fingerprint-fingerprint-pro-server-api-sdk)

PHPackages © 2026

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