Реализация синхронизации бронирований с Outlook Calendar

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

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

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

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Реализация синхронизации бронирований с Outlook Calendar
Средняя
от 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

Реализация синхронизации бронирований с Outlook Calendar

Outlook Calendar — стандарт в корпоративной среде. Синхронизация бронирований с Outlook актуальна для B2B-сервисов, консалтинга, медицинских клиник, где специалисты работают в Microsoft 365.

Microsoft Graph API

Outlook Calendar управляется через Microsoft Graph API. Авторизация через Microsoft Identity Platform (Azure AD):

use Microsoft\Graph\Graph;
use Microsoft\Graph\Model\Event as GraphEvent;

class OutlookCalendarService
{
    private Graph $graph;

    public function __construct(string $accessToken)
    {
        $this->graph = new Graph();
        $this->graph->setAccessToken($accessToken);
    }

    public function createEvent(Booking $booking): string
    {
        $event = new GraphEvent();
        $event->setSubject("{$booking->service->name} — {$booking->customer_name}");
        $event->setBody([
            'contentType' => 'HTML',
            'content'     => $this->buildHtmlBody($booking),
        ]);
        $event->setStart([
            'dateTime' => $booking->starts_at->toIso8601String(),
            'timeZone' => 'Russian Standard Time',
        ]);
        $event->setEnd([
            'dateTime' => $booking->ends_at->toIso8601String(),
            'timeZone' => 'Russian Standard Time',
        ]);

        $created = $this->graph
            ->createRequest('POST', '/me/events')
            ->attachBody($event)
            ->setReturnType(GraphEvent::class)
            ->execute();

        return $created->getId();
    }
}

OAuth2 flow для Microsoft 365

Регистрация приложения в Azure Portal, scope Calendars.ReadWrite:

Route::get('/integrations/outlook/connect', function () {
    $url = 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize?' .
        http_build_query([
            'client_id'     => config('services.microsoft.client_id'),
            'scope'         => 'Calendars.ReadWrite offline_access',
            'redirect_uri'  => route('integrations.outlook.callback'),
            'response_type' => 'code',
        ]);

    return redirect($url);
});

Отличие от Google Calendar

  • Используется Microsoft Graph, а не Calendar API
  • Временные зоны передаются по имени Windows (Russian Standard Time, не Europe/Moscow)
  • Для корпоративных аккаунтов авторизация через Tenant ID, не common
  • Microsoft Graph Webhooks для получения изменений работают через подписки с обязательным валидационным challenge

Сроки

Синхронизация с Outlook Calendar через Microsoft Graph: 3–5 рабочих дней.