Systémová Dokumentace
Nefukční
Integrace API

Integrace API

Můžete využívat naše API pro inteakci a API. Pokud chcete interagovat s api mimo interní síť, nezapomeňte přidat api do nginx reverse proxy Pokud jste postupovali při instalaci podle našeho návodu nebo Vám servery instaloval náš technik, můžete pro interní použití použít adresu 192.168.0.7:3001

Produkty

Získat všechny produkty

  • Endpoint: GET /api/products
  • Popis: Vrátí seznam všech produktů
  • Odpověď:
    [
      {
        "id": 1,
        "name": "Produkt 1",
        "description": "Popis produktu 1",
        "price": 199.99,
        "category": "Elektronika",
        "stock": 20
      },
      {
        "id": 2,
        "name": "Produkt 2",
        "description": "Popis produktu 2",
        "price": 299.99,
        "category": "Domácí potřeby",
        "stock": 15
      }
    ]

Získat detail produktu

  • Endpoint: GET /api/products/:id
  • Popis: Vrátí detaily konkrétního produktu
  • Odpověď:
    {
      "id": 1,
      "name": "Produkt 1",
      "description": "Popis produktu 1",
      "price": 199.99,
      "category": "Elektronika",
      "stock": 20
    }

Vytvořit nový produkt

  • Endpoint: POST /api/products
  • Popis: Vytvoří nový produkt
  • Request body:
    {
      "name": "Nový produkt",
      "description": "Popis nového produktu",
      "price": 149.99,
      "category": "Knihy",
      "stock": 30
    }
  • Odpověď:
    {
      "id": 3,
      "name": "Nový produkt",
      "description": "Popis nového produktu",
      "price": 149.99,
      "category": "Knihy",
      "stock": 30
    }

Uživatelé

Získat všechny uživatele

  • Endpoint: GET /api/users
  • Popis: Vrátí seznam všech uživatelů
  • Odpověď:
    [
      {
        "id": 1,
        "username": "johndoe",
        "email": "johndoe@example.com",
        "role": "admin"
      },
      {
        "id": 2,
        "username": "janedoe",
        "email": "janedoe@example.com",
        "role": "customer"
      }
    ]

Získat detail uživatele

  • Endpoint: GET /api/users/:id
  • Popis: Vrátí detaily konkrétního uživatele
  • Odpověď:
    {
      "id": 1,
      "username": "johndoe",
      "email": "johndoe@example.com",
      "role": "admin"
    }

Vytvořit nového uživatele

  • Endpoint: POST /api/users
  • Popis: Vytvoří nového uživatele
  • Request body:
    {
      "username": "novyuzivatel",
      "email": "novyuzivatel@example.com",
      "password": "securepassword",
      "role": "customer"
    }
  • Odpověď:
    {
      "id": 3,
      "username": "novyuzivatel",
      "email": "novyuzivatel@example.com",
      "role": "customer"
    }

Objednávky

Získat všechny objednávky

  • Endpoint: GET /api/orders
  • Popis: Vrátí seznam všech objednávek
  • Odpověď:
    [
      {
        "id": 1,
        "userId": 1,
        "total": 499.99,
        "status": "pending",
        "items": [
          {
            "productId": 1,
            "quantity": 2
          },
          {
            "productId": 2,
            "quantity": 1
          }
        ],
        "createdAt": "2024-01-15T10:00:00Z"
      },
      {
        "id": 2,
        "userId": 2,
        "total": 299.99,
        "status": "shipped",
        "items": [
          {
            "productId": 3,
            "quantity": 3
          }
        ],
        "createdAt": "2024-01-16T12:30:00Z"
      }
    ]

Získat detail objednávky

  • Endpoint: GET /api/orders/:id
  • Popis: Vrátí detaily konkrétní objednávky
  • Odpověď:
    {
      "id": 1,
      "userId": 1,
      "total": 499.99,
      "status": "pending",
      "items": [
        {
          "productId": 1,
          "quantity": 2
        },
        {
          "productId": 2,
          "quantity": 1
        }
      ],
      "createdAt": "2024-01-15T10:00:00Z"
    }

Vytvořit novou objednávku

  • Endpoint: POST /api/orders
  • Popis: Vytvoří novou objednávku
  • Request body:
    {
      "userId": 2,
      "total": 149.99,
      "status": "pending",
      "items": [
        {
          "productId": 3,
          "quantity": 1
        }
      ]
    }
  • Odpověď:
    {
      "id": 3,
      "userId": 2,
      "total": 149.99,
      "status": "pending",
      "items": [
        {
          "productId": 3,
          "quantity": 1
        }
      ],
      "createdAt": "2024-01-17T08:45:00Z"
    }