Nhảy tới nội dung

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",
"remarks":"This is note for order",
"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 được chọn bởi người gửi (BALANCE hoặc CASH/CASH_BY_RECIPIENT)- Yêu cầu trên production sau ngày 1 tháng 12 năm 2019
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

lat and 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:

user_free_text_input, ward, province/district, city



Ex: 135 Nam Kỳ Khởi Nghĩa, Bến Thành, Quận 1, Hồ Chí Minh

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ả
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