spojenet / ipexb2b
PHP Based Library for easy interaction with IPEX.cz JSON api
Requires
- php: >= 5.6
- ext-curl: *
- vitexsoftware/ease-framework: dev-master
Requires (Dev)
This package is auto-updated.
Last update: 2024-11-04 15:47:17 UTC
README
CZ: PHP Knihovna pro snadnou práci s Rest API IPEX B2B
Poděkování
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ů.
Instalace
composer require spoje.net/ipexb2b
Konfigurace
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.
Jak to celé funguje ?
Ú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
docker pull vitexsoftware/ipex-b2b
Debian/Ubuntu
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.
Sestavení
Debianí balíček vytvoříme spuštěním debian/deb-package.sh
Obraz pro Docker:
docker build -t vitexsoftware/ipex-b2b