SELOCK DOCS

12 октября 2020 г. 13:21
download Selock API

Способы получения данных клиента по токену

Через POST запрос доступны следующие пользовательские данные: 

  • замки - locks
  • гости - guests,
  • номера - rooms,
  • категории - categories,
  • статусы - statuses,
  • заказы - orders,
  • источники - sources

 

 

Мы ожидаем POST запрос следующего вида:

url: https://selock.co/api/v1/get_data/
data{ 'token': <selockToken>, 'keys': ['locks', 'guests', 'rooms', 'categories', 'statuses', 'orders', 'sources'], }


В списке keys нужно указать ключи для нужных вам данных




Ответы Selock:

Ошибки:

    • {'result': False, 'error': 'empty post request'} - пустой запрос
    • {'result': False, 'error': 'empty post request'} - отсутсвтие токена в запросе
    • {'result': False, 'error': 'wrong token'} - неправильный токен
    • {'result': False, 'error': 'no keys'} - отсутствие ключей в запросе

 

Пример ответа с данными номеров:

{

'result': True,

'data': {

'rooms': [

{'name': 'Апартаменты', 'lock': '1111111', 'status': 'Убрано', 'id': 1, 'category': 'Стандарт'},

{'name': 'Номер 1', 'lock': None, 'status': 'Убрано', 'id': 2, 'category': 'Люкс'}

], 

}

} 

 


Срабатывает, когда заряд батареи опускается ниже 20%

 

Подписаться:

https://selock.co/api/v1/zaiper/subscribe/battery/

 

 Отписаться:

https://selock.co/api/v1/zaiper/unsubscribe/battery/

 

С вашим Selock токеном и урлом в body:

"hookUrl": "<hook-url>",

"token": "<token>"

 

Пример того, что мы отправляем в POST:

  • 'message': 'На замке',
  • 'title': 'Низкий заряд баттареи!',
  • 'user_lock_name': 'my first lock',
  • 'lock_id': '*******',
  • 'lock_name': 'lock-***',
  • 'electric_quantity': '50',
  • 'keyboard_pwd_version': '4',
  • 'lock_alias': 'test lock',
  • 'no_key_pwd': '*******',
  • 'lock_mac': '**:**:**:**:**:**',

 


Срабатывает, когда Sciener отправляет коллбек с изменением статуса замка

 

Подписаться:

https://selock.co/api/v1/zaiper/subscribe/locks/

 

Отписаться:

https://selock.co/api/v1/zaiper/unsubscribe/locks/

 

С вашим Selock токеном и урлом в body:

"hookUrl": "<hook-url>",

"token": "<token>"

 

 

Пример того, что мы отправляем в POST:

  • 'title': 'Замок!',
  • 'user_lock_name': 'my first lock',
  • 'lock_id': '*******',
  • 'lock_name': 'lock-***',
  • 'electric_quantity': '50',
  • 'keyboard_pwd_version': '4',
  • 'lock_alias': 'test lock',
  • 'no_key_pwd': '*******',
  • 'lock_mac': '**:**:**:**:**:**',
  • 'username': 'test@test.test',
  • 'keyboard_pwd': '1234',
  • 'server_date': 1600000000000,
  • 'lock_date': 1600000000000,
  • 'date': 'day.month.Year',
  • 'time': 'hours:minutes:seconds',
  • 'lock_status': 'passcode unlock',
  • 'message': 'Тестовый замок №1 был открыт',
  • 'open': True,
  • 'succes': 1,

 

Мы пересылаем данные колбека c Sciener
https://open.sciener.com/doc/api/v3/lockRecord/notify/


Срабатывает, когда Sciener присылает коллбек со статусом "удачное открытие"

 

Подписаться:

https://selock.co/api/v1/zaiper/subscribe/locks_open/

 

Отписаться:

https://selock.co/api/v1/zaiper/unsubscribe/locks_open/

 

С вашим Selock токеном и урлом в body:

"hookUrl": "<hook-url>",

"token": "<token>"

 

