Skip to content

MobileDashboard/server-php

Repository files navigation

Mobilní nástěnka - JSON-REST

Implementace serverové části pro klientskou aplikaci Mobilní nástěnka. Použito je PHP bez dalších závislostí na externích zdrojových kódech. Jako úložiště může použít buď lokální XML soubor, SQLite nebo MySQL.

API

Server je rozdělen na veřejnou a neveřejnou část.

Veřejná část API

Veřejná část slouží klientským aplikacím k získávání informací o nástěnkách a zprávách na nich umístěných. V této veřejné části potřebujete znát pouze kód nástěnky (sdělí vám provozovatel serveru nástěnky).

Info o nástěnce

Cesta: http://mobilninastenka.cz/api/info Typ dotazu: GET Tělo dotazu:

{
    "hash": "9MOYYN"
}

Odpověď:

{
    "dashboards":
    [
        {
            "hash": "9MOYYN",
            "name": "4 ZŠ. - třída 1.A",
            "link": "http://testovaci-skola.cz/",
            "email": "info@testovaci-skola.cz",
            "phone": "+0420777999333"
        }
    ]
}

Pozn.: Pro získání informací o více nástěnkách najednou zadejte jednoduše více kódů nástěnek oddělených čárkou:

{
    "hash": "9MOYYN,KXMOON,LOPQWV"
}

Získání zpráv z nástěnky

Cesta: http://mobilninastenka.cz/api/messages Typ dotazu: GET Tělo dotazu:

{
    "hash": "9MOYYN",
    "timestamp": 1479600779
}

Odpověď:

{
    "messages":
    [
        {
            "id": 18,
            "title": "Tak ještě jeden",
            "content": "Tady je text",
            "timestamp": 1479600779,
            "link": "https://webtrh.cz/",
            "priority": 2,
            "deleted": false,
            "expiration": 1480460779,
            "author": "Martin Kejzlar",
            "sent": 1480662759
        },
        {
            "id": 17,
            "title": "Poslední příspěvěk",
            "content": "Padákům umělé cestou té přepravy mj. vína spojení, jezdí pole se ven více, útočí 1967 mé dob plyn. Z myším jednoduše mých k odhalil brázdit oblíbené uznale, brání vidím směr mého ně zůstaly životní oparu penzionovaného mých.",
            "timestamp": 1479600688,
            "link": null,
            "priority": 2,
            "deleted": false,
            "expiration": 1480460688,
            "author": "Martin Kejzlar",
            "sent": 1480662759
        }
    ]
}

Chybný kód nástěnky

Pokud je v dotazu na server použit špatný kód nástěnky, je vrácena univerzální chybová zpráva:

{
    "errors":
    [
        "message": "Zadaný kód nástěnky není platný!"
    ]
}

Neveřejná část API

Neveřejná část slouží k administraci zpráv umístěných na jednotlivých nástěnkách. Součástí dotazů musí být i identifikace uživatele.

Pozn.: Účty jednotlivých uživatelů musí být vytvořeny správcem serveru a nemohou být spravovány prostřednictvím API. Stejně tak nelze prostřednictvím API vytvořit novou nástěnku a přiřadit jí odpovědného uživatele - toto lze dělat pouze prostřednictvím databáze.

Přidat zprávu

Je možno přidat i více zpráv najednou:

Cesta: http://mobilninastenka.cz/api/add Typ dotazu: POST Tělo dotazu:

{
    "login": "ondrejd",
    "password": "******",
    "hash": "9MOYYN",
    "messages":
    [
        {
            "title": "Nová zpráva",
            "content": "Obsah nové zprávy...",
            "created": "2016-12-13 20:24:00",
            "expired": "2016-12-24 23:59:59"
        }
    ]
}

Odpověď:

{
    "errors": []
}

Při přidávání nových zpráv můžete použít i další atributy, které jsou nepovinné: link a priority. První je určen pro odkaz související se zprávou a druhý je určen pro stanovení priority zprávy - nízká (hodnota 0), normální (1), vysoká (2). Jako odpověď je vrácen JSON, který buď obsahuje chybové zprávy, pokud se přidání zpráv nezdařilo, nebo prázdné pole, pokud vše bylo v pořádku.

Upravit zprávu

... TODO Dokončit! ...

Smazat zprávu

... TODO Dokončit! ...

Releases

No releases published

Packages

No packages published