---
title: "เอนด์พอยต์ REST API | Tajo"
description: "เอกสารประกอบสำหรับเอนด์พอยต์ REST API"
url: https://tajo.io/th/docs/endpoints/rest-api/
markdown: https://tajo.io/th/docs/endpoints/rest-api.md
lang: th-TH
author: "Set Noa"
author_url: https://tajo.io/th/set-noa/
robots: noindex
---

ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อและที่อยู่อีเมลที่ทำงานของคุณ เราจะส่งลิงก์เพื่อยืนยันคำขอเข้าใช้งาน Tajo ทางอีเมล

# เอนด์พอยต์ REST API

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

Caution

**หน้าเดโม** หน้านี้เป็นหน้าตัวอย่างเพื่อแสดงความสามารถของเอกสารแบบหลายแท็บ เนื้อหาทั้งหมดใช้เพื่อการสาธิตเท่านั้น

REST API ของเรามีเอนด์พอยต์สำหรับเข้าถึงและจัดการข้อมูล ทุกเอนด์พอยต์ส่งข้อมูลกลับมาในรูปแบบ JSON

## Base URL

คำขอ API ทั้งหมดต้องส่งไปยัง base URL ต่อไปนี้

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

## เอนด์พอยต์ผู้ใช้

### ดึงรายชื่อผู้ใช้ทั้งหมด

```http
GET /users
```

คืนค่ารายชื่อผู้ใช้ทั้งหมด รองรับพารามิเตอร์สำหรับแบ่งหน้า

**พารามิเตอร์ query:**

| พารามิเตอร์ | ชนิด | คำอธิบาย |
| --- | --- | --- |
| 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
```

คืนค่ารายการสินค้าทั้งหมด รองรับการกรองและการแบ่งหน้า

**พารามิเตอร์ query:**

| พารามิเตอร์ | ชนิด | คำอธิบาย |
| --- | --- | --- |
| 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"
  }
}
```