Пример того, что мы отправляем в POST:

  • 'title': 'Замок!',
  • 'user_lock_name': 'my first lock',
  • 'lock_id': '*******',
  • 'lock_name': 'lock-***',
  • 'electric_quantity': '50',
  • 'keyboard_pwd_version': '4',
  • 'lock_alias': 'test lock',
  • 'no_key_pwd': '*******',
  • 'lock_mac': '**:**:**:**:**:**',
  • 'username': 'test@test.test',
  • 'keyboard_pwd': '1234',
  • 'server_date': 1600000000000,
  • 'lock_date': 1600000000000,
  • 'date': 'day.month.Year',
  • 'time': 'hours:minutes:seconds',
  • 'lock_status': 'passcode unlock',
  • 'message': 'Тестовый замок №1 был открыт',

 

Мы пересылаем данные колбека c Sciener
https://open.sciener.com/doc/api/v3/lockRecord/notify/


Срабатывает, когда Sciener присылает коллбек со статусом "удачное закрытие"

  

Подписаться:

https://selock.co/api/v1/zaiper/subscribe/locks_close/

 

Отписаться:

https://selock.co/api/v1/zaiper/unsubscribe/locks_close/

  

С вашим Selock токеном и урлом в body:

"hookUrl": "<hook-url>",

"token": "<token>"

 

Пример того, что мы отправляем в POST:

  • 'title': 'Замок!',
  • 'user_lock_name': 'my first lock',
  • 'lock_id': '*******',
  • 'lock_name': 'lock-***',
  • 'electric_quantity': '50',
  • 'keyboard_pwd_version': '4',
  • 'lock_alias': 'test lock',
  • 'no_key_pwd': '*******',
  • 'lock_mac': '**:**:**:**:**:**',
  • 'username': 'test@test.test',
  • 'keyboard_pwd': '1234',
  • 'server_date': 1600000000000,
  • 'lock_date': 1600000000000,
  • 'date': 'day.month.Year',
  • 'time': 'hours:minutes:seconds',
  • 'lock_status': 'passcode unlock',
  • 'message': 'Тестовый замок №1 был открыт',

 

Мы пересылаем данные колбека c Sciener
https://open.sciener.com/doc/api/v3/lockRecord/notify/


Срабатывает, когда в Selock создан новый ордер

 

Подписаться:

https://selock.co/api/v1/zaiper/subscribe/orders/

 

Отписаться:

https://selock.co/api/v1/zaiper/unsubscribe/orders/

 

С вашим Selock токеном и урлом в body:

"hookUrl": "<hook-url>",
"token": "<token>",
"order_fields": ["confirmed", ]

Значения, принимаемые в списке order_fields:

  • not confirmed - заказ создан без подтверждения
  • confirmed - заказ создан подтверждённым
  • busy - заказ создан заселённым
  • canceled - заказ создан отменённым
  • all - срабатывает в любом случае

 

Пример того, что мы отправляем в POST: 

  • 'title': 'Ордер!',
  • 'guest_name': 'Vasiliy',
  • 'guest_surname': 'Ivanov',
  • 'guest_email': 'ivanov@mail.ru',
  • 'guest_phone': '9*********',
  • 'guest_language': 'russian',
  • 'room_name': 'ul Kalatushkina',
  • 'room_category': 'standart',
  • 'room_status': 'clean',
  • 'room_lock_id': '*******',
  • 'start_date': 'day.month.Year',
  • 'end_date': 'day.month.Year',
  • 'hour_in': 12,
  • 'hour_out': 14,
  • 'source': 'Avito',
  • 'language': 'english',
  • 'comment': 'its test order',
  • 'price': 10,
  • 'paid': 5,
  • 'order_status': 'Подтверждён',
  • 'busy': False,
  • 'confirmed': True,
  • 'canceled': False,
  • 'lock_key': '****',
  • 'id': 1,
  • 'date': 'day.month.Year',
  • 'time': 'hours:minutes:seconds',
  • 'message': 'Вася снял комнату'


Срабатывает, когда заказ в Selock был изменён 

 

Подписаться:

https://selock.co/api/v1/zaiper/subscribe/orders_change/

 

Отписаться:

https://selock.co/api/v1/zaiper/unsubscribe/orders_change/

 

С вашим Selock токеном и урлом в body:

"hookUrl": "<hook-url>",
"token": "<token>",
"order_change_fields": ["confirmed", ]


Значения, принимаемые в списке order_change_fields:

  • not confirmed - заказ изменён на неподтвержённый
  • confirmed - заказ изменён на подтверждённый
  • busy - заказ изменён на заселённый
  • canceled - заказ отменён
  • date and time - изменение в дате или времени
  • price - изменения в цене
  • paid - изменение в оплате
  • lock_key  - изменение кода замка
  • comment - изменение комментария
  • all - любые изменения в заказе

 

 

