# Lấy Phường/Xã

> Lấy danh sách phường/xã trong một quận/huyện.

> **NOTE**
> **Mô hình địa chỉ cũ.** API này dùng mô hình địa chỉ theo quận/huyện của GHN (trước đợt sắp xếp hành chính 01/07/2025). Với tích hợp mới, nên dùng địa chỉ theo tên trong [Tạo đơn](https://developer.ghn.vn/vi/docs/order/create.md) và hỏi GHN về bộ API địa chỉ v3 mới hơn.

## Endpoint

| Môi trường | URL |
| --- | --- |
| Production | `https://online-gateway.ghn.vn/shiip/public-api/master-data/ward` |
| Staging | `https://dev-online-gateway.ghn.vn/shiip/public-api/master-data/ward` |

**Method**: `GET`

## Headers

| Header | Bắt buộc | Mô tả |
| --- | --- | --- |
| `Token` | Có | Token của shop (do GHN cấp) — [lấy token](https://developer.ghn.vn/vi/docs/token/get-token.md) |
| `ShopId` | Có | Shop ID (số nguyên) |

## Tham số

- **district_id** (Int): Mã quận/huyện (từ [Lấy Quận/Huyện](https://developer.ghn.vn/vi/docs/master-data/get-district.md)). `0` hoặc thiếu sẽ bị từ chối

## Ví dụ Request

```bash
curl -X GET "https://dev-online-gateway.ghn.vn/shiip/public-api/master-data/ward?district_id=1444" \
  -H "Token: 5c1d8a9e-2f4b-11ed-..." \
  -H "ShopId: 92837"
```

## Response

### Thành công (HTTP 200)

_Lấy từ một lần gọi thật trên môi trường Staging (rút gọn còn một phường/xã, các trường thường dùng)._

```json
{
  "code": 200,
  "message": "Success",
  "data": [
    {
      "WardCode": "90795",
      "WardName": "Phường Võ Thị Sáu",
      "SupportType": 3,
      "CanUpdateCOD": true
    }
  ]
}
```

### Các trường Response

`data` là một mảng object phường/xã.

| Trường | Kiểu | Mô tả |
| --- | --- | --- |
| `WardCode` | String | Mã phường/xã — **là chuỗi, không phải số** (có thể có số 0 ở đầu). Dùng khi tạo đơn |
| `WardName` | String | Tên phường/xã |
| `SupportType` | Int | Hỗ trợ dịch vụ:<br>`0`: khóa (không có dịch vụ)<br>`1`: chỉ lấy hàng<br>`2`: chỉ giao hàng<br>`3`: lấy + giao |
| `CanUpdateCOD` | Bool | Đơn ở phường/xã này có được phép cập nhật COD hay không |

## Bảng mã lỗi

| code_message | HTTP | Khi nào |
| --- | --- | --- |
| `USER_ERR_COMMON` | 400 | Thiếu hoặc `0` `district_id`, hoặc dữ liệu không hợp lệ |
| `SERVER_ERROR_COMMON` | 500 | Lỗi hệ thống |
