CZ: PHP Knihovna pro snadnou práci s Rest API IPEX B2B
Vznik této knihovny by nebyl možný bez laskavé podpory společnosti Spoje.Net, která hradila vývoj řešení pro navýšení kreditu na VoIP služby. 👍
U společnosti Spoje.Net, je možné si objednat komerční podporu pro integraci knihovny do vašich projektů.
composer require spoje.net/ipexb2b
Konfigurace se provádí nastavením následujících konstant:
/**
* Write logs as:
*/
define('LOG_NAME', 'IPEXB2B_Test');
define('LOG_TYPE', 'syslog');
/*
* URL ipex-b2b API
*/
define('IPEX_URL', 'https://restapi.ipex.cz');
/*
* Uživatel ipex-b2b API
*/
define('IPEX_LOGIN', 'firma_api');
/*
* Heslo ipex-b2b API
*/
define('IPEX_PASSWORD', 'Ceeghul');
nebo je možné přihlašovací údaje zadávat při vytváření instance třídy.
$pravnik = new \IPEXB2B\Rights(null,[
'url' => 'https://testapi.ipex.cz',
'user' => 'resttest',
'password' => '-dj3x21xaA_'
]);
Tento způsob nastavení má vyšší prioritu než výše uvedené definovaní konstant.
Ústřední komponentou celé knihovny je Třída ApiClient, která je schopna pomocí PHP rozšíření curl komunikovat s REST Api IPEX.
Z ní jsou pak odvozeny třídy pro jednotlivé sekce, obsahující metody pro často používané operace, například "Navyš kredit" v případě VoIP.
Nová odvozená třída vzniká tak že jméno třídy je název sekce.
Tzn. Pokud chceme odvodit novou třídu pro sekci "simcards" bude vypadat takto:
<?php
class Simcards extends /IPEXB2B/ApiClient
{
/**
* Evidence užitá objektem.
*
* @var string
*/
public $evidence = 'merna-jednotka';
}
A poté je již snadné si simkarty na 2 řádky vypsat:
$jednotky = new Simcards();
print_r( $jednotky->requestData() );
docker pull vitexsoftware/ipex-b2b
Pro Linux jsou k dispozici .deb balíčky. Prosím použijte repo:
sudo apt install lsb-release wget apt-transport-https bzip2
sudo wget -O /usr/share/keyrings/vitexsoftware.gpg https://repo.vitexsoftware.cz/keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/vitexsoftware.gpg] https://repo.vitexsoftware.cz $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/vitexsoftware.list
sudo apt update
sudo apt install php-spojenet-ipex-b2b
V tomto případě je potřeba do souboru composer.json vaší aplikace přidat:
"require": {
"deb/ipex-b2b": "*",
"deb/ease-core": "*"
},
"repositories": [
{
"type": "path",
"url": "/usr/share/php/IPEXB2B",
"options": {
"symlink": true
}
},
{
"type": "path",
"url": "/usr/share/php/EaseCore",
"options": {
"symlink": true
}
}
]
Takže při instalaci závislostí bude vypadat nějak takto:
Loading composer repositories with package information
Installing dependencies from lock file
- Installing deb/ease-framework (1.24)
Symlinked from /usr/share/php/Ease
- Installing deb/ipex-b2b (0.2.1)
Symlinked from /usr/share/php/IPEXB2B
A aktualizaci bude možné dělat globálně pro celý systém prostřednictvím apt-get.
Debianí balíček vytvoříme spuštěním debian/deb-package.sh
Obraz pro Docker:
docker build -t vitexsoftware/ipex-b2b