PHPackages                             edouardkombo/ek-api-caller-bundle - 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. edouardkombo/ek-api-caller-bundle

ActiveBundle[API Development](/categories/api)

edouardkombo/ek-api-caller-bundle
=================================

cURL API call functionality to communicate easily with any web api.

125[2 issues](https://github.com/edouardkombo/EkApiCallerBundle/issues)1PHP

Since Jul 27Pushed 11y ago1 watchersCompare

[ Source](https://github.com/edouardkombo/EkApiCallerBundle)[ Packagist](https://packagist.org/packages/edouardkombo/ek-api-caller-bundle)[ RSS](/packages/edouardkombo-ek-api-caller-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (1)

Ek Api Caller Bundle
====================

[](#ek-api-caller-bundle)

About
-----

[](#about)

This bundle helps you call any web api easily via Curl. Designed with CABIN design pattern (Concrete ABstraction of INterfaces), it offers clear, logic code syntax validating S.O.L.I.D principles.

CABIN principle? What's that?
-----------------------------

[](#cabin-principle-whats-that)

CABIN stands for Concrete ABstraction of INterfaces, more informations here:

Requirements
------------

[](#requirements)

Require PHP version 5.3 or greater.

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

[](#installation)

Register the bundle in your composer.json

```
{
    "require": {
        "edouardkombo/ek-api-caller-bundle": "dev-master"
    }
}

```

Now, install the vendor

```
php composer.phar install

```

Register MultiStepFormsBundle namespace in your app/appKernel.php

```
new EdouardKombo\EkApiCallerBundle\EkApiCallerBundle(),

```

Set config parameters in app/config/config.php

```
ek_api_caller:
    cache:                   true
    verify_ssl_certificates: false
    timeout:                 90 #Maximum time of curl request
    connect_timeout:         30 #Wait x seconds before reconnect

```

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

[](#documentation)

How to use it? Inside your controller, call the httpContract service like this:

```
$curl = $this->get('ek_api_caller.contract.http');
$curl->setParameter('url',     $url);
$curl->setParameter('headers', $httpHeaders); //$httpHeaders => array
$curl->setParameter('datas',   $urlDatas);   //$urlDatas   => array

//Available methods for request are post, get, delete
//These methods return an array of two values (response message, and http status code)
//You can use these values to generate your api specific errors
$curl->post();

//$urlDatas array are automatically encoded, just specify an array of key => values
//Example for stripe api
$urlDatas = [
    'amount'   => 5500,
    'currency' => 'EUR',
    'card' => [
        'number'    => '4242424242424242',
        'exp_month' => '10',
        'exp_year'  => '16',
        'cvc'       => '123',
    ],
];

//$httpHeaders must be array to, but without key values
//Example for stripe api
$user_agent = [
    'bindings_version' => '1.0.0',
    'lang'             => 'php',
    'lang_version'     => PHP_VERSION,
    'publisher'        => 'scribe',
    'uname'            => php_uname(),
];

$httpHeaders = [
    'X-Stripe-Client-User-Agent: '    . json_encode($user_agent),
    'User-Agent: Stripe/v1 ScribeStripeBundle/' . '1.0.0',
    'Authorization: Bearer '          . 'STRIPE_SECRET_KEY',
    'Stripe-Version: '                . '2014-01-31'
];

```

Contributing
------------

[](#contributing)

If you want to help me improve this bundle, please make sure it conforms to the PSR coding standard. The easiest way to contribute is to work on a checkout of the repository, or your own fork, rather than an installed version.

Issues
------

[](#issues)

Bug reports and feature requests can be submitted on the [Github issues tracker](https://github.com/edouardkombo/EkApiCallerBundle/issues).

For further informations, contact me directly at .

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/aadb7e8f4da66da9399b9ee24b275e520707a61db7b75570aeaebf2084d9b236?d=identicon)[edouardkombo](/maintainers/edouardkombo)

---

Top Contributors

[![edouardkombo](https://avatars.githubusercontent.com/u/4246149?v=4)](https://github.com/edouardkombo "edouardkombo (9 commits)")

### Embed Badge

![Health badge](/badges/edouardkombo-ek-api-caller-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/edouardkombo-ek-api-caller-bundle/health.svg)](https://phpackages.com/packages/edouardkombo-ek-api-caller-bundle)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

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

A PHP wrapper for Twilio's API

1.6k92.9M270](/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.1M453](/packages/google-gax)

PHPackages © 2026

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