# 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 |

#### 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     | 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 | 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    | string | Email của tài khoản được tạo                                                                                                                                                       |
| password | 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;
