Nhảy tới nội dung

Tích hợp

Trang Quản lý tích hợp dành cho doanh nghiệp muốn đặt đơn từ hệ thống của mình qua API. Đơn tạo qua API cũng hiện ở Quản lý đơn hàng.

Trang có 6 tab: Tổng quan · API key · Webhook · Nhật ký callback · Kiểm thử · Giả lập đơn hàng.

Quy trình 4 bước tới go-live​

1. Gửi yêu cầu→2. Nhận tài khoản Staging→3. Tích hợp và kiểm thử→4. Go-live Production
Tab Tổng quan: quy trình 4 bước và thông tin môi trường Staging
  1. 5 tab của trang Tích hợp
  2. Bạn đang ở bước nào
  3. Đến tab Kiểm thử
  4. Mở tài liệu API
  5. API domain: base URL cho mọi request
Tab Tổng quan: quy trình 4 bước và thông tin môi trường Staging
Điều kiện go-live

Sau khi tích hợp trên Staging, bạn phải chạy và đạt toàn bộ test case bắt buộc ở tab Kiểm thử. Ahamove chỉ mở tài khoản Production khi tất cả test case ở trạng thái Đạt. Sau đó bấm Gửi yêu cầu Go-live ở tab Kiểm thử.

Môi trường StagingGiá trị
API domainhttps://partner-apistg.ahamove.com
Portalhttps://business-stg.ahamove.com
Chi phíSandbox, không phát sinh chi phí

Tài liệu chi tiết các API: developers.ahamove.com/docs/api-reference.

API key​

Key dùng để xác thực các lệnh gọi server-to-server tới Ahamove API.

Tab API key: danh sách key, ngày tạo, lần lấy token gần nhất và trạng thái
  1. Số key đang hoạt động
  2. Tạo API key mới
  3. Tên key, ngày hết hạn và cảnh báo IP mới
  4. Key chỉ hiện dạng đã che, kèm 4 ký tự cuối
  5. Lần cuối key được dùng để lấy token
  6. Trạng thái key
Tab API key: danh sách key, ngày tạo, lần lấy token gần nhất và trạng thái
CộtÝ nghĩa
TênTên đặt cho key, kèm ngày hết hạn. Nhãn IP mới: có địa chỉ IP mới dùng key trong 30 ngày qua, xem ở chi tiết key
KeyChỉ hiện dạng đã che, ví dụ sk_test_••••••••Z7MK. Không xem lại được toàn bộ key trên portal
Ngày tạoNgày tạo key
Lấy token gần nhấtLần gần nhất hệ thống của bạn dùng key này. Key lâu không dùng nên thu hồi
Trạng tháiVí dụ Đang hoạt động
  • Key staging có tiền tố sk_test_.
  • Key có ngày hết hạn. Tạo key mới và thay vào hệ thống của bạn trước ngày đó.
Giữ API key bí mật

Tạo lại key ngay khi nghi bị lộ. Tuyệt đối không để lộ key Production trong mã phía client, ứng dụng di động hay repository công khai. Key cho phép đặt đơn và trừ tiền thay mặt công ty.

Tạo API key mới​

Hộp thoại Tạo API key mới: tên key, thời hạn và danh sách IP cho phép
  1. Tên key: ghi rõ key dùng ở đâu
  2. Thời hạn: không hết hạn, 30 ngày, 90 ngày (mặc định) hoặc 1 năm
  3. Danh sách IP cho phép: để trống = cho phép mọi IP
  4. Tạo key
Hộp thoại Tạo API key mới: tên key, thời hạn và danh sách IP cho phép
Bấm + Tạo API key mới
Đặt Tên key (bắt buộc)

Ghi rõ key dùng ở đâu, ví dụ Order service (production), để sau này biết key nào cần thu hồi.

Chọn Thời hạn

Không hết hạn, 30 ngày, 90 ngày (mặc định) hoặc 1 năm.

Giới hạn IP (khuyến nghị)

Nhập địa chỉ IP (VD 203.0.113.24) hoặc dải IP (VD 10.0.0.0/16) của máy chủ gọi API, bấm + Thêm IP. Để trống nghĩa là cho phép mọi IP.

Bấm Tạo key, sao chép key ngay

