Customer

API customer được dùng để lấy thông tin các khách hàng đã từng được chuyển hàng của bạn. Sử dụng API này để liệt kê 1 danh sách các khách hàng và thông tin chi tiết của họ.

1. Lấy tất cả thông tin

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

Header:

Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbG.....

Response data:

{
    "code": 200,
    "status": "success",
    "data": [
        {
            "id": "ox6or6q5",
            "name": "Nguyễn Văn A",
            "phone": "01234567890",
            "email": "nguyenvana@gmail.com",
            "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": "levanb@gmail.com",
            "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

2. Tìm kiếm customer

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.

3. Thêm mới customer

Chúng ta có thể thêm 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

Header:

Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbG.....

Request body:

{
    'name': 'Trần Văn C',
    'email': 'tranvanc@gmail.com',
    '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': 'tranvanc@gmail.com',
            'phone': '0902001002',
            'address': [
                {
                    'street': '1102 Hàng Khay, Quận Hoàn Kiếm, Hà Nội',
                    'district': "100100",
                    'city': "100000"
                }
            ]
        }   
    ]
}

Nếu 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': 'tranvanc@gmail.com',
    '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"
        }
    ]
}

4. Sửa và cập nhật thông tin Customer

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.

Header:

Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbG.....

Request body:

{
    'name' => 'Trần Văn C',
   'email' => 'tranvanc@gmail.com',
   'phone' => '0913456777'
}

Response data:

{
     'id': 't3lm43ac',
    'name': 'Trần Văn C',
    'email': 'tranvanc@gmail.com',
    '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"
        }
    ]
}

5. Xóa thông tin Customer

Xóa thông tin 1 customer được thực hiện khá đơn giản thông qua việc thực hiện 1 request:

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

Trong đó, t3lm43ac là Customer ID

Header:

Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbG.....

Response data:

{
    "code": 200,
    "status": "success",
    "data": [],
    "message": "Resource Deleted"
}