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

ActiveLibrary[API Development](/categories/api)

effectconnect/php-sdk
=====================

Our PHP SDK for basic API integration

3.2.10(4y ago)277.0k↓32.2%4[2 issues](https://github.com/EffectConnect/EffectConnectSDK/issues)1proprietaryPHPPHP &gt;=5.5

Since Aug 22Pushed 4y ago2 watchersCompare

[ Source](https://github.com/EffectConnect/EffectConnectSDK)[ Packagist](https://packagist.org/packages/effectconnect/php-sdk)[ Docs](https://www.effectconnect.com)[ RSS](/packages/effectconnect-php-sdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)DependenciesVersions (24)Used By (1)

EffectConnectSDK
================

[](#effectconnectsdk)

SDK for EffectConnect API integration

This is a simple SDK to start connecting to our API.

So far this SDK only includes functionality and examples to create an order and inject a productfeed.

More information about the EffectConnect API: [EffectConnect Docs](https://docs.effectconnect.com)

Getting started
===============

[](#getting-started)

Step 1: Installing the project
------------------------------

[](#step-1-installing-the-project)

Including the project can be done via composer:

```
    composer require effectconnect/php-sdk

```

Or by downloading the source code and including the autoloader:

```
    require_once(realpath(__DIR__.'/..').'/autoload/effectConnectSdk.php');
```

Step 2: Creating your API Keyset
--------------------------------

[](#step-2-creating-your-api-keyset)

For this step you'll need to go to your EffectConnect environment and create an API Keyset.

Make sure you assign all the required permissions to this keyset in order to use the calls you intend to.

Step 3: Basics
--------------

[](#step-3-basics)

To use any API call you are required to create a **Keychain** and instantiate a Core object.

```
    use EffectConnect\PHPSdk\Core\Helper\Keychain;
    use EffectConnect\PHPSdk\Core;

    $keychain  = (new Keychain())
        ->setPublicKey('YourPublicKey')
        ->setSecretKey('YourSecretKey')
    ;
    // Instantiate the API Core
    $core = new Core($keychain);
```

Step 4: Creating an Api Call object
-----------------------------------

[](#step-4-creating-an-api-call-object)

At the moment, the following Call objects are available:

- OrderCall
- OrderListCall
- ProductsCall
- ProcessCall
- ReportCall

These objects can be obtained by calling their respective methods in the Core:

```
    $orderCall = $core->OrderCall();
```

Step 5: Preparing your Api Call
-------------------------------

[](#step-5-preparing-your-api-call)

All Api calls have their own requirements and will be validated. If invalid information is being passed to the call, an `InvalidPayloadException` will be thrown.

In this example we will read an order with identifier `EC-ORDER-ID`;

```
    use EffectConnect\PHPSdk\Core\Model\Request\OrderReadRequest;
    $orderReadRequest = (new OrderReadRequest())
        ->setIdentifierType(OrderReadRequest::TYPE_EFFECTCONNECT_NUMBER)
        ->setIdentifier('EC-ORDER-ID')
    ;
    $apiCall = $orderCall->read($orderReadRequest);
```

Now that we have our prepared `ApiCall` object, we can make the call to EffectConnect. At this stage no communication has taken place, the `ApiCall::call()` method is the first (and only) time you will connect with the EffectConnect API server.

```
    $apiCall->call();
```

Step 6: Checking the call
-------------------------

[](#step-6-checking-the-call)

Now that we've made a call to EffectConnect, it's time to check whether everything has gone the way we intended to or if everything went the way of the dodo...

In case something went terribly wrong, the `ApiCall::isSuccess()` method will return false and more information about this failure should be found via the `ApiCall::getErrors()` method.

```
    if (!$apiCall->isSuccess())
    {
        // Check $apiCall->getErrors() for errors that have occurred.
    }
```

Step 7: Process your response
-----------------------------

[](#step-7-process-your-response)

Yay, everything went **exactly** as we planned! Now it's time to do something with the response. The SDK contains objects for all the Response Containers.

This means you can access and process any information EffectConnect returns to you. In our example, an instance of `OrderReadResponseContainer` will be contained in our `Response` object.

Let's find out which identifiers are assigned to our `EC-ORDER-ID`!

```
    // The EffectConnect\PHPSdk\Core\Model\Response\ApiResponseContainer
    $responseContainer = $apiCall->getResponseContainer();
    // The EffectConnect\PHPSdk\Core\Model\Response\Response
    $response          = $responseContainer->getResponse();
    if ($response->getResult() === Response::STATUS_SUCCESS)
    {
        // The EffectConnect\PHPSdk\Core\Model\Response\OrderReadResponseContainer
        $orderResponse = $response->getResponseContainer();
        // Our EffectConnect\PHPSdk\Core\Model\Response\Order
        $order         = $orderResponse->getOrder();
        echo '';
        print_r($order->getIdentifiers());
        echo '';
    }
```

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 52.4% 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 ~59 days

Recently: every ~155 days

Total

22

Last Release

1581d ago

Major Versions

1.3.1 → 2.02018-08-23

2.0.1 → 3.02018-12-18

### Community

Maintainers

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

---

Top Contributors

[![EffectConnect](https://avatars.githubusercontent.com/u/46352185?v=4)](https://github.com/EffectConnect "EffectConnect (44 commits)")[![Fyntasia](https://avatars.githubusercontent.com/u/4737386?v=4)](https://github.com/Fyntasia "Fyntasia (30 commits)")[![tom598](https://avatars.githubusercontent.com/u/64906495?v=4)](https://github.com/tom598 "tom598 (5 commits)")[![EffectConnect-Stefan](https://avatars.githubusercontent.com/u/268602778?v=4)](https://github.com/EffectConnect-Stefan "EffectConnect-Stefan (2 commits)")[![kim-dongit](https://avatars.githubusercontent.com/u/17615168?v=4)](https://github.com/kim-dongit "kim-dongit (2 commits)")[![wesley-ec](https://avatars.githubusercontent.com/u/144882882?v=4)](https://github.com/wesley-ec "wesley-ec (1 commits)")

---

Tags

phpapisdkeffectconnect

### Embed Badge

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

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

###  Alternatives

[jstolpe/instagram-graph-api-php-sdk

Instagram Graph API PHP SDK

13998.4k2](/packages/jstolpe-instagram-graph-api-php-sdk)[clever/clever-php

231.6k](/packages/clever-clever-php)

PHPackages © 2026

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