PHP code example of andrey-tech / yclients-api-php

1. Go to this page and download the library: Download andrey-tech/yclients-api-php library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

andrey-tech / yclients-api-php example snippets


use Yclients\YclientsApi;

try {

    $login = '[email protected]';
    $password = '37*%4Hd.Uda)532';
    $tokenPartner = 'erd8jrpo4mk7lsk8krs';

    $yc = new YclientsApi($tokenPartner);

    // Включаем отладочный режим с логированием в файл
    $yc->debug = true;

    // Устанавливаем лог файл отладочного режима
    $ys->debugLogFile = 'logs/debug_yclients_api.log';

    // Устанавливает максимальное число запросов к API YCLIENTS в секунду (значение 0 отключает троттлинг запросов к API)
    $yc->throttle = 1;

    // Выполняем авторизацию и получаем токен пользователя
    $response = $yc->getAuth($login, $password);
    $userToken = $response['user_token'];

    /*
     * Получаем список активных, прошедших модерацию компаний YCLINETS,
     * на управление которыми пользователь имеет права
     */
    $companies = $yc->getCompanies(
        $groupId = null,
        $active = true,
        $moderated = true,
        $forBooking = null,
        $my = 1,
        $userToken
    );

    // Получаем ID первой компании
    $companyId = $companies[0]['id'];

    // Получаем всех пользователей первой компании
    $users = $yc->getCompanyUsers($companyId, $userToken);
    print_r($users);

    // Получаем всех сотрудников компании
    $staff = $yc->getStaff($companyId);
    print_r($staff);

    // Получаем ID первого сотрудника
    $workerId = $staff[0]['id'];

    // Загружаем расписание работы первого сотрудника на 1 месяц
    $schedule = $yc->getSchedule(
        $companyId,
        $workerId,
        $startDate = '2020-01-01',
        $endDate = '2020-01-31'
        $userToken
    );
    print_r($schedule);

    /**
     * Выгружаем всех клиентов заданной компании с использованием генератора 
     * при обработке больших объемов данных
     */
    $generator = $yc->getAll(
        function (int $page, int $count) use ($yc, $companyId, $userToken) {
            return $yc->getClients(
                $companyId,
                $userToken,
                $fullname = null,
                $phone = null,
                $email = null,
                $page,
                $count
            );
        }
    );
    foreach ($generator as $response) {
        $clients = $response['data'];
        foreach ($clients as $client) {
            print_r($client);
        }
    }

    /**
     * Выгружаем все записи сотрудника заданной компании с использованием генератора 
     * при обработке больших объемов данных
     */
    $generator = $yc->getAll(
        function (int $page, int $count) use ($yc, $companyId, $userToken, $workerId) {
            return $yc->getRecords(
                $companyId,
                $userToken,
                $page,
                $count,
                $workerId
            );
        }
    );
    foreach ($generator as $response) {
        $records = $response['data'];
        foreach ($records as $record) {
            print_r($record);
        }
    }

} catch (\Yclients\YclientsException $e) {
    printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage());
}

$ composer 

"andrey-tech/yclients-api-php": "^1.7"