Интеграция YCLIENTS для онлайн-записи на сайте

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Интеграция YCLIENTS для онлайн-записи на сайте
Средняя
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Интеграция YCLIENTS для онлайн-записи на сайте

YCLIENTS — российская платформа для управления записью и бизнесом в сфере услуг (салоны красоты, медицина, фитнес). Предоставляет виджет записи и API для интеграции с внешними сайтами.

Встраивание виджета YCLIENTS

<!-- Стандартный виджет -->
<script src="https://widgetv3.yclients.com/widgetJS.js" charset="UTF-8"></script>
<a
  class="yclients-wr-button"
  target="_blank"
  href="https://n123456.yclients.com"
  data-company-id="123456"
  data-source-id="ваш_sourse_id"
>
  Записаться онлайн
</a>

Виджет открывается в попап-окне поверх страницы.

YCLIENTS API v2

API требует токен авторизации. Получение через Basic Auth с логином/паролем аккаунта:

class YclientsApiClient
{
    private string $token;
    private int    $companyId;

    public function authenticate(string $login, string $password): void
    {
        $resp = Http::withHeaders([
            'Authorization' => 'Bearer ' . config('yclients.app_token'),
        ])->post('https://api.yclients.com/api/v1/auth', [
            'login'    => $login,
            'password' => $password,
        ]);

        $this->token = $resp->json('data.user_token');
    }

    public function getBookings(string $startDate, string $endDate): array
    {
        return Http::withHeaders([
            'Authorization' => "Bearer {$this->token}, User {$this->token}",
            'Accept'        => 'application/vnd.yclients.v2+json',
        ])->get("https://api.yclients.com/api/v1/records/{$this->companyId}", [
            'start_date' => $startDate,
            'end_date'   => $endDate,
        ])->json('data');
    }

    public function createBooking(array $data): array
    {
        return Http::withHeaders([
            'Authorization' => "Bearer {$this->token}, User {$this->token}",
        ])->post("https://api.yclients.com/api/v1/book_record/{$this->companyId}", $data)
          ->json('data');
    }
}

Синхронизация данных

YCLIENTS не предоставляет push-webhooks в базовом тарифе. Данные о новых записях получаем через polling:

// Каждые 5 минут проверяем новые записи
$schedule->call(function () {
    $newBookings = app(YclientsApiClient::class)
        ->getBookings(now()->toDateString(), now()->addDay()->toDateString());

    foreach ($newBookings as $booking) {
        YclientsBooking::updateOrCreate(
            ['yclients_id' => $booking['id']],
            [
                'client_name'  => $booking['client']['name'],
                'client_phone' => $booking['client']['phone'],
                'service'      => $booking['services'][0]['title'] ?? null,
                'starts_at'    => $booking['date'],
                'staff_name'   => $booking['staff']['name'] ?? null,
            ]
        );
    }
})->everyFiveMinutes();

Сроки

Встраивание виджета и базовая синхронизация через API: 2–4 рабочих дня.