---
title: "REST API крайни точки | Tajo"
description: "Документация за крайните точки на REST API"
url: https://tajo.io/bg/docs/endpoints/rest-api/
markdown: https://tajo.io/bg/docs/endpoints/rest-api.md
lang: bg-BG
author: "Set Noa"
author_url: https://tajo.io/bg/set-noa/
robots: noindex
---

Заявете ранен достъп

Въведете собственото си име и служебен имейл адрес. Ще ви изпратим връзка за потвърждение на заявката за достъп до Tajo.

# REST API крайни точки

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

Caution

**Демо страница**, това е демонстрационна страница, която показва функцията за документация с няколко раздела. Съдържанието е само с илюстративна цел.

Нашият REST API предоставя крайни точки за достъп до данни и работа с тях. Всички крайни точки връщат данни във формат JSON.

## Основен URL

Изпращайте всички заявки към API към следния основен URL:

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

## Крайни точки за потребители

### Извличане на всички потребители

```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"
    }
  }
}
```

## Крайни точки за продукти

### Извличане на всички продукти

```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
  }
}
```

## Обработка на грешки

Всички крайни точки следват стандартните 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"
  }
}
```
