Nhảy tới nội dung
Phiên bản: 1.0.0

Tạo đơn

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-BIKE' \
--data-urlencode 'payment_method=CASH' \
--data-urlencode 'promo_code=KHUYENMAI' \
--data-urlencode 'remarks=This is note for order' \
--data-urlencode 'order_time=0' \
--data-urlencode 'requests=[{"_id":"SGN-BIKE-TIP","num":2}]' \
--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":85000,"tracking_number":"1234"}]' \
--data-urlencode 'items=[{"_id": "TS","num": 2,"name": "Sua tuoi","price": 15000},{"_id": "ST","num": 2,"name": "Sinh to","price": 30000}]' \
--data-urlencode 'token=<TOKEN_STG>'

Tạo đơn hàng mới bởi người dùng (hỗ trợ cả 2 phương thức GET/POST)

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": 85000,
"tracking_number": "1234"
}
],
"service_id": "SGN-BIKE",
"requests": [
{
"_id": "SGN-BIKE-TIP",
"num": 2
}
],
"images": [],
"promo_code": "KHUYENMAI",
"remarks": "Call me when arrived",
"payment_method": "CASH",
"items": [
{
"_id": "TS",
"num": 2,
"name": "Sua tuoi",
"price": 15000
},
{
"_id": "ST",
"num": 2,
"name": "Sinh to lua mach",
"price": 30000
}
]
}
ParameterTypeYêu cầuMô tả
tokenStringToken của người dùng
order_timeNumber (Unix timestamp)Thời gian lấy hàng. Để là 0 để đơn hàng giao ngay
pathStringÍt nhất 2 phần (được mô tả chi tiết hơn ở bên dưới)
service_idStringMã dịch vụ của AhaMove (SGN-BIKE, SGN-POOL, etc.).
requestsArrayDãy JSON thể hiện các yêu cầu đặc biệt
payment_methodStringPhương thức thanh toán đơn hàng
- BALANCE: Thanh toán bằng tài khoản người tạo đơn
- CASH: Thanh toán bằng tiền mặt bởi người gửi hàng
- CASH_BY_RECIPIENT: Thanh toán bằng tiền mặt bởi người nhận hàng
imagesArrayKhôngDãy JSON thể hiện cho urls của hình ảnh
promo_codeStringKhôngMã khuyến mãi để giảm giá phí giao hàng
remarksStringKhôngChú thích
idle_untilNumber (Unix timestamp)Thời gian broadcast. Đặt idle_until=order_time nếu order_time > 0. Không bắt buộc nếu order_time là 0.
itemsArrayKhôngDã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)
typeStringKhôngLoại đơn hàng, ví dụ: warehouse, etc … Xem như những trường hợp bình thường nếu loại đơn hàng không phải loại đặc biệt
need_optimize_routeBooleanKhôngTrong trường hợp nếu Đối tác muốn Ahamove tối ưu giao hàng (1 điểm lấy hàng, > 2 điểm giao hàng)

Path

Hiển thị từ path[0] đến nhiều path[x], x > 0

ParameterTypeYêu cầuMô tả
addressStringĐịa chỉ
latNumberVĩ độ của địa điểm (Không bắt buộc nhưng đề xuất Đối tác nên sử dụng)
lngNumberKinh độ của địa điểm (Không bắt buộc nhưng đề xuất Đối tác nên sử dụng)
nameStringTên người nhận. Không bắt buộc nếu là path[0]
mobileStringSố điện thoại người nhận. Không bắt buộc nếu là path[0]
tracking_numberStringKhôngMã theo dõi của gói hàng (Mã đơn hàng nội bộ của Đối tác, không bắt buộc nhưng Ahamove đề xuất nên có mã này trong path[x])
remarksStringKhôngChú thích dành cho tài xế,cho nhiều điểm giao hàng
codNumberKhôngSố lượng COD (Cash on delivery), cho nhiều điểm giao hàng
require_podBooleanKhôngNếu true, tài xế sẽ được yêu cầu chụp bằng chức xác nhận giao hàng trước khi giao dịch
buildingStringKhôngTên tòa nhà cho dịch vụ giao hàng tận tay
apt_numberStringKhôngTên căn hộ hoặc số tầng cho dịch vụ giao hàng tận tay
sender_nameStringKhôngTên người gửi, cho nhiều điểm giao hàng
sender_mobileStringKhôngSố điện thoại người gửi, cho nhiều điểm giao hàng

Lưu ý

latlng 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:

[Số nhà] [Tên đường], [Phường/Xã], [Quận/Huyện], [Tỉnh/Thành], Việt Nam

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

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

Response

JSON response example:

{
"order_id": "USAGND",
"status": "ASSIGNING",
"shared_link": "https://cloudstg.ahamove.com/share-order/USAGND/84909055578",
"order": {
"_id": "USAGND",
"currency": "VND",
"user_main_account": 0,
"user_bonus_account": 0,
"total_pay": 33000,
"distance": 1.02,
"duration": 268,
"distance_fee": 23000,
"request_fee": 10000,
"stop_fee": 0,
"vat_fee": 0,
"discount": 0,
"path": [
{
"address": "Nhà Thờ Đức Bà, Vietnam",
"lat": 10.7797855,
"lng": 106.6990189
},
{
"address": "Chợ Bến Thành, Vietnam",
"lat": 10.7725451,
"lng": 106.6980413
}
],
"from_location": {
"type": "Point",
"coordinates": [106.6990189, 10.7797855]
},
"requests": [
{
"_id": "SGN-BIKE-TIP",
"num": 2
}
],
"items": [],
"total_fee": 33000,
"remarks": "This is note for order",
"app": "Ahamove",
"service_id": "SGN-BIKE",
"city_id": "SGN",
"user_id": "84xxxxxxxxx",
"user_name": "TEST CREATE AN ORDER",
"user_imei": null,
"create_time": 1565577713.2757928,
"order_time": 1565577713.2757928,
"index": 12,
"status": "ASSIGNING",
"partner": "TESTPARTNER",
"polylines": "ukx`A}rfjS~CuDhHnGlBnA|DoEdFcB|BhBxBtDzBmA",
"online_pay": 0,
"notify_package_return": true,
"uniform_user_feedback": 2,
"pending_period": 100,
"stoppoint_price": 0,
"special_request_price": 10000,
"vat": 0,
"distance_price": 23000,
"voucher_discount": 0,
"subtotal_price": 33000,
"total_price": 33000
}
}

Status-Code: 200 OK

Các lỗi thường gặp

Mã lỗiNội dungMô tả
400INVALID_ADDRESSĐịa chỉ không hợp lệ
404Not 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ụ
406Not Acceptable- Thời gian đặt hàng không hợp lệ
- Địa chỉ không hợp lệ
- Yêu cầu không hợp lệ
- 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ệ
408Request timeoutGoogle Distance API không trả về kết quả trong 10 giây
409Conflict- Đơn hàng mới không được cho phép (Không chho phép 2 đơn hàng liên tiếp trong 1 phút)
- Mã theo dõi bị trùng (Không cho phép tạo trùng mã theo dõi trong vòng 60 giây)
500Internal Server ErrorHệ thống của chúng tôi có lỗi xảy ra. Xin thử lại sau
503Service UnavailableChúng tôi tạm thời đang không hoạt động để bảo trì. Xin vui lòng thử lại sau