PHPackages                             magictelecom/magictelecomapi - 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. magictelecom/magictelecomapi

ActiveLibrary[API Development](/categories/api)

magictelecom/magictelecomapi
============================

Magic Telecom API

1.0.0(9y ago)1201MITPHPPHP &gt;=5.4.0

Since Apr 28Pushed 9y ago10 watchersCompare

[ Source](https://github.com/MagicTelecom/mt_php_sdk)[ Packagist](https://packagist.org/packages/magictelecom/magictelecomapi)[ Docs](https://www.magictelecom.com/)[ RSS](/packages/magictelecom-magictelecomapi/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (1)Versions (4)Used By (0)

MagicTelecomAPILib
==================

[](#magictelecomapilib)

This API SDK was automatically generated by APIMATIC BETA v2.0

How To Configure:
=================

[](#how-to-configure)

The generated code might need to be configured with your API credentials. To do that, provide the credentials and configuration values as a constructor parameters for the controllers

How To Build:
=============

[](#how-to-build)

The generated code uses a PHP library namely UniRest. The reference to this library is already added as a composer dependency in the generated composer.json file. Therefore, you will need internet access to resolve this dependency.

How To Use:
===========

[](#how-to-use)

For using this SDK do the following:

```
1. Open a new PHP >= 5.3 project and copy the generated PHP files in the project
   directory.
2. Use composer to install the dependencies. Usually this can be done through a
   context menu command "Instal (dev)".
3. Import classes from your file in your code where needed for example,
       use MagicTelecomAPILib\Controllers\UsersController;
4. You can now instantiate controllers and call the respective methods.

```

Magic SDK examples
==================

[](#magic-sdk-examples)

1. Get all accounts
-------------------

[](#1-get-all-accounts)

```
try {
    ...

    // Create an AccountsController for account actions like:
    // create an account, a cart, cart items, checkout cart and so on
    $objController = new AccountsController();

    // Get the list of accounts
    $objResponse = $objController->getAccounts();
    $arrAccount = $objResponse->data->results;

    ...

} catch (APIException $e) {
    ...
}
```

You can get a limit result using parameters like page, limit, and filters. Take a look to the API doc. Here you have an example.

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Get a list of  accounts using pagination and filters
    // We are going to limit to first five elements with some requirements like firstname and email
    // The filters can be "number, email, contact_number, firstname, lastname"
    $objResponse = $objController->getAccounts(1, 5 "firstname::John|lastname::Doe");
    $arrAccount = $objResponse->data->results;

    ...

} catch (APIException $e) {
    …
}
```

2. Create an account
--------------------

[](#2-create-an-account)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Create an account "99674698002" with roles "USER"
    $objAccount = new Account("99674698002", array("USER"), "john@example.com", "14079876543", "John", "Smith");
    $objAccountForm = new AccountForm($objAccount);

    $objResponse = $objController->createAccount($objAccountForm);
    $strAccount = $objResponse->number;

    ...

} catch (APIException $e) {
    ...
}
```

This is a full response example.

```
class stdClass#13 (5) {
  public $number =>
  string(11) "99674698003"
  public $email =>
  string(19) "john@example.com"
  public $contact_number =>
  string(10) "4079876543"
  public $firstname =>
  string(4) "John"
  public $lastname =>
  string(6) "Smith"
}

```

3. Get an account
-----------------

[](#3-get-an-account)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Get account "99674698003"
    $objResponse = $objController->getAccount("99674698003");
    $objAccount = $objResponse->data;

    ...

} catch (APIException $e) {
    echo "Can't accomplish this action, exception: [{$e->getMessage()}]";
}
```

If the account doesn't exist, you gonna get this message: `Can't accomplish this action, exception: [Resource not found]`

4. Update an account
--------------------

[](#4-update-an-account)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Create the account to update
    $objAccount = new Account("99674698004", array("USER"), "johns_new@test.com", "4079876543", "John", "New");
    $objAccountForm = new AccountForm($objAccount);

    // Update account "99674698002"
    $objController->updateAccount("99674698002", $objAccountForm);

    // Get the account with the new account value
    $objResponse = $objController->getAccount("99674698004");

    ...

} catch (APIException $e) {
    echo "Can't accomplish this action, exception: [{$e->getMessage()}]";
}
```

If the account doesn't exist, you gonna get this message: `Can't accomplish this action, exception: [Resource not found]`

5. Delete an account
--------------------

[](#5-delete-an-account)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete account "99674698003"
    $objController->deleteAccount("99674698003");

    ...

} catch (APIException $e) {
    ...
}
```

6. Get account access tokens
----------------------------

[](#6-get-account-access-tokens)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Get account "997766554" access tokens
    $objResponse = $objController->getAccessTokens("997766554");
    $arrToken = $objResponse->data->results;

    // Get the first access token
    if(isset($arrToken[0]))
    {
        $strFirstToken = $arrToken[0]->token;
    }

    ...

} catch (APIException $e) {
    ...
}
```

7. Create account access tokens list
------------------------------------

[](#7-create-account-access-tokens-list)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Create access token
    $objAccessToken = new Token(true);
    $objForm = new TokenForm($objAccessToken);

    // Save the access token for account "997766554"
    $objResponse = $objController->createAccessTokens("997766554", $objForm);

    // Get access token Key
    $strKey = $objResponse->token;

} catch (APIException $e) {
    ...
}
```

8. Get an account access tokens
-------------------------------

[](#8-get-an-account-access-tokens)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Getting the access token "justatoken" for account "997766554"
    $objResponse = $objController->getAccessToken("997766554", "justatoken");
    $objToken = $objResponse->data;

    // Check if the token is active
    if($objToken->is_active)
    {
        ...
    }

    ...

} catch (APIException $e) {
    ...
}
```

9. Update an account access tokens
----------------------------------

[](#9-update-an-account-access-tokens)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Fill a access token as not active
    $objAccessToken = new Token('false');
    $objForm = new TokenForm($objAccessToken);

    // Updating the access token "b3086c8ef1d4ee975d55b7fbce1e5a4eb893d6d3" for account "997766554" as not active
    $objController->updateAccessToken("997766554", 'b3086c8ef1d4ee975d55b7fbce1e5a4eb893d6d3', $objForm);

    ...

} catch (APIException $e) {
    ...
}
```

10. Delete an account access tokens
-----------------------------------

[](#10-delete-an-account-access-tokens)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete access token with key "b3086c8ef1d4ee975d55b7fbce1e5a4eb893d6d3" for account "997766554"
    $objController->deleteAccessToken("997766554", 'b3086c8ef1d4ee975d55b7fbce1e5a4eb893d6d3');

    ...

} catch (APIException $e) {
    ...
}
```

11. Get the list of caller locations for an account
---------------------------------------------------

[](#11-get-the-list-of-caller-locations-for-an-account)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Get the caller locations list
    $objResponse = $objController->getCallerLocations("997766554");
    $arrCallerLocation = $objResponse->data->results;

    // Get the amount of elements
    $intTotal = $objResponse->data->total;

    ...

} catch (APIException $e) {
    ...
}
```

12. Create a caller locations for an account
--------------------------------------------

[](#12-create-a-caller-locations-for-an-account)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Create a caller location
    // Take care unit_type must be "unit, suit or apt"
    $objCallerLocation = new CallerLocation(
                                    "John Smith",
                                    "123 Street Name",
                                    "Orlando",
                                    "FL",
                                    32819,
                                    "Suit",
                                    123,
                                    "US"
                                );
    $objForm = new CallerLocationForm($objCallerLocation);

    // Save the caller location
    $objResponse = $objController->createCallerLocations("997766554", $objForm);

    ...

} catch (APIException $e) {
    ...
}
```

13. Delete caller locations for an account
------------------------------------------

[](#13-delete-caller-locations-for-an-account)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete caller locations
    $objController->deleteCallerLocations("997766554");

    ...

} catch (APIException $e) {
    ...
}
```

14. Get a caller locations for an account by Id
-----------------------------------------------

[](#14-get-a-caller-locations-for-an-account-by-id)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Get a caller locations with id equal 7 for account "997766554"
    $objResponse = $objController->getCallerLocationById("997766554", 7);
    $objCallerLocation = $objResponse->data;

    ...

} catch (APIException $e) {
    ...
}
```

15. Update a caller locations for an account by Id
--------------------------------------------------

[](#15-update-a-caller-locations-for-an-account-by-id)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Create the update caller location object
    $objCallerLocation = new CallerLocation(
                                    "John Smith",
                                    "125 Street Name",
                                    "Orlando",
                                    "FL",
                                    32819,
                                    "Apt",
                                    125,
                                    "US"
                                );
    $objForm = new CallerLocationForm($objCallerLocation);

    // Update the caller location with id equal 7
    $objController->updateCallerLocationById("997766554", 7, $objForm);

    ...

} catch (APIException $e) {
    ...
}
```

16. Delete a caller locations for an account by Id
--------------------------------------------------

[](#16-delete-a-caller-locations-for-an-account-by-id)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete a caller locations with id equal 7 for account "997766554"
    $objController->deleteCallerLocationById("997766554", 7);

    ...

} catch (APIException $e) {
    ...
}
```

17. Get the cart list for an account
------------------------------------

[](#17-get-the-cart-list-for-an-account)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Get the car list for account "997766554"
    $objResponse = $objController->getCarts("997766554");
    $arrCart = $objResponse->data->results;

    ...

} catch (APIException $e) {
    ...
}
```

18. Create a cart for an account
--------------------------------

[](#18-create-a-cart-for-an-account)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Create Cart for account "997766554"
    $objCart = $objController->createCarts("997766554");

    // Getting cart id
    $intCartId = $objCart->cart_id;

    ...

} catch (APIException $e) {
    ...
}
```

19. Delete all the cart for an account
--------------------------------------

[](#19-delete-all-the-cart-for-an-account)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete carts for account "997766554"
    $objController->deleteCarts("997766554");

    ...

} catch (APIException $e) {
    ...
}
```

20. Get a cart for an account by Id
-----------------------------------

[](#20-get-a-cart-for-an-account-by-id)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Get the cart for account "997766554" with id equal 3
    $objResponse = $objController->getCart("997766554", 3);
    $objCart = $objResponse->data;

    ...

} catch (APIException $e) {
    ...
}
```

21. Delete a cart for an account by Id
--------------------------------------

[](#21-delete-a-cart-for-an-account-by-id)

```
try {
    ...

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete a cart for account "997766554" with id equal 6
    $objController->deleteCart("997766554", 6);

    ...

} catch (APIException $e) {
    ...
}
```

22. Create cart items
---------------------

[](#22--create-cart-items)

#### Creating a trunk item

[](#creating-a-trunk-item)

```
try {
    ...

    // Create routing object
    $objRouting = new Routing("load-balanced",
                                array(new Endpoint("108.188.149.100", "maxChannels=100")),
                                "Sip_user_1"
                             );

    // Create Trunk Item
    $objTrunk = new TrunkItem(10, "WORLD_WIDE", "108.188.149.121", "sms,fax",  $objRouting);

    // Set the item type ("TRUNK", "LOCATION", "DID")
    $objTrunk->__set("itemType", "TRUNK");
    ...

} catch (APIException $e) {
    ...
}
```

#### Create Location Item

[](#create-location-item)

```
try {
    ...

    // Create a caller location
    $objCallerLocation = new CallerLocation(
                                    "John Smith",
                                    "123 Street Name",
                                    "Orlando",
                                    "FL",
                                    "32819",
                                    "UNIT",
                                    "123",
                                    "US"
                                 );

    // Create Location Item for the trunk 23
    $objLocation = new LocationItem("ORLANDO__407___FL", 3, "sms,fax", "STANDARD", 23, objCallerLocation);

    // Setting the item type
    $objLocation->__set("itemType", "LOCATION");
    ...

} catch (APIException $e) {
    ...
}
```

#### Create Did Item

[](#create-did-item)

```
try {
    ...

    // Create a caller location
    $objCallerLocation = new CallerLocation(
                                    "John Smith",
                                    "123 Street Name",
                                    "Orlando",
                                    "FL",
                                    "32819",
                                    "UNIT",
                                    "123",
                                    "US"
                                 );

    // Creating a Did Item for trunk 5
    $objDid = new DidItem("14701234567", 5, "STANDARD", $objCallerLocation);
    $objDid->__set("itemType", "DID");
    ...

} catch (APIException $e) {
    ...
}
```

#### Create Trunk Channels Item

[](#create-trunk-channels-item)

```
try {
    ...

    // Create a Trunk Channels Item with 2 additional channels for trunk 5
    $objChannelsItem = new MagicTelecomAPILib\Models\TrunkChannelsItem(2, 5);
    $objChannelsItem->__set("itemType", "TRUNK_CHANNELS");
    ...

} catch (APIException $e) {
    ...
}
```

23. Add an Item to cart
-----------------------

[](#23-add-an-item-to-cart)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Create a item like the examples before
    // Could be an TrunkItem, LocationItem or DidItem
    $objTrunk = ...

    //Create an form item
    $objForm = new ItemForm($objTrunk);

    // Add the item to the cart 3
    $response = $objController->createItems("997766554", 3, $objForm);

    // Get Item id from the response
    $intItemId = $response->item_id;
    ...

} catch (APIException $e) {
    ...
}
```

This is the full response (Trunk Item) example

```
object(stdClass)#15 (6) {
  ["item_id"]=>
  int(4)
  ["channels"]=>
  int(10)
  ["sip_uri"]=>
  string(15) "108.188.149.125"
  ["attributes"]=>
  string(7) "sms,fax"
  ["_routing"]=>
  string(115) "{"sip_user":"sip_user_1","logic":"load-balanced",
                "endpoints":[{"uri":"108.188.149.100","attrs":"maxChannels=100"}]}"
  ["item_type"]=>
  string(5) "TRUNK"
}

```

24. Get the cart items list
---------------------------

[](#24-get-the-cart-items-list)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Get the list of items from the cart 7 for account "997766554" using filter (page = 1) and (limit = 10) default values
    $objResponse = $objController->getItems("997766554", 7);
    $arrItem = $objResponse->data->results;

    // Get the list of items using filter (page = 2) and (limit = 5)
    $objResponse = $objController->getItems("997766554", 7, 2, 5);
    $arrItem = $objResponse->data->results;

    ...

} catch (APIException $e) {
    ...
}
```

25. Delete the cart items list
------------------------------

[](#25-delete-the-cart-items-list)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete the list of items from the cart 7 for account "997766554"
    $objController->deleteItems("997766554", 7);

    ...

} catch (APIException $e) {
    ...
}
```

26. Get a cart item
-------------------

[](#26-get-a-cart-item)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Get the items from the cart 7 for account "997766554" with id equal 9
    $objResponse = $objController->getItem("997766554", 7, 9);
    $objItem = $objResponse->data;

    ...

} catch (APIException $e) {
    ...
}
```

27. Delete a cart item
----------------------

[](#27-delete-a-cart-item)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Get the items from the cart 7 for account "997766554" with id equal 9
    $objResponse = $objController->getItem("997766554", 7, 9);
    $objItem = $objResponse->data;

    // Check the item type ('TRUNK', 'DID' or 'LOCATION')
    if($objItem->item_type == 'TRUNK')
    {
        // Delete the item with id equal 9 from the cart 7 for account "997766554"
        $objController->deleteItem("997766554", 7, 9);
    }

    ...

} catch (APIException $e) {
    ...
}
```

28. Checkout a Cart
-------------------

[](#28-checkout-a-cart)

```
try {
    ...

    // Create Checkout object with using and external reference
    // "1234567899000dfhdfhdf1234"

    // External reference could be a generated string
    $objCheckout = new Checkout("1234567899000dfhdfhdf1234");

    // Create a checkout form using the checkout object
    $checkoutForm = new CartCheckoutForm($objCheckout);

    // Checkout Cart with id 3 in account "997766554"
    $response  = $objController->createCartCheckout("997766554", 3, $checkoutForm);

    // Getting Order id generated by the cart checkout
    $intOrderId = $response->order_id;
    ...

} catch (APIException $e) {
    ...
}
```

This is the full response (Checkout Cart) example

```
object(stdClass)#17 (5) {
  ["external_order_reference"]=>
  string(28) "1234567899000dfhdfhdf1234eee"
  ["created"]=>
  string(24) "2016-03-11T21:16:25+0000"

["order_id"]=>
  string(1) "2"
  ["_items"]=>
  array(1) {
    [0]=>
    object(stdClass)#18 (9) {
      ["item_id"]=>
      string(1) "1"
      ["status"]=>
      string(8) "COMPLETE"
      ["item_type"]=>
      string(5) "TRUNK"
      ["channels"]=>
      int(10)
      ["sip_uri"]=>
      string(15) "108.188.149.125"
      ["attributes"]=>
      string(7) "sms,fax"
      ["_routing"]=>
      string(115) "{"sip_user":"sip_user_1","logic":"load-balanced",
                    "endpoints":[{"uri":"108.188.149.100","attrs":"maxChannels=100"}]}"
      ["trunk_handle"]=>
      string(10) "WORLD_WIDE"
      ["trunk_id"]=>
      int(7)
    }
  }
1  ["account_number"]=>
  string(9) "997766554"
}

```

29. Get Order status
--------------------

[](#29-get-order-status)

```
try {

    $intOrderId = ...
    $response = $objController->getOrder("997766554", $intOrderId);
    $strStatus = $response->data->status;

} catch (APIException $e) {
    ...
}
```

30. Get the list of cdr request for an account
----------------------------------------------

[](#30-get-the-list-of-cdr-request-for-an-account)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Get the list of cdr request for account "997766554" using filter (page = 1) and (limit = 10) default values
    $objResponse = $objController->getCdrs("997766554");
    $arrCDR = $objResponse->data->results;

    // Get the list of cdr request for account "997766554" using filter (page = 2) and (limit = 5)
    $objResponse = $objController->getCdrs("997766554", 2, 5);
    $arrCDR = $objResponse->data->results;

    // Get the list of cdr request for account "997766554" using filter (page = 1) and (limit = 2)
    // and filter (service_type = "ORIGINATION")
    $objResponse = $objController->getCdrs("997766554", 1, 2, "service_type::ORIGINATION");
    $arrCDR = $objResponse->data->results;

    ...

} catch (APIException $e) {
    ...
}
```

31. Create a cdr for an account
-------------------------------

[](#31-create-a-cdr-for-an-account)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Create a cdr for account "997766554" for a service type "TERMINATION"
    // Service type could be "ORIGINATION" or "TERMINATION"
    $objCDR = new Cdrs("TERMINATION", "2016-01-13", "2016-01-13");
    $objForm = new CdrForm($objCDR);

    // Save cdr object
    $objCDR = $objController->createCdrs("997766554", $objForm);

    ...

} catch (APIException $e) {
    ...
}
```

32. Delete the list of cdr request for an account
-------------------------------------------------

[](#32-delete-the-list-of-cdr-request-for-an-account)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete the cdrs list for account "997766554"
    $objController->deleteCdrs("997766554");

    ...

} catch (APIException $e) {
    ...
}
```

33. Delete a cdr for an account by id
-------------------------------------

[](#33-delete-a-cdr-for-an-account-by-id)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete the cdrs for account "997766554" with id 2
    $objController->deleteCdrById("997766554", 2);

    ...

} catch (APIException $e) {
    ...
}
```

34. Get the list of numbers (Dids) for an account
-------------------------------------------------

[](#34-get-the-list-of-numbers-dids-for-an-account)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Get the Dids list for account "997766554" using filter (page = 1) and (limit = 10) default values
    $objResponse = $objController->getDids("997766554");
    $arrDid = $objResponse->data->results;

    // Get the Dids list for account "997766554" using filter (page = 1) and (limit = 5)
    // and filter (region_handle::FL)
    $objResponse = $objController->getDids("997766554", 1, 5, "region_handle::FL");
    $arrDid = $objResponse->data->results;

    ...

} catch (APIException $e) {
    ...
}
```

35. Delete the list of numbers (Dids) for an account
----------------------------------------------------

[](#35-delete-the-list-of-numbers-dids-for-an-account)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete the Dids list for account "997766554"
    $objController->deleteDids("997766554");

    ...

} catch (APIException $e) {
    ...
}
```

36. Get a telephone number (Did) for an account
-----------------------------------------------

[](#36-get-a-telephone-number-did-for-an-account)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Get the Did for account "997766554" with number "13211234567"
    $objResponse = $objController->getTelephoneNumber("997766554", "13211234567");
    $objDid = $objResponse->data;

    ...

} catch (APIException $e) {
    ...
}
```

37. Update a telephone numbers (Dids) for an account
----------------------------------------------------

[](#37-update-a-telephone-numbers-dids-for-an-account)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Create the routing to be updated
    $objRouting = new RoutingBase(
                               "load-balanced",
                               array(new Endpoint("108.188.149.101", "maxChannels=10"))
                               );
    $objTelephoneNumber = new TelephoneNumber(4, "102.225.231.41", "My new did alias", 5, $objRouting);
    $objTelephoneNumberForm = new TelephoneNumberForm($objTelephoneNumber);
    $objController->updateTelephoneNumber("997766554", "13211234567", $objTelephoneNumberForm);

    ...

} catch (APIException $e) {
    ...
}
```

38. Delete a telephone numbers (Dids) for an account
----------------------------------------------------

[](#38-delete-a-telephone-numbers-dids-for-an-account)

```
try {

    // Create an AccountsController
    $objController = new AccountsController();

    // Delete Dids for account "997766554" with number "13211234567"
    $objController->deleteTelephoneNumber("997766554", "13211234567");

    ...

} catch (APIException $e) {
    ...
}
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 72.3% 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 ~53 days

Total

2

Last Release

3616d ago

Major Versions

v0.1 → 1.0.02016-06-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/727d34996f35bae384b2e237d0462328223387bb392e9e64c971f34bfbe445e5?d=identicon)[alainvoxbeam](/maintainers/alainvoxbeam)

---

Top Contributors

[![lmartin-voxbeam](https://avatars.githubusercontent.com/u/13470030?v=4)](https://github.com/lmartin-voxbeam "lmartin-voxbeam (47 commits)")[![alainvoxbeam](https://avatars.githubusercontent.com/u/7768597?v=4)](https://github.com/alainvoxbeam "alainvoxbeam (17 commits)")[![pmunizvoxbeam](https://avatars.githubusercontent.com/u/13525092?v=4)](https://github.com/pmunizvoxbeam "pmunizvoxbeam (1 commits)")

---

Tags

apisdkMagic Telecom API

### Embed Badge

![Health badge](/badges/magictelecom-magictelecomapi/health.svg)

```
[![Health](https://phpackages.com/badges/magictelecom-magictelecomapi/health.svg)](https://phpackages.com/packages/magictelecom-magictelecomapi)
```

###  Alternatives

[square/square

Use Square APIs to manage and run business including payment, customer, product, inventory, and employee management.

793.4M21](/packages/square-square)

PHPackages © 2026

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