Key đầy đủ chỉ hiển thị duy nhất một lần ngay sau khi tạo. Lưu ngay vào nơi an toàn (VD biến môi trường hoặc kho bí mật của máy chủ). Lỡ mất thì tạo key mới và thu hồi key cũ.

Key xuất hiện trong danh sách, ở dạng đã che.
Nên tạo key riêng cho từng hệ thống

Mỗi hệ thống (VD Order service, Kho) dùng một key riêng, có giới hạn IP. Khi một hệ thống bị lộ key, bạn chỉ cần thu hồi đúng key đó.

Chi tiết key: giới hạn IP và lịch sử sử dụng​

Bấm vào một dòng key để mở trang chi tiết.

Trang chi tiết API key: cảnh báo IP mới, giới hạn theo IP và lịch sử sử dụng
  1. Quay lại danh sách
  2. Thu hồi key
  3. Cảnh báo số IP mới trong 30 ngày qua
  4. Danh sách IP cho phép: thêm IP rồi bấm Lưu
  5. Trạng thái, key đã che, Key ID, ngày tạo, ngày hết hạn
  6. Từng IP đã dùng key; IP mới có nhãn Mới
Trang chi tiết API key: cảnh báo IP mới, giới hạn theo IP và lịch sử sử dụng

Giới hạn theo IP. Nhập IP hoặc dải IP vào Danh sách IP cho phép, bấm + Thêm IP rồi Lưu. Chỉ những IP trong danh sách mới dùng được key. Để trống nghĩa là cho phép mọi IP.

Lịch sử sử dụng. Liệt kê từng địa chỉ IP đã dùng key:

CộtÝ nghĩa
Địa chỉ IPIP đã gọi bằng key này. IP xuất hiện lần đầu trong 30 ngày có nhãn Mới
ClientPhần mềm gọi API, ví dụ PostmanRuntime/2.6.0
Lần đầu / Gần nhấtThời điểm IP này dùng key lần đầu và lần gần nhất
Bị chặnSố lần key bị từ chối vì IP không nằm trong danh sách cho phép
Lần ghi nhậnMỗi IP ghi tối đa 1 lần/phút, nên không phải số request. Chỉ để phân biệt IP dùng một lần với IP dùng thường xuyên
Thấy nhãn "IP mới" thì làm gì?

Mở chi tiết key và xem các IP có nhãn Mới:

  • IP của hệ thống bạn (máy chủ mới, đổi nhà mạng…): thêm IP đó vào Danh sách IP cho phép để key chỉ dùng được từ các IP này.
  • IP bạn không nhận ra: thu hồi key ngay và tạo key mới.

Thu hồi key​

Ở trang chi tiết key, bấm Thu hồi key (nút đỏ, góc trên bên phải), rồi bấm Thu hồi trong hộp thoại xác nhận. Bấm Huỷ nếu đổi ý.

Key đã thu hồi không dùng được nữa. Tạo key mới và cập nhật vào hệ thống của bạn để thay thế.

Token lấy từ key này cũng hết hạn ngay

Khi thu hồi key, mọi token đã lấy bằng key đó cũng hết hạn ngay, kể cả token chưa tới hạn. Các request API đang dùng những token này sẽ bị từ chối. Hãy cập nhật key mới vào hệ thống và lấy token mới trước khi thu hồi key cũ, để không bị gián đoạn lên đơn.

Riêng khi key bị lộ, thu hồi ngay. Mọi token đã lấy từ key đó cũng bị vô hiệu theo.

Webhook​

Webhook là địa chỉ (endpoint) trên hệ thống của bạn để Ahamove gửi sự kiện cập nhật đơn.

Tab Webhook: danh sách endpoint, phương thức, kiểu xác thực và timeout
  1. Thêm webhook
  2. URL endpoint (đã che trong ảnh)
  3. Phương thức · kiểu xác thực · thời gian chờ
  4. Thời điểm tạo và người tạo
  5. Sửa hoặc xoá endpoint
Tab Webhook: danh sách endpoint, phương thức, kiểu xác thực và timeout
  • Mỗi endpoint hiện phương thức (ví dụ POST), loại xác thực (ví dụ BASIC-AUTH, API-KEY) và timeout (ví dụ 5 giây).
  • Có thể đăng ký nhiều endpoint. Ahamove gửi sự kiện theo thứ tự đăng ký.
  • Endpoint cần phản hồi mã 2xx trước khi hết thời gian chờ, nếu không lần gửi bị tính là lỗi. Xem ở Nhật ký callback.
  • Bấm biểu tượng bút để sửa, thùng rác để xoá.

