---
title: "Endpoints REST API | Tajo"
description: "Τεκμηρίωση για τα endpoints του REST API"
url: https://tajo.io/gr/docs/endpoints/rest-api/
markdown: https://tajo.io/gr/docs/endpoints/rest-api.md
lang: el-GR
author: "Set Noa"
author_url: https://tajo.io/gr/set-noa/
robots: noindex
---

Ζητήστε πρώιμη πρόσβαση

Συμπληρώστε το μικρό σας όνομα και την επαγγελματική διεύθυνση email. Θα σας στείλουμε σύνδεσμο για να επιβεβαιώσετε το αίτημα πρόσβασης στο Tajo.

# Endpoints REST API

[Set Noa](https://tajo.io/gr/set-noa/)

Caution

**Σελίδα επίδειξης** - Πρόκειται για μια σελίδα επίδειξης που παρουσιάζει τη λειτουργία τεκμηρίωσης με πολλαπλές καρτέλες. Το περιεχόμενο είναι μόνο ενδεικτικό.

Το REST API μας παρέχει endpoints για την πρόσβαση και τον χειρισμό δεδομένων. Όλα τα endpoints επιστρέφουν δεδομένα σε μορφή JSON.

## Βασικό URL

Όλα τα αιτήματα προς το API πρέπει να γίνονται στο ακόλουθο βασικό URL:

```
https://api.example.com/v1
```

## Endpoints χρηστών

### Λήψη όλων των χρηστών

```http
GET /users
```

Επιστρέφει μια λίστα με όλους τους χρήστες. Υποστηρίζει παραμέτρους σελιδοποίησης.

**Παράμετροι ερωτήματος:**

| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| page | integer | Αριθμός σελίδας (προεπιλογή: 1) |
| limit | integer | Αριθμός εγγραφών ανά σελίδα (προεπιλογή: 50, μέγιστο: 100) |
| sort | string | Πεδίο ταξινόμησης (π.χ. “name”, “created\_at”) |

**Απόκριση:**

```json
{
  "data": [
    {
      "id": "user_123",
      "name": "John Doe",
      "email": "john@example.com",
      "created_at": "2023-01-15T08:30:00Z"
    },
    // More users...
  ],
  "meta": {
    "total": 250,
    "page": 1,
    "limit": 50
  }
}
```

### Λήψη χρήστη με βάση το ID

```http
GET /users/{id}
```

Επιστρέφει έναν μόνο χρήστη με βάση το ID.

**Απόκριση:**

```json
{
  "data": {
    "id": "user_123",
    "name": "John Doe",
    "email": "john@example.com",
    "created_at": "2023-01-15T08:30:00Z",
    "profile": {
      "bio": "Software developer",
      "location": "New York",
      "avatar_url": "https://example.com/avatars/john.jpg"
    }
  }
}
```

## Endpoints προϊόντων

### Λήψη όλων των προϊόντων

```http
GET /products
```

Επιστρέφει μια λίστα με όλα τα προϊόντα. Υποστηρίζει φιλτράρισμα και σελιδοποίηση.

**Παράμετροι ερωτήματος:**

| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| category | string | Φιλτράρισμα ανά κατηγορία |
| min\_price | number | Φιλτράρισμα με βάση την ελάχιστη τιμή |
| max\_price | number | Φιλτράρισμα με βάση τη μέγιστη τιμή |
| page | integer | Αριθμός σελίδας (προεπιλογή: 1) |
| limit | integer | Αριθμός εγγραφών ανά σελίδα (προεπιλογή: 50, μέγιστο: 100) |

**Απόκριση:**

```json
{
  "data": [
    {
      "id": "prod_123",
      "name": "Example Product",
      "description": "This is an example product",
      "price": 49.99,
      "category": "electronics"
    },
    // More products...
  ],
  "meta": {
    "total": 350,
    "page": 1,
    "limit": 50
  }
}
```

## Χειρισμός σφαλμάτων

Όλα τα endpoints ακολουθούν τους τυπικούς κωδικούς κατάστασης HTTP και περιλαμβάνουν αναλυτικά μηνύματα σφάλματος όπου χρειάζεται:

| Κωδικός κατάστασης | Περιγραφή |
| --- | --- |
| 200 | OK - Το αίτημα ολοκληρώθηκε με επιτυχία |
| 400 | Bad Request - Μη έγκυρες παράμετροι |
| 401 | Unauthorized - Απαιτείται πιστοποίηση |
| 403 | Forbidden - Ανεπαρκή δικαιώματα |
| 404 | Not Found - Ο πόρος δεν υπάρχει |
| 429 | Too Many Requests - Υπέρβαση του ορίου ρυθμού |
| 500 | Internal Server Error - Παρουσιάστηκε σφάλμα διακομιστή |

Οι αποκρίσεις σφάλματος περιλαμβάνουν ένα μήνυμα που εξηγεί τι πήγε στραβά:

```json
{
  "error": {
    "code": "invalid_parameter",
    "message": "The parameter 'email' is not a valid email address",
    "request_id": "req_abc123"
  }
}
```
