1
0
mirror of synced 2024-11-22 05:16:07 +03:00
api-client-php/lib/RetailCrm/ApiClient.php

82 lines
1.6 KiB
PHP
Raw Normal View History

<?php
2016-03-09 02:31:29 +03:00
/**
* PHP version 5.4
*
* API client class
*
* @category RetailCrm
* @package RetailCrm
*/
namespace RetailCrm;
use Psr\Log\LoggerInterface;
use RetailCrm\Client\ApiVersion3;
use RetailCrm\Client\ApiVersion4;
use RetailCrm\Client\ApiVersion5;
/**
* PHP version 5.4
2016-03-09 02:31:29 +03:00
*
* API client class
*
* @category RetailCrm
* @package RetailCrm
*/
class ApiClient
{
public $request;
public $version;
2016-01-09 15:23:50 +03:00
2017-06-22 16:42:42 +03:00
const V3 = 'v3';
const V4 = 'v4';
const V5 = 'v5';
2016-01-09 15:23:50 +03:00
/**
* Init version based client
2016-01-09 15:23:50 +03:00
*
* @param string $url api url
* @param string $apiKey api key
* @param string $version api version
* @param string $site site code
2019-08-30 14:10:52 +03:00
* @param bool $debug debug mode
2016-01-09 15:23:50 +03:00
*/
2019-08-30 14:10:52 +03:00
public function __construct($url, $apiKey, $version = self::V5, $site = null, $debug = false)
2016-01-09 15:23:50 +03:00
{
$this->version = $version;
2016-01-09 15:23:50 +03:00
switch ($version) {
2017-06-22 16:42:42 +03:00
case self::V4:
2019-08-30 14:10:52 +03:00
$this->request = new ApiVersion4($url, $apiKey, $version, $site, $debug);
break;
2017-06-22 16:42:42 +03:00
case self::V3:
2019-08-30 14:10:52 +03:00
$this->request = new ApiVersion3($url, $apiKey, $version, $site, $debug);
break;
default:
2019-08-30 14:10:52 +03:00
$this->request = new ApiVersion5($url, $apiKey, $version, $site, $debug);
break;
}
}
/**
* Get API version
*
* @return string
*/
public function getVersion()
{
return $this->version;
}
/**
* Set logger
*
* @param LoggerInterface|null $logger
*/
public function setLogger($logger = null)
{
$this->request->setLogger($logger);
}
}