Thêm webhook​

Bấm + Thêm webhook để mở form.

Form Thêm webhook: URL, method, timeout, headers, loại xác thực và preview request
  1. URL endpoint (bắt buộc)
  2. Method
  3. Timeout (giây)
  4. Headers tuỳ chọn: thêm từng cặp Key / Value
  5. Loại xác thực (bắt buộc)
  6. Sao chép lệnh curl để thử endpoint
  7. Preview: request mẫu Ahamove sẽ gửi
  8. Lưu
Form Thêm webhook: URL, method, timeout, headers, loại xác thực và preview request
TrườngGiá trị
URL *Địa chỉ endpoint của bạn, ví dụ https://partner.example.com/callback
MethodGET, POST (mặc định), PUT, PATCH, DELETE
Timeout (giây)Thời gian tối đa chờ endpoint phản hồi. Mặc định 5
Headers tuỳ chọnCác header thêm vào mỗi request. Bấm + Thêm header để thêm dòng
Loại xác thực *Cách Ahamove xác thực với endpoint của bạn, xem bảng dưới
Loại xác thựcCần điền
NONEKhông cần xác thực bổ sung (mặc định)
API-KEYHeader name *, Scheme (tuỳ chọn), Token *
BEARER-TOKENToken *
BASIC-AUTHUsername *, Password *

Phần Preview hiện request mẫu sẽ được gửi: endpoint, headers (Content-Type: application/json) và body JSON của một sự kiện đơn hàng. Bấm Sao chép curl để tự gửi thử request này tới endpoint, kiểm tra endpoint trả 2xx trước khi lưu.

Nên dùng xác thực

Chọn API-KEY, BEARER-TOKEN hoặc BASIC-AUTH để endpoint của bạn chỉ nhận request từ Ahamove. NONE chỉ nên dùng khi thử nghiệm.

Nhật ký callback​

Theo dõi các lần Ahamove gọi webhook của bạn để dò lỗi tích hợp.

Tab Nhật ký callback: chỉ số, biểu đồ lưu lượng, độ trễ và bảng chi tiết
  1. Khoảng thời gian: 1 giờ, 24 giờ, 7 ngày, 30 ngày
  2. 4 chỉ số tổng hợp
  3. Lưu lượng và tỉ lệ lỗi
  4. Độ trễ phản hồi so với ngưỡng timeout
  5. Lọc theo kết quả, tìm theo mã đơn hoặc tracking
Tab Nhật ký callback: chỉ số, biểu đồ lưu lượng, độ trễ và bảng chi tiết
PhầnGồm
Chỉ sốTổng callback (kèm số thành công) · Tỷ lệ nhận · Độ trễ p95 (kèm p50) · Callback lỗi
Lưu lượng và tỉ lệ lỗiSố callback theo thời gian, chia Đã nhận / Chưa tới nơi, kèm đường tỉ lệ lỗi
Độ trễ phản hồip95, p50 so với ngưỡng timeout (ví dụ 5.0 giây)
Bảng chi tiếtThời điểm · Đơn hàng · Trạng thái gửi · Kết quả · Độ trễ. Lọc Kết quả, tìm theo mã đơn hoặc tracking

Đọc bảng chi tiết:

  • Đơn hàng: mã đơn Ahamove, bên dưới là mã nội bộ của bạn (nếu có).
  • Trạng thái gửi: trạng thái đơn trong sự kiện, ví dụ CANCELLED.
  • Kết quả: mã HTTP endpoint của bạn trả về. 200 là nhận thành công; mã khác (ví dụ 429) là lỗi.
  • Bấm biểu tượng con mắt cuối dòng để xem chi tiết lần gọi.
Callback lỗi nhiều?

Kiểm tra endpoint có trả 2xx đủ nhanh không. Nếu độ trễ p95 sát ngưỡng timeout, hãy để endpoint trả 2xx ngay rồi xử lý sau (bất đồng bộ).

Kiểm thử​

Bộ test case bắt buộc trước khi được mở Production.

