Tạo đơn Warehouse
Tạo đơn hàng mới dịch vụ Warehouse
- cURL
- JavaScript
curl --request POST \
--url https://apistg.ahamove.com/v1/order/create \
--header 'Cache-Control: no-cache' \
--header 'accept: application/json' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-urlencode 'service_id=SGN-WAREHOUSE' \
--data-urlencode 'payment_method=BALANCE' \
--data-urlencode 'remarks=This is note for order' \
--data-urlencode 'order_time=0' \
--data-urlencode 'path=[{"lat":10.7692105,"lng":106.6637935,"address":"725 Hẻm số 7 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh, Việt Nam","short_address":"Quận 10","name":"nmbmb","mobile":"84xxxxxxxxx"},{"lat":10.7828887,"lng":106.704898,"address":"Miss Ao Dai Building, 21 Nguyễn Trung Ngạn, Bến Nghé, Quận 1, Hồ Chí Minh, Vietnam","name":"Bao","mobile":"84xxxxxxxxx","remarks":"call me","cod":520000,"item_value":830000,"weight":28,"height":42,"width":30,"length":64,"tracking_number":"ABCXXXXXXXX"}]' \
--data-urlencode 'items=[{"_id": "DG","num": 2,"name": "Combo dầu gội và sữa tắm Dove","price": 520000},{"_id": "ST","num": 1,"name": "Thùng sữa tươi Vinamilk","price": 310000}]' \
--data-urlencode 'token=<TOKEN_STG>'
var myHeaders = new Headers();
myHeaders.append('accept', 'application/json');
myHeaders.append('content-type', 'application/x-www-form-urlencoded');
var urlencoded = new URLSearchParams();
urlencoded.append('service_id', 'SGN-WAREHOUSE');
urlencoded.append('payment_method', 'BALANCE');
urlencoded.append('remarks', 'This is note for order');
urlencoded.append('order_time', '0');
urlencoded.append(
'path',
'[{"lat":10.7692105,"lng":106.6637935,"address":"725 Hẻm số 7 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh, Việt Nam","short_address":"Quận 10","name":"nmbmb","mobile":"84xxxxxxxxx"},{"lat":10.7828887,"lng":106.704898,"address":"Miss Ao Dai Building, 21 Nguyễn Trung Ngạn, Bến Nghé, Quận 1, Hồ Chí Minh, Vietnam","name":"Bao","mobile":"84xxxxxxxxx","remarks":"call me","cod":520000,"item_value":830000,"weight":28,"height":42,"width":30,"length":64,"tracking_number":"ABCXXXXXXXX"}]'
);
urlencoded.append("items", "[{"_id": "DG","num": 2,"name": "Combo dầu gội và sữa tắm Dove","price": 520000},{"_id": "ST","num": 1,"name": "Thùng sữa tươi Vinamilk","price": 310000}]");
urlencoded.append('token', '<TOKEN_STG>');
urlencoded.append('conversion_data', '');
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow',
};
fetch('https://apistg.ahamove.com/v1/order/create', requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log('error', error));
HTTP Request
POST https://apistg.ahamove.com/v1/order/create
(x-wwww-form-urlencoded)
or
GET https://apistg.ahamove.com/v1/order/create
Parameters
# Parameters
{
"order_time": 0,
"path": [
{
"lat": 10.7692105,
"lng": 106.6637935,
"address": "725 Hẻm số 7 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh, Việt Nam",
"short_address": "Quận 10",
"name": "nmbmb",
"mobile":"84xxxxxxxxx"
},
{
"lat": 10.7828887,
"lng": 106.704898,
"address": "Miss Ao Dai Building, 21 Nguyễn Trung Ngạn, Bến Nghé, Quận 1, Hồ Chí Minh, Vietnam",
"name": "Bao",
"mobile":"84xxxxxxxxx",
"remarks": "call me",
"cod": 520000,
"tracking_number": "ABCXXXXXXXX",
"weight": 28,
"height": 42,
"width": 30,
"length": 64,
"item_value": 830000
}
],
"service_id": "SGN-WAREHOUSE",
"remarks": "This is note for order",
"payment_method": "BALANCE",
"items": [
{
"_id": "DG",
"num": 2,
"name": "Combo dầu gội và sữa tắm Dove",
"price": 520000
},
{
"_id": "ST",
"num": 1,
"name": "Thùng sữa tươi Vinamilk",
"price": 310000
}
]
}
| Parameter | Type | Yêu cầu | Mô tả |
|---|---|---|---|
| token | String | Có | Token của người dùng. Lấy token bằng API Đăng ký tài khoản |
| order_time | Number (Unix timestamp) | Có | Thời gian lấy hàng (order_time = 0) |
| path | String | Có | Ít nhất 2 phần (được mô tả chi tiết hơn ở bên dưới) |
| service_id | String | Có | Mã dịch vụ Warehouse, hiện có ở 2 tỉnh thành là TP.Hồ Chí Minh (SGN-WAREHOUSE) và Hà Nội (HAN-WAREHOUSE) |
| payment_method | String | Có | Phương thức thanh toán dùng cho dịch vụ Warehouse là BALANCE |
| remarks | String | Không | Chú thích |
| items | Array | Không | Dãy JSON thể hiện cho các mặt hàng (Đối với các Đối tác ngành hàng thực phẩm) |
Path
Hiển thị từ path[0] đến path[1]
| Parameter | Type | Yêu cầu | Mô tả |
|---|---|---|---|
| address | String | Có | Địa chỉ |
| lat | Number | Có | Vĩ độ của địa điểm (Không bắt buộc nhưng đề xuất Đối tác nên sử dụng) |
| lng | Number | Có | Kinh độ của địa điểm (Không bắt buộc nhưng đề xuất Đối tác nên sử dụng) |
| name | String | Có | Tên người gửi/người nhận |
| mobile | String | Có | Số điện thoại người gửi/người nhận |
| tracking_number | String | Có | Mã đơn hàng nội bộ của Đối tác, ít nhất 6 kí tự, không chứa kí tự đặc biệt (_,-,.,/,...) và là mã duy nhất. Mã này cần được in trên gói hàng |
| weight | Float | Có | Khối lượng thực tế của gói hàng (Kg) |
| height | Float | Có | Chiều cao thực tế của gói hàng (cm) |
| length | Float | Có | Chiều dài thực tế của gói hàng (cm) |
| width | Float | Có | Chiều rộng thực tế của gói hàng (cm) |
| item_value | Number | Có | Giá trị thực tế của gói hàng |
| cod | Number | Không | Số tiền COD cần thu từ người nhận |
| remarks | String | Không | Chú thích dành cho tài xế |
Lưu ý
lat và lng là không bắt buộc nhưng trường
address
trong parameters cần phải đầy đủ thông tin và theo đúng định dạng như
bên dưới:
Ví dụ: 117 Hùng Vương, Phường 4, Quận 5, Thành phố Hồ Chí Minh, Việt Nam
hoặc 117 Hùng Vương, Phường 4, Quận 5, Hồ Chí Minh
Các yêu cầu về địa chỉ khi truyền sang Ahamove
- Địa chỉ rõ ràng, các phần thông tin cách nhau bởi dấu phẩy
- Địa chỉ có thể tìm được trên google map (Có thể dùng luôn google plus code)
- Địa chỉ không trùng lập các thông tin Phường/Quận/Tỉnh (Đối với các Đối tác cho Khách hàng chọn địa chỉ theo dạng dropdown)
Một số dạng Địa chỉ không hợp lệ :
- 658 võ văn ki ệt p1 Quận 5 Hồ Chí Minh
- 58 Nghĩa Thục - Phường 5 - Quận 5 - Hồ Chí Minh - Việt Nam
- 22 Bùi Hữu Nghĩa
- 60/62 chiêu anh các
- 930 vo văn Kiệt p5q5
- Có ji e gởi đia chỉ 835/17c trần hung dao p1 q5 tphcm giúp c nha, Phường 01, Quận 5, Thành phố Hồ Chí Minh
- 54 Bạch Vân (Nhà màu xanh cuối hẻm, gọi số 0908999999), Phường 5, Quận 5, TP Hồ Chí Minh
- 189 Trần Tuấn Khải F.5 Q.5 Ngay ngã 3 Trần Hưng Đạo
- địa chỉ: 53 Huỳnh Mẫn Đạt phường 5 Quận 5 TP.HCM ĐT: 0912123456
- 14/20 .an binh p5q5
- 155 Trần Tuần Khải, p5, q5
- Số 1 bạch Vân phường 5 quận 5 TPHCM
- đc hẻm 93/107/16 đường bạch vân p5 q5
- 112 An Bình P5, Quận 5, HCM
- 1025, Phường 5, Quận 5
Items
| Trường thông tin | Type | Yêu cầu | Mô tả |
|---|---|---|---|
| _id | String | Có | Mã sản phẩm |
| name | String | Có | Tên sản phẩm |
| price | Int | Có | Tổng giá trị sản phẩm sau khi đã nhân với số lượng |
| num | Int | Có | Số lượng sản phẩm |
Response
JSON response example:
{
"_id": "PARTNER_ABCXXXXXXXX", # Mã đơn hàng Warehouse, được tạo bởi tên partner và mã tracking_number
"tracking_number": "ABCXXXXXXXX",
"status": "VERIFYING" # Với mỗi đơn hàng Warehouse được tạo thành công sẽ có được trả về trạng thái là VERIFYING
}
Status-Code: 200 OK
Các lỗi thường gặp
| Mã lỗi | Nội dung | Mô tả |
|---|---|---|
404 | Not Found | - Không tìm thấy token (Token hết hạn. Khi token mới được tạo thì token cũ sẽ bị hết hạn) - Không tìm thấy path - Không tìm thấy dịch vụ |
406 | Not Acceptable | - Thời gian đặt hàng không hợp lệ - Địa chỉ không hợp lệ - Trùng mã theo dõi - Khoảng cách không hợp lệ - Khu vực lấy hàng không hợp lệ - Khu vực giao hàng không hợp lệ - Các đơn hàng đồng thời không được cho phép (Nếu Đối tác không có trong token) - Không cho phép số lượng COD quá lớn cho người dùng lần đầu tiên - Đối tác không được đặt công nợ - Không hỗ trợ phương thức thanh toán này - Không đủ tiền - Số điện thoại của người dùng không được liên kết - Token đã được dùng cho một đối tác - Trạng thái đơn con không hợp lệ (Khi tạo đơn cha) - Đơn cha đã tồn tại #ABCXYZ (Khi tạo một đơn cha nhưng đơn con lại thuộc tài khoản cha khác) - Thời gian hẹn giờ không hợp lệ (Khi khách hàng gửi idle_until < current_time) - COD không hợp lệ ( Khi tổng COD vượt quá giá trị tối đa đã được cấu hình trong dịch vụ ) - Số điểm dừng không hợp lệ |
408 | Request timeout | Google Distance API không trả về kết quả trong 10 giây |
500 | Internal Server Error | Hệ thống của chúng tôi có lỗi xảy ra. Xin thử lại sau |
503 | Service Unavailable | Chúng tôi tạm thời đang không hoạt động để bảo trì. Xin vui lòng thử lại sau |