curl --request POST \
--url https://api.fireant.vn/mxv/physical-delivery/deposit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"warehouse": "<string>",
"contract": "<string>",
"quantity": 123,
"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/deposit"
payload = {
"warehouse": "<string>",
"contract": "<string>",
"quantity": 123,
"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({
warehouse: '<string>',
contract: '<string>',
quantity: 123,
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/deposit', 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/deposit",
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([
'warehouse' => '<string>',
'contract' => '<string>',
'quantity' => 123,
'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/deposit"
payload := strings.NewReader("{\n \"warehouse\": \"<string>\",\n \"contract\": \"<string>\",\n \"quantity\": 123,\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/deposit")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"warehouse\": \"<string>\",\n \"contract\": \"<string>\",\n \"quantity\": 123,\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/deposit")
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 \"warehouse\": \"<string>\",\n \"contract\": \"<string>\",\n \"quantity\": 123,\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>"
}
]
}Đăng ký lưu ký hàng vật chất vào kho (bên bán)
curl --request POST \
--url https://api.fireant.vn/mxv/physical-delivery/deposit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"warehouse": "<string>",
"contract": "<string>",
"quantity": 123,
"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/deposit"
payload = {
"warehouse": "<string>",
"contract": "<string>",
"quantity": 123,
"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({
warehouse: '<string>',
contract: '<string>',
quantity: 123,
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/deposit', 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/deposit",
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([
'warehouse' => '<string>',
'contract' => '<string>',
'quantity' => 123,
'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/deposit"
payload := strings.NewReader("{\n \"warehouse\": \"<string>\",\n \"contract\": \"<string>\",\n \"quantity\": 123,\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/deposit")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"warehouse\": \"<string>\",\n \"contract\": \"<string>\",\n \"quantity\": 123,\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/deposit")
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 \"warehouse\": \"<string>\",\n \"contract\": \"<string>\",\n \"quantity\": 123,\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 đăng ký lưu ký Bạc vào kho MSB (bên bán) - API 3.3.5 Độc lập với đăng ký giao nhận. Mỗi lần tạo ra 1 mã giao hàng riêng. Giai đoạn FND -> LND
Mã kho nhận Bạc: "KQ.HNI.01" (MSB chi nhánh Đống Đa) hoặc "KQ.HCM.01" (MSB chi nhánh TP.Hồ Chí Minh)
Mã hợp đồng kỳ hạn (VD: SIV0326)
Số lượng lot đăng ký giao vào kho (phải > 0)
Ngày đăng ký giao Bạc vào kho (YYYYMMDD, trong khoảng FND -> LND)
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