Chỉ có trên Staging

Tab Kiểm thử chỉ hỗ trợ môi trường Staging để chạy thử tích hợp. Đơn tạo ra để kiểm thử là đơn sandbox, không phát sinh chi phí.

Mỗi case yêu cầu bạn tạo một đơn thật trên Staging theo đúng yêu cầu, rồi nhập mã đơn để hệ thống đối chiếu.

Tab Kiểm thử: danh sách test case theo loại hình Xe máy và chi tiết một case
  1. Tổng: đạt · không đạt · chưa chạy
  2. Chọn loại hình dịch vụ: Xe máy / Xe tải
  3. Nhóm Tạo đơn
  4. Nhóm Vòng đời đơn
  5. Yêu cầu với đơn và dịch vụ chấp nhận
  6. Nhập mã đơn đã tạo rồi bấm Kiểm tra
Tab Kiểm thử: danh sách test case theo loại hình Xe máy và chi tiết một case
Chọn loại hình dịch vụ (Xe máy hoặc Xe tải)
Chọn một test case ở cột trái

Đọc phần Yêu cầu với đơn và Dịch vụ chấp nhận (ví dụ SGN-BIKE, SGN-TRUCK-500).

Tạo đơn trên Staging bằng API theo đúng yêu cầu
Nhập mã đơn vào ô bên phải, bấm Kiểm tra
Case chuyển sang Đạt hoặc Không đạt; hệ thống đối chiếu từng tiêu chí (4–5 tiêu chí mỗi case).
Đạt hết test case bắt buộc thì bấm Gửi yêu cầu Go-live

Xem Gửi yêu cầu go-live bên dưới.

Gửi yêu cầu go-live​

Khi toàn bộ test case bắt buộc của loại hình đang chọn ở trạng thái Đạt, phía trên danh sách hiện thông báo xanh Đã đạt toàn bộ … test case bắt buộc — sẵn sàng go-live Production.

Tab Kiểm thử khi đã đạt toàn bộ test case bắt buộc: thông báo sẵn sàng go-live và nút Gửi yêu cầu Go-live
  1. Tổng: đạt · không đạt · chưa chạy
  2. Tiến độ test case bắt buộc
  3. Gửi yêu cầu Go-live
  4. Tải biên bản kiểm thử
  5. Nhập mã đơn khác và kiểm tra lại
  6. Số tiêu chí khớp và lệch
Tab Kiểm thử khi đã đạt toàn bộ test case bắt buộc: thông báo sẵn sàng go-live và nút Gửi yêu cầu Go-live
Bấm Gửi yêu cầu Go-live

Yêu cầu được gửi ngay, không có bước xác nhận. Biên bản kiểm thử được gửi kèm trong email.

Chờ Ahamove liên hệ
Thông báo đổi thành Đã gửi yêu cầu lúc [thời gian]. Đội vận hành sẽ đối soát hợp đồng, hạn mức COD rồi kích hoạt tài khoản Production.
  • Bấm Tải biên bản kiểm thử để lưu một bản kết quả kiểm thử cho hệ thống của bạn.
  • Sau khi gửi, nút đổi thành Gửi lại yêu cầu nếu bạn cần gửi lại.
  • Không thấy thông báo xanh? Vẫn còn case bắt buộc Không đạt hoặc Chưa chạy. Mở case đó, xem dòng lệch ở bảng Đối chiếu tiêu chí, tạo đơn mới đúng yêu cầu rồi bấm Kiểm tra lại.

Danh sách test case​

NhómMãTest case
Tạo đơnTC-A1Đơn 1 điểm giao, giao ngay, trả bằng ví đối tác (payment_method = BALANCE, order_time = 0)
Tạo đơnTC-A2Đơn 2 điểm giao có COD, người gửi trả phí
Tạo đơnTC-A4Đơn xe máy có dịch vụ kèm theo (TIP, BULKY)
Tạo đơnTC-A6Đơn hẹn giờ
Tạo đơnTC-A7Tra đơn bằng mã nội bộ của đối tác
Vòng đời đơnTC-B1-BIKEĐơn giao thành công, đủ chuỗi trạng thái
Vòng đời đơnTC-B2-BIKEGiao thất bại một điểm, hoàn hàng về người gửi
Vòng đời đơnTC-B3-BIKEĐối tác tự huỷ đơn trước khi tài xế nhận
Vòng đời đơnTC-B4-BIKEHết thời gian tìm tài xế, hệ thống tự huỷ
Test case loại hình Xe tải: TC-A3 đơn đa điểm tối ưu lộ trình
Test case loại hình Xe tải: TC-A3 đơn đa điểm tối ưu lộ trình

