curl --request POST \
--url https://api.fireant.vn/mxv/physical-delivery/designated \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deliveryCode": "<string>",
"warehouse": "<string>",
"rejectedBySender": "<string>",
"deliveryDate": "<string>",
"email": "<string>",
"phone": "<string>",
"authorization": {
"fullName": "<string>",
"dateOfBirth": "<string>",
"idNumber": "<string>",
"idIssueDate": "<string>",
"idIssuePlace": "<string>",
"address": "<string>",
"idImageFront": "<string>",
"idImageBack": "<string>",
"email": "<string>",
"phone": "<string>"
}
}
'import requests
url = "https://api.fireant.vn/mxv/physical-delivery/designated"
payload = {
"deliveryCode": "<string>",
"warehouse": "<string>",
"rejectedBySender": "<string>",
"deliveryDate": "<string>",
"email": "<string>",
"phone": "<string>",
"authorization": {
"fullName": "<string>",
"dateOfBirth": "<string>",
"idNumber": "<string>",
"idIssueDate": "<string>",
"idIssuePlace": "<string>",
"address": "<string>",
"idImageFront": "<string>",
"idImageBack": "<string>",
"email": "<string>",
"phone": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
deliveryCode: '<string>',
warehouse: '<string>',
rejectedBySender: '<string>',
deliveryDate: '<string>',
email: '<string>',
phone: '<string>',
authorization: {
fullName: '<string>',
dateOfBirth: '<string>',
idNumber: '<string>',
idIssueDate: '<string>',
idIssuePlace: '<string>',
address: '<string>',
idImageFront: '<string>',
idImageBack: '<string>',
email: '<string>',
phone: '<string>'
}
})
};
fetch('https://api.fireant.vn/mxv/physical-delivery/designated', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fireant.vn/mxv/physical-delivery/designated",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'deliveryCode' => '<string>',
'warehouse' => '<string>',
'rejectedBySender' => '<string>',
'deliveryDate' => '<string>',
'email' => '<string>',
'phone' => '<string>',
'authorization' => [
'fullName' => '<string>',
'dateOfBirth' => '<string>',
'idNumber' => '<string>',
'idIssueDate' => '<string>',
'idIssuePlace' => '<string>',
'address' => '<string>',
'idImageFront' => '<string>',
'idImageBack' => '<string>',
'email' => '<string>',
'phone' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fireant.vn/mxv/physical-delivery/designated"
payload := strings.NewReader("{\n \"deliveryCode\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"rejectedBySender\": \"<string>\",\n \"deliveryDate\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"authorization\": {\n \"fullName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"idIssueDate\": \"<string>\",\n \"idIssuePlace\": \"<string>\",\n \"address\": \"<string>\",\n \"idImageFront\": \"<string>\",\n \"idImageBack\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fireant.vn/mxv/physical-delivery/designated")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"deliveryCode\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"rejectedBySender\": \"<string>\",\n \"deliveryDate\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"authorization\": {\n \"fullName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"idIssueDate\": \"<string>\",\n \"idIssuePlace\": \"<string>\",\n \"address\": \"<string>\",\n \"idImageFront\": \"<string>\",\n \"idImageBack\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fireant.vn/mxv/physical-delivery/designated")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"deliveryCode\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"rejectedBySender\": \"<string>\",\n \"deliveryDate\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"authorization\": {\n \"fullName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"idIssueDate\": \"<string>\",\n \"idIssuePlace\": \"<string>\",\n \"address\": \"<string>\",\n \"idImageFront\": \"<string>\",\n \"idImageBack\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"time": "<string>",
"success": true,
"code": "<string>",
"msg": "<string>",
"confirmationCode": "<string>",
"payload": [
{
"confirmationcode": "<string>"
}
]
}Xác nhận giao hàng vật chất chỉ định (bên bán)
curl --request POST \
--url https://api.fireant.vn/mxv/physical-delivery/designated \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deliveryCode": "<string>",
"warehouse": "<string>",
"rejectedBySender": "<string>",
"deliveryDate": "<string>",
"email": "<string>",
"phone": "<string>",
"authorization": {
"fullName": "<string>",
"dateOfBirth": "<string>",
"idNumber": "<string>",
"idIssueDate": "<string>",
"idIssuePlace": "<string>",
"address": "<string>",
"idImageFront": "<string>",
"idImageBack": "<string>",
"email": "<string>",
"phone": "<string>"
}
}
'import requests
url = "https://api.fireant.vn/mxv/physical-delivery/designated"
payload = {
"deliveryCode": "<string>",
"warehouse": "<string>",
"rejectedBySender": "<string>",
"deliveryDate": "<string>",
"email": "<string>",
"phone": "<string>",
"authorization": {
"fullName": "<string>",
"dateOfBirth": "<string>",
"idNumber": "<string>",
"idIssueDate": "<string>",
"idIssuePlace": "<string>",
"address": "<string>",
"idImageFront": "<string>",
"idImageBack": "<string>",
"email": "<string>",
"phone": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
deliveryCode: '<string>',
warehouse: '<string>',
rejectedBySender: '<string>',
deliveryDate: '<string>',
email: '<string>',
phone: '<string>',
authorization: {
fullName: '<string>',
dateOfBirth: '<string>',
idNumber: '<string>',
idIssueDate: '<string>',
idIssuePlace: '<string>',
address: '<string>',
idImageFront: '<string>',
idImageBack: '<string>',
email: '<string>',
phone: '<string>'
}
})
};
fetch('https://api.fireant.vn/mxv/physical-delivery/designated', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fireant.vn/mxv/physical-delivery/designated",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'deliveryCode' => '<string>',
'warehouse' => '<string>',
'rejectedBySender' => '<string>',
'deliveryDate' => '<string>',
'email' => '<string>',
'phone' => '<string>',
'authorization' => [
'fullName' => '<string>',
'dateOfBirth' => '<string>',
'idNumber' => '<string>',
'idIssueDate' => '<string>',
'idIssuePlace' => '<string>',
'address' => '<string>',
'idImageFront' => '<string>',
'idImageBack' => '<string>',
'email' => '<string>',
'phone' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fireant.vn/mxv/physical-delivery/designated"
payload := strings.NewReader("{\n \"deliveryCode\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"rejectedBySender\": \"<string>\",\n \"deliveryDate\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"authorization\": {\n \"fullName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"idIssueDate\": \"<string>\",\n \"idIssuePlace\": \"<string>\",\n \"address\": \"<string>\",\n \"idImageFront\": \"<string>\",\n \"idImageBack\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fireant.vn/mxv/physical-delivery/designated")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"deliveryCode\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"rejectedBySender\": \"<string>\",\n \"deliveryDate\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"authorization\": {\n \"fullName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"idIssueDate\": \"<string>\",\n \"idIssuePlace\": \"<string>\",\n \"address\": \"<string>\",\n \"idImageFront\": \"<string>\",\n \"idImageBack\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fireant.vn/mxv/physical-delivery/designated")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"deliveryCode\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"rejectedBySender\": \"<string>\",\n \"deliveryDate\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"authorization\": {\n \"fullName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"idIssueDate\": \"<string>\",\n \"idIssuePlace\": \"<string>\",\n \"address\": \"<string>\",\n \"idImageFront\": \"<string>\",\n \"idImageBack\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"time": "<string>",
"success": true,
"code": "<string>",
"msg": "<string>",
"confirmationCode": "<string>",
"payload": [
{
"confirmationcode": "<string>"
}
]
}Ủy quyền
OAuth2 Implicit Grant
Nội dung
Request xác nhận giao hàng chỉ định Thời hạn: T+1 -> T+5 sau ngày giao dịch cuối cùng
Mã lưu ký hàng chỉ định do MXV gửi qua WebSocket event (deliveryStatus).
Mã kho giao hàng: "KQ.HNI.01" hoặc "KQ.HCM.01"
Lựa chọn của bên bán: "0" = Đồng ý tự thực hiện giao nhận, "1" = Uỷ quyền TTBT thực hiện thay (chịu phạt theo quy định MXV)
Ngày đăng ký giao Bạc (YYYYMMDD)
Email liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)
Số điện thoại liên hệ (chỉ điền nếu khác với thông tin trên tài khoản giao dịch)
Thông tin người uỷ quyền giao Bạc tại kho MSB (nếu có)
Show child attributes
Show child attributes
Phản hồi
OK
Wrapper response của MXV REST API cho các nghiệp vụ giao nhận hàng vật chất. Khác với MXVResponse<T> (dùng status/message/data), các API section 3.3/3.4 trả về success/code/msg/confirmationCode/payload.
Thời điểm server xử lý
true = thành công, false = lỗi
Mã kết quả: "0" = thành công
Thông báo kết quả (VD: "[0]: Thành công!")
Mã xác nhận đăng ký do MXV cấp (top-level field). End user cần lưu lại để dùng cho API huỷ và truy vấn.
Dữ liệu chi tiết (array, mỗi phần tử chứa confirmationcode)
Show child attributes
Show child attributes