Truy xuất nguồn gốc sản phẩm vật chất
curl --request POST \
--url https://api.fireant.vn/mxv/traceability/product \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"qrContent": "<string>"
}
'import requests
url = "https://api.fireant.vn/mxv/traceability/product"
payload = { "qrContent": "<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({qrContent: '<string>'})
};
fetch('https://api.fireant.vn/mxv/traceability/product', 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/traceability/product",
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([
'qrContent' => '<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/traceability/product"
payload := strings.NewReader("{\n \"qrContent\": \"<string>\"\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/traceability/product")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"qrContent\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fireant.vn/mxv/traceability/product")
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 \"qrContent\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"time": "<string>",
"success": true,
"code": "<string>",
"msg": "<string>",
"confirmationCode": "<string>",
"payload": [
{
"qrCode": "<string>",
"serial": "<string>",
"productName": "<string>",
"productCode": "<string>",
"material": "<string>",
"purity": 123,
"weightChi": "<string>",
"weightGram": "<string>",
"origin": "<string>",
"manufacturedAt": "2023-11-07T05:31:56Z",
"inspectedAt": "2023-11-07T05:31:56Z",
"inspectionUnit": "<string>"
}
]
}MXV
Truy xuất nguồn gốc sản phẩm vật chất
POST
/
mxv
/
traceability
/
product
Truy xuất nguồn gốc sản phẩm vật chất
curl --request POST \
--url https://api.fireant.vn/mxv/traceability/product \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"qrContent": "<string>"
}
'import requests
url = "https://api.fireant.vn/mxv/traceability/product"
payload = { "qrContent": "<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({qrContent: '<string>'})
};
fetch('https://api.fireant.vn/mxv/traceability/product', 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/traceability/product",
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([
'qrContent' => '<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/traceability/product"
payload := strings.NewReader("{\n \"qrContent\": \"<string>\"\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/traceability/product")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"qrContent\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fireant.vn/mxv/traceability/product")
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 \"qrContent\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"time": "<string>",
"success": true,
"code": "<string>",
"msg": "<string>",
"confirmationCode": "<string>",
"payload": [
{
"qrCode": "<string>",
"serial": "<string>",
"productName": "<string>",
"productCode": "<string>",
"material": "<string>",
"purity": 123,
"weightChi": "<string>",
"weightGram": "<string>",
"origin": "<string>",
"manufacturedAt": "2023-11-07T05:31:56Z",
"inspectedAt": "2023-11-07T05:31:56Z",
"inspectionUnit": "<string>"
}
]
}Nội dung
application/jsontext/json
Request từ app FireAnt gửi lên backend khi quét QR trên thỏi Bạc. App gửi nguyên nội dung quét được (thường là URL dạng https://sp.phuquygroup.vn/Home/VM?id=CBETDRX12); backend tự tách mã sản phẩm.
Phản hồi
Trả về thông tin sản phẩm
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.