Giả lập đơn hàng​

Bạn điều khiển một tài xế sandbox trên đơn Staging của mình (nhận đơn, lấy hàng, giao từng điểm, trả hàng, huỷ) và đối chiếu callback Ahamove gửi tới webhook của bạn sau từng thao tác.

Chỉ có trên Staging

Đơn giả lập là đơn Staging, không phát sinh chi phí. Tài xế sandbox do Ahamove cấp sẵn. Nếu chọn tài xế bằng số điện thoại hoặc tài xế gần điểm lấy, đó là tài khoản tài xế thật trên Staging: chỉ dùng tài xế của nhóm bạn hoặc người đã đồng ý cho kiểm thử.

Mở công cụ bằng một trong hai cách:

  • Tab Giả lập đơn hàng ở trang Tích hợp, rồi chọn đơn.
  • Trong chi tiết đơn, bấm biểu tượng Giả lập đơn hàng (hình bình thí nghiệm) hoặc tab cùng tên, rồi bấm Mở trong Giả lập đơn hàng.
Tab Giả lập đơn hàng: danh sách đơn thử và bảng Hành động đã kiểm chứng
  1. Tab Giả lập đơn hàng
  2. 3 bước: chọn đơn thử · điều khiển tài xế · đối chiếu callback
  3. Lọc: Đang chạy · Tất cả · Đã kết thúc
  4. Tìm theo mã đơn hoặc mã vận đơn
  5. Giả lập: mở đơn để điều khiển tài xế
  6. Số hành động đã kiểm chứng / 16
  7. Hai nhóm: Giao ngay và Giao gộp chuyến
  8. Điều kiện để một hành động được tính là đạt
Tab Giả lập đơn hàng: danh sách đơn thử và bảng Hành động đã kiểm chứng

Đơn thử của bạn liệt kê đơn Staging của tài khoản trong 7 ngày gần nhất, gồm đơn tạo qua API và đơn tạo ở Lên đơn. Đơn cũ hơn thì tìm theo mã đơn.

Hành động đã kiểm chứng theo dõi 8 hành động cho mỗi loại đơn (Giao ngay và Giao gộp chuyến), tổng 16. Một hành động chỉ được tính đạt khi mọi callback của nó tới webhook với HTTP 2xx. Bảng cũng nhắc nếu bạn chưa thử đơn nhiều điểm (giao điểm 2 trở đi).

Màn hình giả lập một đơn​

Giả lập một đơn: bản đồ tài xế, hành trình đơn hàng với các thao tác của bước tiếp theo
  1. Quay lại danh sách đơn thử
  2. Trạng thái hiện tại của đơn
  3. Tải lại dữ liệu đơn
  4. Mở trang chi tiết đơn
  5. Ghim vị trí: bấm lên bản đồ để đặt tài xế
  6. Cho tài xế chạy tới điểm kế tiếp
  7. Tốc độ chạy 10× · 30× · 50×
  8. Vị trí giả lập hay vị trí thật đã gửi lên hệ thống
  9. Mở rộng bản đồ
  10. Bước tiếp theo và các thao tác của bước đó
  11. Tài xế đang nhận đơn
Giả lập một đơn: bản đồ tài xế, hành trình đơn hàng với các thao tác của bước tiếp theo
  • Bản đồ: tài xế chạy theo đường thật. Mỗi thao tác lấy hàng, giao hàng, trả hàng sẽ tự đưa tài xế tới điểm đó trước khi thực hiện, nên bạn không bắt buộc phải bấm Chạy tới…. Dùng Ghim vị trí khi muốn đặt tài xế ở một chỗ cụ thể để thử callback vị trí.
  • Hành trình đơn hàng: các bước của đơn theo thứ tự, mỗi điểm giao là một bước riêng. Bước đang chờ có nhãn BƯỚC TIẾP THEO kèm nút thao tác. Mục Hủy đơn ở cuối có Tài xế hủy và Bạn hủy đơn.
  • Bên dưới bản đồ: khu vực Callback tới webhook của bạn, thông tin các điểm, chi tiết thanh toán, hàng hoá và người tạo đơn.

Các thao tác tài xế​

Thao tácHiện khiKết quảCallback mong đợi
Nhận đơnĐơn đang tìm tài xếChọn tài xế (xem bên dưới), đơn được giao thẳng cho tài xế đóstatus=ACCEPTED (gửi trễ khoảng 1 giây theo thiết kế)
Ghép chuyến 1-1Đơn giao gộp (VD SGN-2H) chờ tài xếGhép đơn vào chuyến gộp SGN-POOL trước, sau đó mới nhận đơnTheo chuyến gộp
Đến nơiTài xế đã nhận đơnTài xế tới điểm lấy hàngsub_status=ARRIVED, chỉ gửi nếu bạn bật ARRIVED trong support_sub_status
Đã lấy hàngTài xế đã nhận đơnĐơn chuyển Đang giao hàngstatus=IN PROCESS
Giao thành côngTừng điểm giao, sau khi lấy hàngĐiểm đó Đã giao hàngpath[i].status=COMPLETED (callback theo điểm, _id dạng MÃĐƠN-i)
Giao thất bạiTừng điểm giao, sau khi lấy hàngChọn lý do. Điểm đó Giao hàng không thành công; nếu hàng phải hoàn về (VD điểm có COD), đơn sang Đang hoàn hàng về điểm lấypath[i].status=FAILED kèm lý do
Đã nhận hàng trảĐơn đang hoàn hàngHàng đã về điểm lấy, đơn kết thúcsub_status=RETURNED (luôn gửi, không cần bật)
Tài xế hủyTài xế đã nhận, trước khi lấy hàngChọn lý do. Đơn được tìm tài xế lại, hoặc bị huỷ nếu dịch vụ không cho tìm lạistatus=ASSIGNING (hoặc CANCELLED)
Bạn hủy đơnTrước khi lấy hàngChọn lý do. Đơn bị huỷ với người huỷ là bạn (đối tác)status=CANCELLED

Khi điểm giao cuối cùng được xử lý xong (thành công hay thất bại), đơn gửi thêm status=COMPLETED.

COMPLETED chưa phải là đã giao

status=COMPLETED chỉ nghĩa là tài xế đã xử lý xong mọi điểm. Kết quả từng điểm nằm ở path[i].status (COMPLETED hoặc FAILED). Hệ thống của bạn phải đọc từng điểm để biết điểm nào giao được.

Chọn tài xế khi Nhận đơn. Hộp thoại có 3 tab:

TabDùng khi
Tài xế sandboxMặc định. Tài xế Ahamove cấp sẵn cho kiểm thử, có nhãn Có thể nhận đơn này
Nhập số điện thoạiGiao cho tài xế Staging của nhóm bạn. Tài xế phải được bật dịch vụ của đơn (hoặc của chuyến, với đơn giao gộp), không bị khoá và có thành phố hoạt động
Tài xế gần điểm lấyTài xế có dịch vụ này trong bán kính 20 km quanh điểm lấy, đã gửi vị trí trong 7 ngày gần nhất

Với tài xế thật, đơn hiện trên ứng dụng tài xế Staging của họ và tài xế có thể tiếp tục thao tác trên ứng dụng.

Đối chiếu callback​

Khu vực Callback tới webhook của bạn: đối chiếu theo thao tác và danh sách callback đã gửi
  1. Tự cập nhật mỗi 5 giây
  2. Tổng kết: số khớp · đang chờ · lỗi
  3. Callback mong đợi cho thao tác
  4. Ghi chú: khi nào callback được gửi
  5. Kết quả đối chiếu
  6. Mọi callback đã gửi cho đơn này
  7. Mở trong Nhật ký callback
  8. Mã HTTP webhook của bạn trả về
  9. Xem nội dung đã gửi và phản hồi
  10. Gửi lại callback
Khu vực Callback tới webhook của bạn: đối chiếu theo thao tác và danh sách callback đã gửi

Callback được gửi bất đồng bộ, có thể đến sau thao tác vài giây. Khu vực này tự cập nhật mỗi 5 giây.

