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

Для подключения Bitrix24, amoCRM или Google Календаря смотрите данную инструкцию.

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

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

МетодПараметрыОписание
get-record'id' => 1// id записи
'rk' => 'xxx' // API ключ
Получить данные о записи номер X, где X - # записи.
get-records'from' => '2020-01-01',// дата с которой получить записи;
'to' => '2020-01-02',// дата до которой получить записи.
'rk' => 'xxx' // API ключ
Получить массив записей по датам от и до. Формат даты: YYYY-MM-DD. Рекомендуется указывать небольшой интервал в случае большого количества записей в периоде.
create-record
и update-record
'id' => 79379, // только для update-record
'branch' => '1013', // id филиала
'cooperator' => '1702', // id сотрудника
'service' => '3925', // id услуги
'name' => 'Иванов Иван Иванович', // ФИО клиента
'email' => 'test@test.ru', // email клиента
'phone' => '+70000000000', // телефон клиента
'comment' => 'Комментарий', // комментарий клиента к записи
'datetime' => '2020-01-18 20:00', // дата и время, на которое записан клиент
'price' => 100.00, // стоимость услуги
'duration' => 60, // длительность услуги в минутах
'prepayment' => 50.00, // сумма предоплаты
'prepaymentDate' => 2021-01-01 10:00:00, // дата выполнения оплаты
'reminder' => '2020-01-18 19:00', // время по МСК для отправки напоминания
'custom1' => 'Дополнительное поле 1', // данные для дополнительных полей: custom1, custom2, ..., custom6
'status' => 0, // статус записи: 0 => 'Записан', 1 => 'На обслуживании', 2 => 'Завершен', 3 => 'Ожидание предоплаты', 4 => 'Отменен', 5 => 'Ожидает подтверждения', 6 => 'Предварительное бронирование'
'source' => 'my_source', // источник, по-умолчанию устанавливается значение 'api'
'rk' => 'xxx', // API ключ
Создание новой записи и редактирование существующей записи. Обязательные для заполнения параметры: branch, cooperator, service, status, datetime, rk.
get-clients'rk' => 'xxx' // API ключПолучить массив клиентов.

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

status - может быть ok или error;
message - текст сообщения;
data - результат выполнения запроса.

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

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

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

$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']}";
    }
}