Пример того, что мы отправляем в POST:

  •  

    'title': 'Ордер!',
  • 'guest_name': 'Vasiliy',
  • 'guest_surname': 'Ivanov',
  • 'guest_email': 'ivanov@mail.ru',
  • 'guest_phone': '9*********',
  • 'guest_language': 'russian',
  • 'room_name': 'ul Kalatushkina',
  • 'room_category': 'standart',
  • 'room_status': 'clean',
  • 'room_lock_id': '*******',
  • 'start_date': 'day.month.Year',
  • 'end_date': 'day.month.Year',
  • 'hour_in': 12,
  • 'hour_out': 14,
  • 'source': 'Avito',
  • 'language': 'english',
  • 'comment': 'its test order',
  • 'price': 10,
  • 'paid': 5,
  • 'order_status': 'Подтверждён',
  • 'busy': False,
  • 'confirmed': True,
  • 'canceled': False,
  • 'lock_key': '****',
  • 'id': 1,
  • 'date': 'day.month.Year',
  • 'time': 'hours:minutes:seconds',
  • 'message': '
  • 'Изменение в заказе ул. Пушкина'


Меняет статус замка 

 

url:

https://selock.co/api/v1/zaiper/change_lock_status/

 

ожидаем внутри body запроса:

  • token – Ваш токен в Selock (обязательно)
  • status – открыто или закрыто (пример: “open”) (обязательно)
  • lock_id – ID замка Sciener (пример: “1234567”) (обязательно)


Изменения заказа Selock 

 

url:

https://selock.co/api/v1/zaiper/change_order/

 

ожидаем внутри body запроса:

  • token – Ваш токен в Selock (обязательно)
  • order_id – ID Вашего заказа в Selock (пример: 123) (обязательно)
  • start_date – дата заезда (пример: “29-10-2020”)
  • hour_in – час заезда (пример: 14)
  • end_date – дата выезда (пример: “30-10-2020”)
  • hour_out – час выезда (пример: 12)
  • room – ID или название номера в Selock (пример: 321 или “Апартаменты №12”)
  • comment – Ваш комментарий к заказу (пример: “order from a friend”)
  • price – цена заказа (пример: 1000)
  • paid – цже уплаченная сумма (пример: 500)
  • confirmed – статус заказа "подтверждён" (пример: true)
  • busy – статус заказа "занят" (пример: true)
  • canceled – статус заказа "отменён" (пример: false)
  • language – язык заказа. Это имя языка из Вашего аккаунта в Selock (пример: “русский”)
  • source – источник заказа. Это название источника из Вашего аккаунта в Selock (пример: “прямая продажа”)

 


Создание вашего заказа в Selock

 

url:

https://selock.co/api/v1/zaiper/create_order/

 

ожидаем внутри body запроса:

  • token – Ваш токен в Selock (обязательно)
  • guest_name – имя гостя в заказе (пример: “Ivan”) (обязательно)
  • guest_surname –  фамилия гостя в заказе (пример: “Ivanov”)
  • guest_phone – телефон гостя в заказе (пример: “79012345678”) (обязательно)
  • guest_email – email гостя в заказе (пример: “ivanivanov@mail.ru”)
  • start_date – дата заезда (пример: “29-10-2020”) (обязательно)
  • hour_in – час заезда (пример: 14)
  • end_date – дата выезда (пример: “30-10-2020”) (обязательно)
  • hour_out – час выезда (пример: 12)
  • room – ID или название номера в Selock (пример: 321 или “Апартаменты №12”)
  • comment – Ваш комментарий к заказу (пример: “order from a friend”)
  • price – цена заказа (пример: 1000)
  • paid – цже уплаченная сумма (пример: 500)
  • confirmed – статус заказа "подтверждён" (пример: true)
  • busy – статус заказа "занят" (пример: true)
  • canceled – статус заказа "отменён" (пример: false)
  • language – язык заказа. Это имя языка из Вашего аккаунта в Selock (пример: “русский”)
  • source – источник заказа. Это название источника из Вашего аккаунта в Selock (пример: “прямая продажа”)

 

при удачном создании заказа, вернётся:

{
"res": true,
"order_id": 1
}
где order_id - id созданного заказа