Đối chiếu theo thao tác: mỗi thao tác bạn bấm là một dòng, gồm thời điểm, _id (mã đơn, hoặc MÃĐƠN-i với callback theo điểm), giá trị Mong đợi, mã HTTP và Kết quả:

Kết quảNghĩa là
KhớpWebhook đã nhận callback đúng như mong đợi, trả 2xx
Đang chờ…Callback chưa tới, đợi thêm vài giây
Webhook trả lỗiCallback đã gửi nhưng endpoint của bạn trả mã khác 2xx (VD 429, 503) hoặc không phản hồi (0)
Không gửiThao tác này không sinh callback với cấu hình hiện tại (VD ARRIVED chưa bật)

Tất cả callback đã gửi: từng lần Ahamove gọi webhook, gồm thời gian, nội dung (VD ACCEPTED, Điểm 1: COMPLETED, COMPLETED · RETURNED), mã HTTP và số lần gửi. Mỗi endpoint đã đăng ký nhận callback riêng, nên khi có 2 webhook bạn sẽ thấy 2 dòng cho cùng một trạng thái.

  • Xem: mở Chi tiết callback với thời điểm, trạng thái gửi, số lần gửi, tab Yêu cầu (endpoint, header, payload) và Phản hồi (nguyên văn endpoint trả về). Giá trị nhạy cảm như Authorization hay api_key đã được che.
  • Gửi lại (hoặc Thử lại trong Chi tiết callback): gửi lại đúng nội dung cũ tới endpoint đó ngay bây giờ. Dùng sau khi sửa endpoint.
  • Mở trong Nhật ký callback: xem các callback của đơn ở Nhật ký callback.

Thử thao tác​

Bấm vào ô đang nhấp nháy để làm thử một vòng giao ngay: nhận đơn, lấy hàng, giao thành công rồi xem callback. Ảnh chụp từ đơn mẫu trên Staging.

Giả lập một đơn giao ngayBước 1/8
Bấm Giả lập ở dòng của đơn
Bấm Giả lập ở dòng của đơnDanh sách Đơn thử của bạn hiện đơn Staging trong 7 ngày gần nhất.

Chạy một kịch bản​

Tạo đơn trên Staging (qua API hoặc Lên đơn)

Muốn thử giao từng điểm thì tạo đơn 2 điểm giao trở lên. Muốn thử hoàn hàng thì cho điểm giao có thu hộ COD.

Mở tab Giả lập đơn hàng, bấm Giả lập ở dòng của đơn
Bấm Nhận đơn, chọn Tài xế sandbox rồi bấm Giao cho tài xế này
Đơn chuyển Tài xế đã nhận; dòng Nhận đơn xuất hiện ở phần đối chiếu.
Bấm lần lượt thao tác ở BƯỚC TIẾP THEO

Ví dụ: Đến nơi → Đã lấy hàng → Giao thành công điểm 1 → Giao thất bại điểm 2. Với Giao thất bại, Tài xế hủy và Bạn hủy đơn, chọn một lý do rồi bấm Xác nhận; lý do này có trong callback.

Sau mỗi thao tác, xem cột Kết quả ở phần đối chiếu

Gặp Webhook trả lỗi thì bấm Xem để đọc phản hồi, sửa endpoint rồi bấm Gửi lại.

Lặp lại với đơn khác cho các hành động còn lại
Bảng Hành động đã kiểm chứng đạt 16/16 khi mọi hành động của Giao ngay và Giao gộp chuyến đều nhận callback 2xx.
Huỷ phải làm trước khi lấy hàng

Nút Tài xế hủy và Bạn hủy đơn chỉ hiện trước bước Đã lấy hàng. Muốn thử cả huỷ lẫn giao hàng, hãy dùng hai đơn khác nhau (Tài xế hủy thì đơn quay về tìm tài xế, nên có thể nhận lại và chạy tiếp trên cùng đơn).

Dữ liệu callback có thông tin bí mật

Payload chứa dữ liệu người nhận, và header có thể chứa thông tin xác thực. Không chụp màn hình hay gửi nguyên văn ra ngoài.

Ai được dùng trang này?​

Tạo, thu hồi API key và đổi webhook endpoint cần quyền Thao tác ở trang Tích hợp. Xem Phân quyền.