Download the PHP package andrey-tech/yclients-api-php without Composer
On this page you can find all versions of the php package andrey-tech/yclients-api-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download andrey-tech/yclients-api-php
More information about andrey-tech/yclients-api-php
Files in andrey-tech/yclients-api-php
Package yclients-api-php
Short Description Обертка для работы с API YCLIENTS v2.0 c троттлингом запросов и логированием в файл
License MIT
Homepage https://github.com/andrey-tech/yclients-api-php
Informations about the package yclients-api-php
YCLIENTS API PHP Wrapper
Обертка на PHP7+ для работы с REST API YCLIENTS v2.0 c троттлингом запросов к API и логированием в файл.
Данная библиотека является форком Yclients API wrapper со следующими изменениями:
- добавлен регулируемый троттлинг запросов к API;
- добавлена отключаемая проверка SSL/TLS-сертификата сервера YCLIENTS;
- добавлена проверка наличия сообщений об ошибках в ответе API;
- добавлено логирование запросов и ответов сервера в файл или STDOUT;
- изменен и дополнен тест сообщений об ошибках;
- добавлены методы getSchedule(), getGroups();
- изменен метод postHooks() в связи с изменениями в API;
- добавлен метод getAll() для выгрузки всех сущностей одного типа с использованием генератора при обработке больших объемов данных.
Содержание
- Требования
- Установка
- Класс
YclientsApi
- Список методов класса
- Авторизация
- Онлайн-запись
- Записи пользователя
- Сети салонов
- Компании
- Категория услуг
- Услуги
- Сотрудники
- Клиенты
- Записи
- Расписание работы сотрудников
- Даты для журнала
- Комментарии
- Пользователи компании
- Кассы
- SMS рассылка
- Склады
- Уведомления о событиях webhooks
- Вспомогательные методы
- Дополнительные параметры
- Примеры
- Список методов класса
- Авторы
- Лицензия
Требования
- PHP >= 7.0.
- Произвольный автозагрузчик классов, реализующий стандарт PSR-4.
Установка
Установка через composer:
или добавить
в секцию require файла composer.json.
Класс YclientsApi
Для работы с REST API YCLIENTS используется методы класса \Yclients\YclientsApi
.
При возникновении ошибок выбрасывается исключение с объектом класса \Yclients\YclientsException
.
Список методов класса
__construct(string $tokenPartner = null)
Конструктор класса.
Авторизация
setTokenPartner(string $tokenPartner) :void
Устанавливает токен партнера.getTokenPartner() :string
Возвращает токен партнера.getAuth(string $login, string $password) :array
Выполняет авторизацию и возвращает токен пользователя.
Онлайн-запись
getBookform($id) :array
Возвращает настройки формы бронирования.getI18n($locale = 'ru-RU') :array
Возвращает параметры интернационализации.getBookServices($companyId, $staffId = null, \DateTime $datetime = null, array $serviceIds = null, array $eventIds = null) :array
Возвращает список услуг, доступных для бронирования.getBookStaff($companyId, $staffId = null, \DateTime $datetime = null, array $serviceIds = null, array $eventIds = null, $withoutSeances = false) :array
Возвращает список сотрудников, доступных для бронирования.getBookDates($companyId, $staffId = null, array $serviceIds = null, \DateTime $date = null, array $eventIds = null) :array
Возвращает список дат, доступных для бронирования.getBookTimes($companyId, $staffId, \DateTime $date, array $serviceIds = null, array $eventIds = null) : array
Возвращает список сеансов, доступных для бронирования.postBookCode($companyId, $phone, $fullname = null) :array
Отправляет СМС код подтверждения номера телефона.postBookCheck($companyId, array $appointments): array
Проверяет параметры записи.postBookRecord($companyId, array $person, array $appointments, $code = null, array $notify = null, $comment = null, $apiId = null) :array
Создает запись на сеанс.
Записи пользователя
postUserAuth($phone, $code) :array
Выполняет авторизовацию пользователя по номеру телефона и SMS-коду.getUserRecords($recordId, $recordHash = null, $userToken = null): array
Возвращает записи пользователя.deleteUserRecords($recordId, $recordHash = null, $userToken = null): array
Удаляет записи пользователя.
Сети салонов
getGroups($userToken): array
Возвращает список доступных сетей салонов
Компании
getCompanies($groupId = null, $active = null, $moderated = null, $forBooking = null, $my = null, $userToken = null) :array
Возвращает список компаний.postCompany(array $fields, $userToken) :array
Создает компанию.getCompany($id) :array
Возвращает компанию.putCompany($id, array $fields, $userToken) :array
Изменяет компанию.deleteCompany($id) :array
Удаляет компанию.getCompanyAnalytics($companyId, $dateFrom, $dateTo, $userToken)
Возвращает основные показатели компании.
Категория услуг
getServiceCategories($companyId, $categoryId = null, $staffId = null) :array
Возвращает список категорий услуг.postServiceCategories($companyId, $categoryId, $fields, $userToken) :array
Создает категорию услуг.getServiceCategory($companyId, $categoryId) :array
Возвращает категорию услуг.putServiceCategory($companyId, $categoryId, $fields, $userToken) :array
Изменяет категорию услуг.deleteServiceCategory($companyId, $categoryId, $userToken) :array
Удаляет категорию услуг.
Услуги
getServices($companyId, $serviceId = null, $staffId = null, $categoryId = null) :array
Возвращает список услуг или конкретную услугу.postServices($companyId, $serviceId, $categoryId, $title, $userToken, array $fields = null) :array
Создает новую услугу.putServices($companyId, $serviceId, $categoryId, $title, $userToken, array $fields = null) :array
Изменяет услугу.deleteServices($companyId, $serviceId, $userToken) :array
Удаляет услугу.
Сотрудники
getStaff($companyId, $staffId = null) :array
Возвращает список сотрудников или конкретного сотрудника.postStaff($companyId, $staffId, $name, $userToken, array $fields = null) :array
Добавляет нового сотрудника.putStaff($companyId, $staffId, array $fields, $userToken) :array
Изменяет сотрудника.deleteStaff($companyId, $staffId, $userToken) :array
Удаляет сотрудника.
Клиенты
getClients($companyId, $userToken, $fullname = null, $phone = null, $email = null, $page = null, $count = null) :array
Возвращает список клиентов.postClients($companyId, $name, $phone, $userToken, array $fields = []) :array
Добавляет клиента.getClient($companyId, $id, $userToken) :array
Возвращает клиента.putClient($companyId, $id, $userToken, array $fields) :array
Изменяет клиента.deleteClient($companyId, $id, $userToken) :array
Удаляет клиента.
Записи
getRecords($companyId, $userToken, $page = null, $count = null, $staffId = null, $clientId = null, \DateTime $startDate = null, \DateTime $endDate = null, \DateTime $cStartDate = null, \DateTime $cEndDate = null, \DateTime $changedAfter = null, \DateTime $changedBefore = null) :array
Возвращает список записей.postRecords($companyId, $userToken, $staffId, $services, $client, \DateTime $datetime, $seanceLength, $saveIfBusy, $sendSms, $comment = null, $smsRemainHours = null, $emailRemainHours = null, $apiId = null, $attendance = null) :array
Создает новую запись.getRecord($companyId, $recordId, $userToken) :array
Возвращает запись.putRecord($companyId, $recordId, $userToken, array $fields) :array
Изменяет запись.deleteRecord($companyId, $recordId, $userToken) :array
Удаляет запись.
Расписание работы сотрудников
getSchedule($companyId, $staffId, $startDate, $endDate, $userToken) :array
Возвращает расписание работы сотрудника.putSchedule($companyId, $staffId, $userToken, $fields) :array
Изменяет расписание работы сотрудника.
Даты для журнала
getTimetableDates($companyId, \DateTime $date, $staffId, $userToken) :array
Возвращает список дат для журнала.getTimetableSeances($companyId, \DateTime $date, $staffId, $userToken) :array
Возвращает список сеансов для журнала.
Комментарии
getComments($companyId, $userToken, \DateTime $startDate = null, \DateTime $endDate = null, $staffId = null, $rating = null) :array
Возвращает комментарии.
Пользователи компании
getCompanyUsers($companyId, $userToken) :array
Возвращает пользователей компании.
Кассы
getAccounts($companyId, $userToken) :array
Возвращает кассы компании.
SMS рассылка
sendSMS($companyId, $userToken, $clientIds, $text) :array
Отправляет SMS.
Склады
getStorages($companyId, $userToken) :array
Возвращает склады компании.
Уведомления о событиях webhooks
getHooks($companyId, $userToken) :array
Возвращает настройки уведомлений о событиях.postHooks($companyId, $fields, $userToken) :array
Изменяет настройки уведомлений о событиях.
Вспомогательные методы
getAll($callback) :\Generator
Загружает все сущности одного типа.$callback
- анонимная функцияfunction(int $page, int $count) { ... }
, реализующая постраничную загрузку сущностей с помощью методовgetClients()
илиgetRecords()
:$page
- номер загружаемой страницы;$count
- максимальное количество сущностей, загружаемых на странице.
Дополнительные параметры
Дополнительные параметры работы устанавливаются через публичные свойства объекта класса YclientsApi
.
Свойство | По умолчанию | Описание |
---|---|---|
$debug |
false | Включает отладочный режим с сохранением запросов и ответов в лог файл или выводом в STDOUT |
$debugLogFile |
logs/debug.log | Устанавливает лог файл отладочного режима (null - вывод в STDOUT) |
$throttle |
5 | Устанавливает максимальное число запросов к API YCLIENTS в секунду (не более 5 запросов в секунду), значение 0 отключает троттлинг запросов к API |
$verifySSLCerfificate |
true | Включает проверку SSL/TLS-сертификата сервера YCLIENTS |
$SSLCertificateFile |
'cacert.pem' | Устанавливает файл SSL/TLS-сертификатов X.509 корневых удостоверяющих центров (CA) в формате РЕМ (null - файл, указанный в curl.cainfo php.ini) |
$curlConnectTimeout |
30 | Устанавливает таймаут соединения с сервером YCLIENTS, секунды |
$curlTimeout |
30 | Устанавливает таймаут обмена данными с сервером YCLIENTS, секунды |
$limitCount |
300 | Максимальное количество сушностей, загружаемых за один запрос к API в методе getAll() |
Примеры
Авторы
© 2018 slowprog
© 2019-2024 andrey-tech
Лицензия
Данная библиотека распространяется на условиях лицензии MIT.
All versions of yclients-api-php with dependencies
ext-curl Version *
ext-json Version *