readme
This commit is contained in:
parent
bb38b5e970
commit
6255eab9c7
31
README.md
31
README.md
|
|
@ -1,12 +1,19 @@
|
|||
# Класс для работы с API CRM "Клиентская База" и пример использования
|
||||
# Класс для работы с API CRM "Клиентская База"
|
||||
|
||||
**ClientbaseAPI** - это PHP-класс, позволяющий работать с методами API CRM "Клиентская база".
|
||||
|
||||
### Начало работы
|
||||
|
||||
Подключите файл `src/ClientbaseAPI.php` к вашему проекту.
|
||||
|
||||
Создайте экземпляр класса ClientbaseAPI для работы с API:
|
||||
|
||||
### Подключите класс src/ClientbaseAPI для работы с API:
|
||||
|
||||
```
|
||||
$cbAPI = new ClientbaseAPI('[URL вашей CRM]', '[Токен для доступа к API']);
|
||||
```
|
||||
|
||||
### Пример: получить список всех пользовательских таблиц
|
||||
### Как пользоваться
|
||||
|
||||
```
|
||||
$tables = $cbAPI->getTablesList();
|
||||
|
|
@ -19,8 +26,22 @@ foreach ($tables as $table) {
|
|||
Примеры решения разных задач Вы можете найти в файле `index.php`.
|
||||
|
||||
|
||||
### Вы можете использовать следующие методы для работы с API:
|
||||
### Все методы
|
||||
|
||||
* **getTablesList()** - получить список пользовательских таблиц
|
||||
* **getTable(int $tableId, bool $includeFields=false)** - получить информацию о таблице, включая информацию о полях
|
||||
* **getDataList(int $tableId, int $offset=0, int $limit=0, mixed $filter='')** - получить список записей таблицы c ограничением количества и выборкой по фильтру
|
||||
* **getData(int $tableId, int $lineId)** - получить информацию о записи в таблице
|
||||
* **getData(int $tableId, int $lineId)** - получить информацию о записи в таблице
|
||||
* **getFile(int $tableId, int $fieldId, int $lineId, string $fileName)** - получить информацию файле из поля типа "Файл" в записи
|
||||
* **deleteData(int $tableId, int $lineId)** - удалить запись из таблицы
|
||||
* **addData(int $tableId, array $data)** - добавить запись в таблицу
|
||||
* **updateData(int $tableId, int $lineId, array $data)** - обновить запись в таблице
|
||||
* **getUsersList()** - получить список пользователей
|
||||
* **getUser(int $userId)** - получить информацию о пользователе
|
||||
* **getGroupsList()** - получить список групп пользователей
|
||||
* **getGroup(int $groupId)** - получить информацию о группе пользователей
|
||||
* **query(string $path, string $method="GET", array $urlQuery = [], $body = null)** - произвольный запрос к API
|
||||
|
||||
* getTablesList()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
//use clientbase\api;
|
||||
/**
|
||||
* Пример работы с API CRM "Клиентская База"
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace clientbase\api;
|
||||
//namespace clientbase\api;
|
||||
|
||||
class ClientbaseAPI
|
||||
{
|
||||
|
|
@ -20,7 +20,7 @@ class ClientbaseAPI
|
|||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTablesList()
|
||||
public function getTablesList(): array
|
||||
{
|
||||
$rawResult = $this->query("/table");
|
||||
$result = $this->_rawToResult($rawResult);
|
||||
|
|
@ -32,9 +32,9 @@ class ClientbaseAPI
|
|||
* Получить информацию о таблице
|
||||
* @param $tableId int id таблицы
|
||||
* @param $includeFields bool Получить информацию о полях таблицы
|
||||
* @return stdObject
|
||||
* @return stdClass
|
||||
*/
|
||||
public function getTable($tableId, $includeFields = false)
|
||||
public function getTable(int $tableId, bool $includeFields = false): stdClass
|
||||
{
|
||||
$queryParams = $includeFields ? ['include' => 'fields'] : [];
|
||||
$rawResult = $this->query("/table/" . $tableId, "GET", $queryParams);
|
||||
|
|
@ -53,7 +53,7 @@ class ClientbaseAPI
|
|||
* @param $filter mixed Фильтр в виде строки или массива
|
||||
* @return array
|
||||
*/
|
||||
public function getDataList($tableId, $offset=0, $limit=0, $filter='')
|
||||
public function getDataList(int $tableId, int $offset=0, int $limit=0, $filter=''): array
|
||||
{
|
||||
$queryParams = ['page' => []];
|
||||
if ($offset) {
|
||||
|
|
@ -77,7 +77,7 @@ class ClientbaseAPI
|
|||
*
|
||||
* @param $tableId int id таблицы
|
||||
* @param $lineId int id записи в таблице
|
||||
* @return stdObject
|
||||
* @return stdClass
|
||||
*/
|
||||
public function getData($tableId, $lineId)
|
||||
{
|
||||
|
|
@ -103,7 +103,7 @@ class ClientbaseAPI
|
|||
* Перевести массив с данными в формат, подходящий для отправки на сервер
|
||||
*
|
||||
* @param $data array Массив с данными для добавления/обновления записи в таблице
|
||||
* @return stdObject
|
||||
* @return stdClass
|
||||
*/
|
||||
public function bodyFromData($data)
|
||||
{
|
||||
|
|
@ -119,7 +119,7 @@ class ClientbaseAPI
|
|||
*
|
||||
* @param $tableId int id таблицы
|
||||
* @param $data array Данные для добавления
|
||||
* @return stdObject
|
||||
* @return stdClass
|
||||
*/
|
||||
public function addData($tableId, $data)
|
||||
{
|
||||
|
|
@ -137,7 +137,7 @@ class ClientbaseAPI
|
|||
* @param $tableId int id таблицы
|
||||
* @param $lineId int id записи в таблице
|
||||
* @param $data array Данные для обновления
|
||||
* @return stdObject
|
||||
* @return stdClass
|
||||
*/
|
||||
public function updateData($tableId, $lineId, $data)
|
||||
{
|
||||
|
|
@ -167,7 +167,7 @@ class ClientbaseAPI
|
|||
* Получить информацию о пользователе
|
||||
*
|
||||
* @param $userId id пользователя
|
||||
* @return stdObject
|
||||
* @return stdClass
|
||||
*/
|
||||
public function getUser($userId)
|
||||
{
|
||||
|
|
@ -194,7 +194,7 @@ class ClientbaseAPI
|
|||
* Получить информацию о группе пользователей
|
||||
*
|
||||
* @param $groupId id группы пользователей
|
||||
* @return stdObject
|
||||
* @return stdClass
|
||||
*/
|
||||
public function getGroup($groupId)
|
||||
{
|
||||
|
|
@ -211,7 +211,7 @@ class ClientbaseAPI
|
|||
* @param $fieldId id поля таблицы
|
||||
* @param $lineId id записи таблицы
|
||||
* @param $fileName string Название файла
|
||||
* @return stdObject
|
||||
* @return stdClass
|
||||
*/
|
||||
public function getFile($tableId, $fieldId, $lineId, $fileName)
|
||||
{
|
||||
|
|
@ -228,7 +228,7 @@ class ClientbaseAPI
|
|||
* @param $method string метод запроса
|
||||
* @param $urlQuery array GET-параметры запроса в виде массива
|
||||
* @param $body stdObject данные для запросов POST, PATCH
|
||||
* @return stdObject
|
||||
* @return stdClass
|
||||
*/
|
||||
public function query($path, $method="GET", $urlQuery = [], $body = null)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue