Использование API сервиса Rubitime

Для использования API необходимо сгенерировать ключ доступа на 5 шаге настроек, в блоке "Получение и сохранение данных при помощи API". Для генерации ключа нужно нажать кнопку "Сгенерировать ключ", для перегенерации "Перегенерировать ключ", для удаления "Удалить ключ".


Для получения данных необходимо вызвать https://rubitime.ru/rest/{method}/{param1}/{param2} и передать ключ "rk" POST запросом:



МетодПараметрыОписание
get-recordparam1* - id записиПолучить данные о записи номер X, где X - # записи.
get-recordsparam1* - дата с которой получить записи;
param2* - дата до которой получить записи.
Получить массив записей по датам от и до. Формат даты: YYYY-MM-DD. Не рекомендуется указывать большой интервал в случае большого количества записей в периоде.
get-clientsПолучить массив клиентов.
get-timeparam1* - id услугиПолучить график оказания услуги: массив дат и времени для записи.


В ответе возвращается 3 параметра:


status - может быть ok или error;

message - текст сообщения;

data - результат выполнения запроса.


Пример запроса

Пример получения графика оказания услуги #3 "Макияж" от Виктории с демо-сайта (номер услуги указан в шапке блока при редактировании самой услуги  "Редактировать услугу #3"):



$queryUrl = 'https://rubitime.ru/rest/get-time/3'; // метод get-time и номер услуги 3
$queryData = [
    'rk' => 'xxx', // xxx - сгенерированный ключ
];

$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_URL => $queryUrl,
    CURLOPT_POSTFIELDS => http_build_query($queryData),
]);
$result = curl_exec($curl);
curl_close($curl);

$result = json_decode($result, true);
if ($result) {
    if ($result['status'] == 'ok') {
        echo "Success: {$result['message']}";
        var_dump($result['data']);
    } else {
        echo "Error: {$result['message']}";
    }
}


Пример ответа

[
    'status' => 'ok',
    'message' => 'Service found',
    'data' => [
        '2019-10-14' =>
            [
                '10:00' => [
                    'available' => true, // true - время доступно для записи, false - время уже забронировано
                    'time' => "10:00",
                    'fulldate' => "2019-10-14 10:00:00",
                    'fulldaten' => 1584169200,
                    'cooperator' => 2,
                    'service' => 3,
                    'rclientid' => null,
                    'baseCooperator' => 2,
                    'cooperatorName' => "Виктория",
                ],
                '11:00' => [
                    'available' => false,
                    'time' => "10:00",
                    'fulldate' => "2019-10-14 11:00:00",
                    'fulldaten' => 1684169200,
                    'cooperator' => 2,
                    'service' => 3,
                    'rclientid' => null,
                    'baseCooperator' => 2,
                    'cooperatorName' => "Виктория",
                ],
                //...
            ],
        '2019-10-15' => [
            [
                '10:00' => [
                    'available' => true,
                    'time' => "10:00",
                    'fulldate' => "2019-10-15 10:00:00",
                    'fulldaten' => 1584169200,
                    'cooperator' => 2,
                    'service' => 3,
                    'rclientid' => null,
                    'baseCooperator' => 2,
                    'cooperatorName' => "Виктория",
                ],
                //...
            ],
        ],
    ]
];