# Tạo một tài khoản

## &#x20;Tạo một tài&#x20;

<mark style="color:green;">`POST`</mark> `https://abc.hoola.vn/manage/api/users/create-single-user`

&#x20;Lưu ý, để tránh truy vấn quá nhiều dẫn đến quá tải server, khoảng cách thời gian giữa mỗi lần truy vấn tạo một tài khoản nên tối thiểu là 5 giây &#x20;

#### Query Parameters

| Name      | Type   | Description                                                                                |
| --------- | ------ | ------------------------------------------------------------------------------------------ |
| token     | string | Token xác thực tài khoản của bạn                                                           |
| sendEmail | Bolean | (true/false) Set bằng true để gửi email thông báo tài khoản được tạo thành công cho email. |

#### Request Body

| Name                                       | Type   | Description                                                                                                                                                                        |
| ------------------------------------------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| job                                        | string | Nghề nghiệp                                                                                                                                                                        |
| gender                                     | string | Giới tính (nam hoặc nữ)                                                                                                                                                            |
| street                                     | string | Đường, phố                                                                                                                                                                         |
| district                                   | string | Quận, huyện                                                                                                                                                                        |
| city                                       | string | Tỉnh, thành phố                                                                                                                                                                    |
| phone                                      | string | Số điện thoại                                                                                                                                                                      |
| name<mark style="color:red;">\*</mark>     | string | Họ và tên của tài khoản được tạo. Họ tên tài khoản phải là kiểu chuỗi (string), độ dài tối thiểu 3 ký tự                                                                           |
| username<mark style="color:red;">\*</mark> | string | Username của tài khoản được tạo. Username phải là kiểu chuỗi (string), không có khoảng trống, không có ký tự đặc biệt, chấp nhận các ký tự a-z, A-Z, 0-9, độ dài từ 3 đến 20 ký tự |
| email<mark style="color:red;">\*</mark>    | string | Email của tài khoản được tạo                                                                                                                                                       |
| password<mark style="color:red;">\*</mark> | string | Mật khẩu của tài khoản được tạo. Độ dài của mật khẩu phải từ 6 đến 35 ký                                                                                                           |

{% tabs %}
{% tab title="200 Tạo tài khoản thành công  " %}

```javascript
Mã phản hồi respCode "00". Tạo tài khoản thành công. Data trả về 
{
    "respCode": "00",
    "user": {
        "userId": "zKpEoZmyDwMP9gtGr",
        "name": "Nguyễn Văn A",
        "username": "nguyenvana",
        "email": "nguyenvana@abc.com",
        "status": "Success created"
    },
    "msg": "Create user success"
}
```

{% endtab %}

{% tab title="400  Thiếu tham số yêu cầu hoặc tài khoản đã tồn tại " %}

```javascript
Mã phản hồi respCode "02". Không tìm thấy body request. Data trả về 
{
    "respCode": "02",
    "user": null,
    "msg": "No request body"
}


Mã phản hồi respCode "03". Không có tham số name trong body request. Data trả về 
{
    "respCode": "03",
    "user": null,
    "msg": "No name in request body"
}



Mã phản hồi respCode "04". Không có tham số username trong body request. Data trả về 
{
    "respCode": "04",
    "user": null,
    "msg": "No name in request body"
}


Mã phản hồi respCode "05". Không có tham số username trong body request. Data trả về 
{
    "respCode": "05",
    "user": null,
    "msg": "No name in request body"
}


Mã phản hồi respCode "06". Không có tham số password trong body request. Data trả về 
{
    "respCode": "06",
    "user": null,
    "msg": "No password in request body"
}


Mã phản hồi respCode "07". Không có tham số token xác thực tài khoản của bạn. Data trả về 
{
    "respCode": "07",
    "user": null,
    "msg": "No token"
}


Mã phản hồi respCode "13". Email đã được sử dụng. Data trả về 
{
    "respCode": "13",
    "user": null,
    "msg": "Email already in use"
}


Mã phản hồi respCode "14". Username đã được sử dụng. Data trả về 
{
    "respCode": "14",
    "user": null,
    "msg": "Username already in use"
}
```

{% endtab %}

{% tab title="401  Xác thực tài khoản của bạn không thành công  " %}

```javascript
Mã phản hồi respCode "09". Token xác thực tài khoản của bạn không có hiệu lực hoặc đã hết hạn . Data trả về
{
    "respCode": "09",
    "user": null,
    "msg": "Invalid token || Token has expired"
}
```

{% endtab %}

{% tab title="403  Tài khoản của bạn không được phân quyền để thực hiện truy vấn này hoặc đã sử dụng hết số lượng tài khoản cho phép " %}

```javascript
Mã phản hồi respCode "10". Tài khoản của bạn không được phân quyền thực hiện truy vấn này. Data trả về 
{
    "respCode": "10",
    "user": null,
    "msg": "Your account does not have permission"
}


Mã phản hồi respCode "12". Đã sử dụng hết số lượng tài khoản cho phép. Data trả về 
{
    "respCode": "12",
    "user": null,
    "msg": "The number of accounts has run out"
}
```

{% endtab %}

{% tab title="405  Phương thức truy vấn không hợp lệ " %}

```javascript
Mã phản hồi respCode "01". Phương thức không hợp lệ . Data trả về 
{
    "respCode": "01",
    "user": null,
    "msg": "Request method should be POST"
}
```

{% endtab %}

{% tab title="500  Lỗi server " %}

```javascript
Mã phản hồi respCode "08". Server không xác thực được tài khoản của bạn. Data trả về 
{
    "respCode": "08",
    "user": null,
    "msg": "Server not able to authenticate your account"
}


Mã phản hồi respCode "11". Server không kiểm tra được số lượng tài khoản còn lại. Data trả về 
{
    "respCode": "11",
    "user": null,
    "msg": "Server is not able to check your website resources"
}


Mã phản hồi respCode "15". Server không tạo được tài khoản mới. Data trả về 
{
    "respCode": "15",
    "user": null,
    "msg": "Server is not able to create new user"
}
```

{% endtab %}
{% endtabs %}

Ví dụ về tạo một tài khoản:&#x20;

```javascript
POST:
https://abc.hoola.vn/manage/api/users/create-single-user?token=sdhg23797sdbv9186jdvk58

body: {
    name: "Nguyễn Văn A",
    username: "nguyenvana",
    email: "nguyenvana@abc.com",
    password: "1234567890",
    phone: "0987654321",
    city: "Hà Nội",
    district: "Quận Cầu Giấy",
    street: "40 Hoàng Đạo Thuý",
    gender: "Nam",
    job: "Giáo viên THCS"
}
```

&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hoola.vn/ket-noi-api/create-single-user.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
