Customer API

Customer API dùng để lấy danh sách khách hàng của bạn.

Lấy danh sách khách hàng

GET http://sandbox.goship.io/api/v2/customers

Response data:

{
  "code": 200,
  "status": "success",
  "data": [
    {
      "id": "ox6or6q5",
      "name": "Nguyễn Văn A",
      "phone": "01234567890",
      "email": "[email protected]",
      "address": [
        {
          "street": "100 Thái Thịnh, Quận Đống Đa, Hà Nội",
          "district": "100400",
          "city": "100000"
        },
        {
          "street": "101 Thái Thịnh, Quận Đống Đa, Hà Nội",
          "district": "100400",
          "city": "100000"
        }
      ]
    },
    {
      "id": "g3lm98me",
      "name": "Lê Văn B",
      "phone": "09876554431",
      "email": "[email protected]",
      "address": [
        {
          "street": "11 Hai Bà Trưng, Quận Hoàn Kiếm, Hà Nội",
          "district": "100900",
          "city": "100000"
        }
      ]
    }
  ]
}

Trong đó:

  • id: Customer ID
  • name: Họ tên
  • phone: Số điện thoại
  • email: Email
  • address: Địa chỉ, 1 customer có thể có nhiều địa chỉ

Phân trang:

Mặc định url này sẽ trả về 25 bản ghi, để lấy nhiều hơn hoặc ít hơn 25 bản ghi mặc định, chúng ta sử dụng tham số size trên query string, ví dụ:

GET http://sandbox.goship.io/api/v2/customers?size=30

Để di chuyển giữa các trang, chúng ta sử dụng tham số page trên query string

GET http://sandbox.goship.io/api/v2/customers?size=30&page=2

Tham khảo tài liệu mô tả về Phân trang

Tìm kiếm một khách hàng

Chúng ta sẽ sử dụng tham số q để tìm kiếm thông tin chi tiết về Customer đó.

GET http://sandbox.goship.io/api/v2/customers/search?q=g3lm98me

Trong đó q có thể nhận giá trị của các trường id, name, email hoặc phone.

Tạo mới một khách hàng

Chúng ta có thể tạo mới 1 Customer vào danh sách bằng cách thực hiện 1 request như sau:

POST http://sandbox.goship.io/api/v2/customers

Request body:

{
  "name": "Trần Văn C",
  "email": "[email protected]",
  "phone": "0902001002",
  "address": [
    {
        "street": "1102 Hàng Khay",
        "district": "100100",
        "city": "100000"
    }
  ]
}

Response data:

{
  "code": 200,
  "status": "success",
  "data": [
    {
      "id": "t3lm43ac",
      "name": "Trần Văn C",
      "email": "[email protected]",
      "phone": "0902001002",
      "address": [
        {
            "street": "1102 Hàng Khay, Quận Hoàn Kiếm, Hà Nội",
            "district": "100100",
            "city": "100000"
        }
      ]
    }   
  ]
}

Khi bạn thêm mới 1 Customer mà có trùng thông tin phone hoặc email thì thay vì tạo ra 1 Customer mới, hệ thống sẽ bổ sung thông tin address mới. Response data lúc đó sẽ như sau:

{
    "id": "t3lm43ac",
    "name": "Trần Văn C",
    "email": "[email protected]",
    "phone": "0902001002",
    "address": [
        {
            "street": "1102 Hàng Khay, Quận Hoàn Kiếm, Hà Nội",
            "district": "100100",
            "city": "100000"
        },
        {
            "street": "64 Hai Bà Trưng, Quận Hoàn Kiếm, Hà Nội",
            "district": "100100",
            "city": "100000"
        }
    ]
}

Cập nhật thông tin khách hàng

Cập nhật thông tin Customer được thực hiện thông qua 1 request như sau:

POST http://sandbox.goship.io/api/v2/customers/t3lm43ac

Trong đó, t3lm43ac là Customer ID.

Request body:

{
  "name": "Trần Văn C",
  "email": "[email protected]",
  "phone": "0913456777"
}

Response data:

{
  "id": "t3lm43ac",
  "name": "Trần Văn C",
  "email": "[email protected]",
  "phone": "0913456777",
  "address": [
    {
      "street": "1102 Hàng Khay, Quận Hoàn Kiếm, Hà Nội",
      "district": "100100",
      "city": "100000"
    },
    {
      "street": "64 Hai Bà Trưng, Quận Hoàn Kiếm, Hà Nội",
      "district": "100100",
      "city": "100000"
    }
  ]
}

Xóa thông tin khách hàng

Xóa thông tin 1 customer được thực hiện bằng 1 request:

DELETE http://sandbox.goship.io/api/v2/customers/t3lm43ac

Trong đó, t3lm43ac là Customer ID

Response data:

{
  "code": 200,
  "status": "success",
  "data": [],
  "message": "Resource Deleted"
}
Edit this page on GitHub Updated at Tue, May 31, 2022