Skip to content

sr-2020/blincom

Repository files navigation

Build Status

Blincom Service

Установка

Для локальной установки ΠΈ тСстирования Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ:

make install
make up
make test

Команда test ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π½Π΅ сразу, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ запускаСтся Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅. НуТно Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ 1-2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make test Π΅Ρ‰Π΅ Ρ€Π°Π·.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ

РСгистрация

РСгистрация осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· POST запрос Π½Π° http://blincom.evarun.ru/api/v1/auth/register

Π’Π΅Π»ΠΎ запроса:

{
  "email": "example@example.com",
  "password": "hunter2",
  "name": "John Doe"
}

Π’Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°:

{
  "id": 1,
  "api_key": "MmVDellSdUpKa0h5MFBDdjN1QnlVbEVC"
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

curl -X POST "http://blincom.evarun.ru/api/v1/auth/register" -H "Content-Type: application/json" -d "{\"email\":\"example@example.com\",\"password\":\"hunter2\",\"name\":\"John Doe\"}"

Авторизация

Авторизация осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· POST запрос Π½Π° http://blincom.evarun.ru/api/v1/auth/login

Π’Π΅Π»ΠΎ запроса:

{
  "email": "example@example.com",
  "password": "hunter2"
}

Π’Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°:

{
  "id": 1,
  "api_key": "MmVDDllSdUpKa0h5MFBDdjN1QnlVbEVC"
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

curl -X POST "http://blincom.evarun.ru/api/v1/auth/login" -H "Content-Type: application/json" -d "{\"email\":\"example@example.com\",\"password\":\"hunter2\"}"

Авторизационный Ρ‚ΠΎΠΊΠ΅Π½

Авторизационный Ρ‚ΠΎΠΊΠ΅Π½ api_key Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API.

Π’ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Π°Π»ΠΈΠ΄Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΎΠΊΠ΅Π½ (ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ послСднСм Π»ΠΎΠ³ΠΈΠ½Π΅ ΠΈΠ»ΠΈ сразу послС рСгистрации).

К ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ запросу, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Authorization Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Bearer Token:

Authorization: Bearer <api_key>

Авторизационный Ρ‚ΠΎΠΊΠ΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ администратором позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствия связанныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ профиля.

ВсС дСйствия для получСния ΠΎΠ±Ρ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ использования Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°.

ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· GET запрос Π½Π° http://blincom.evarun.ru/api/v1/profile с Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ api_key.

Π­Ρ‚ΠΎΡ‚ кСйс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ вСсь список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π’Π°ΠΊ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² этом Ρ€ΠΎΡƒΡ‚Π΅ Π½Π΅ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Поля

  • items - список ΠΊΡƒΠΏΠ»Π΅Π½Π½Ρ‹Ρ… ΠΈΠΏΠ»Π°Π½Ρ‚ΠΎΠ²
  • followers - список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ мСстополоТСниС Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° профиля
  • following - список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ профиля Π²ΠΈΠ΄Π΅Ρ‚ΡŒ своС мСстополоТСниС
  • role - Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • status - статус ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • amount - баланс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • location_updated_at - врСмя смСны Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ
  • location_id - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ
  • location.label - Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ

Π’Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°:

{
    "id": 1,
    "admin": true,
    "amount": 900,
    "followers": [
        2
    ],
    "following": [
        2,
        3
    ],
    "items": [
        {
            "activate": false,
            "id": 3,
            "name": "Budda",
            "options": {
                "a": true,
                "b": 1,
                "c": "on"
            },
            "price": "100"
        }
    ],
    "name": "ΠœΠΈΡΡ‚Π΅Ρ€ X",
    "location_updated_at": "2019-10-02 18:38:15",
    "location_id": 1,
    "location": {
        "id": 1,
        "label": "Room1"
    },
    "role": "runner",
    "status": "maroon",
    "created_at": "2019-11-04 13:06:23",
    "updated_at": "2019-11-04 18:41:46"
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

curl -X GET "http://blincom.evarun.ru/api/v1/profile" -H "Authorization: Bearer MmVDDllSdUpKa0h5MFBDdjN1QnlVbEVC"

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· PUT запрос Π½Π° http://blincom.evarun.ru/api/v1/auth/profile с Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ api_key

ДоступныС Ρ€ΠΎΠ»ΠΈ: runner, patrol, budda (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΊΡƒΠΏΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠ»Π°Π½Ρ‚Π° budda)

Π’Π΅Π»ΠΎ запроса:

{
  "email": "api-test@email.com",
  "password": "secret",
  "name": "Api Tim Cook",
  "status": "free",
  "role": "patrol"
}

Π’Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°:

{
  "id": 1,
  "admin": true,
  "amount": 900,
  "name": "Api Tim Cook",
  "status": "free",
  "role": "patrol",
  "created_at": "2019-03-24 21:08:00",
  "updated_at": "2019-03-24 21:08:30"
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

curl -X PUT "http://blincom.evarun.ru/api/v1/auth/profile" -H "Authorization: Bearer MmVDDllSdUpKa0h5MFBDdjN1QnlVbEVC" -H "Content-Type: application/json" -d "{\"email\":\"api-test@email.com\",\"password\":\"secret\",\"name\":\"Api Tim Cook\",\"status\":\"free\",\"role\":\"patrol\"}"```

Бписок ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ со статусами

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ статусах всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· GET запрос Π½Π° http://blincom.evarun.ru/api/v1/users

Π”Π°Π½Π½Ρ‹Π΅ Π² этом спискС ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° 1 сСкунду ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ автоматичСского прогрСвания кэша ΠΊΡ€ΠΎΠ½-скриптом.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ поля ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ:

  • name (имя ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈ рСгистрации)
  • status (статус Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ)
  • created_at (врСмя ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ зарСгистрировался Π² систСмС)
  • updated_at (врСмя ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² послСдний Ρ€Π°Π· обновлял свой ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ)
  • location_updated_at - врСмя смСны Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ
  • location_id - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ
  • location.label - Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ

Π’Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°:

[
    {
        "id": 1,
        "admin": true,
        "name": "Api Tim Cook",
        "status": "free",
        "created_at": "2019-03-24 21:08:00",
        "updated_at": "2019-03-24 21:08:30",
        "location_updated_at": "2019-10-02 18:38:15",
        "location_id": 1,
        "location": {
            "id": 1,
            "label": "Room1"
        }
    },
    ...
]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

curl -X GET "http://blincom.evarun.ru/api/v1/users"

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ мСстополоТСния

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ мСстополоТСниС Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° профиля Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ POST запрос http://blincom.evarun.ru/api/v1/auth/profile/followers/{userId}, Π³Π΄Π΅ {userId} - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ПослС этого Π² ΠΏΠΎΠ»Π΅ followers Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ появится ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ {userId}, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² ΠΏΠΎΠ»Π΅ following появится ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° профиля, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ²ΡˆΠ΅Π³ΠΎ этот запрос.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

curl -X POST "http://blincom.evarun.ru/api/v1/auth/profile/followers/1" -H "Authorization: Bearer MmVDDllSdUpKa0h5MFBDdjN1QnlVbEVC"

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ·Π²Π°Ρ‚ΡŒ это Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ DELETE запрос http://blincom.evarun.ru/api/v1/auth/profile/followers/{userId}.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

curl -X DELETE "http://blincom.evarun.ru/api/v1/auth/profile/followers/1" -H "Authorization: Bearer MmVDDllSdUpKa0h5MFBDdjN1QnlVbEVC"

Магазин ΠΈΠΌΠΏΠ»Π°Π½Ρ‚ΠΎΠ²

Бписок ΠΈΠΌΠΏΠ»Π°Π½Ρ‚ΠΎΠ²

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список всСх ΠΈΠΌΠΏΠ»Π°Π½Ρ‚ΠΎΠ², доступныС для ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ с Ρ„Π»Π°Π³ΠΎΠΌ "allow":true.

[
     ...
    {
        "activate": false,
        "allow": true,
        "id": 3,
        "name": "Budda",
        "options": {
            "a": true,
            "b": 1,
            "c": "on"
        },
        "price": 100
    },
    ...

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

curl -X GET "http://blincom.evarun.ru/api/v1/auth/items" -H "Authorization: Bearer MmVDDllSdUpKa0h5MFBDdjN1QnlVbEVC"

ΠšΡƒΠΏΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠ»Π°Π½Ρ‚

Для ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ ΠΈΠΌΠΏΠ»Π°Π½Ρ‚Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ пустой POST запрос Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€ΠΎΡƒΡ‚: http://blincom.evarun.ru/api/v1/auth/profile/items/{itemId}, Π³Π΄Π΅ {itemId} - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠΌΠΏΠ»Π°Π½Ρ‚Π°. Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ сумма Π² ΠΏΠΎΠ»Π΅ профиля amount.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

curl -X POST "http://blincom.evarun.ru/api/v1/auth/profile/items/3" -H "Authorization: Bearer MmVDDllSdUpKa0h5MFBDdjN1QnlVbEVC"

Π’Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠ»Π°Π½Ρ‚

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠ»Π°Π½Ρ‚ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ пустой DELETE запрос Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€ΠΎΡƒΡ‚: http://blincom.evarun.ru/api/v1/auth/profile/items/{itemId}, Π³Π΄Π΅ {itemId} - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠΌΠΏΠ»Π°Π½Ρ‚Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

curl -X DELETE "http://blincom.evarun.ru/api/v1/auth/profile/items/3" -H "Authorization: Bearer MmVDDllSdUpKa0h5MFBDdjN1QnlVbEVC"

ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· POST запрос Π½Π° http://blincom.evarun.ru/api/v1/position/locations Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ админский Ρ‚ΠΎΠΊΠ΅Π½: TkRVem4yTERSQTNQRHFxcmo4SUozNWZp

Π’Π΅Π»ΠΎ запроса:

{
  "label": "room1",
}

Π’Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°:

{
  "id": 3003,
  "label": "room1",
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

curl -X POST "http://blincom.evarun.ru/api/v1/position/locations" -H "Authorization: Bearer TkRVem4yTERSQTNQRHFxcmo4SUozNWZp" -H "Content-Type: application/json" -d "{\"label\":\"room1\"}"

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ маячок

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ маячка осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· POST запрос Π½Π° http://blincom.evarun.ru/api/v1/position/beacons Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ админский Ρ‚ΠΎΠΊΠ΅Π½: TkRVem4yTERSQTNQRHFxcmo4SUozNWZp

Π’Π΅Π»ΠΎ запроса:

{
  "label": "beacon1",
  "ssid": "beacon1",
  "bssid": "c0:0a:95:9d:cd:0c",
  "location_id": 3003
}

Π’Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°:

{
  "id":3009,
  "bssid":"C0:0A:95:9D:CD:0C",
  "label":"beacon1",
  "location_id":3003,
  "ssid":"beacon1"
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

curl -X POST "http://blincom.evarun.ru/api/v1/position/beacons" -H "Authorization: Bearer TkRVem4yTERSQTNQRHFxcmo4SUozNWZp" -H "Content-Type: application/json" -d {\"label\":\"room1\",\"ssid\":\"beacon1\",\"bssid\":\"c0:0a:95:9d:00:0c\"}"

Check In мСстополоТСния

Check In мСстополоТСния осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· POST запрос Π½Π° http://blincom.evarun.ru/api/v1/position/positions Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ‚ΠΎΠΊΠ΅Π½.

НуТно ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ список всСх Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… BLE-маячков с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ полями. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ зачСкинится Ρƒ маячка, level ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΡΠ»Ρ‹ΡˆΠΈΠΌΠΎΡΡ‚ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ, послС Ρ‡Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ привяТСтся ΠΊ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ маячка.

Π’Π΅Π»ΠΎ запроса:

{
  "beacons": [
    {
      "ssid": "beacon1",
      "bssid": "b0:0a:95:9d:00:0a",
      "level": -70
    },
    {
      "ssid": "beacon3003",
      "bssid": "c0:0a:95:9d:cd:0c",
      "level": -50
    }
  ]
}

Π’Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°:

{
 "id": 180619,
 "user_id": 1,
 "location_id": 3003,
 "created_at": "2019-11-19 05:36:27"
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

curl -X POST "http://blincom.evarun.ru/api/v1/position/positions" -H "Authorization: Bearer MmVDDllSdUpKa0h5MFBDdjN1QnlVbEVC" -H "Content-Type: application/json" -d "{\"beacons\":[{\"ssid\":\"beacon1\",\"bssid\":\"b0:0a:95:9d:00:0a\",\"level\":-70},{\"ssid\":\"beacon1\",\"bssid\":\"c0:0a:95:9d:cd:0c\",\"level\":-50}]}"