TVAN
Gửi thông điệp hóa đơn điện tử tới hệ thống TVAN để xử lý và chuyển tiếp tới cơ quan thuế.
Các bước tích hợp TVAN
Dưới đây là các bước để tích hợp TVAN vào sản phẩm của bạn.
-
Tạo một phân quyền /grant/token với
scopescó giá trị làinvoice,tvan. -
Mở giao diện Cas Link bằng
grantTokenđược trả về ở bước trên và lựa chọn dịch vụ X-Invoice. Xem chi tiết -
Sau khi người dùng hoàn tất xác thực, phía giao diện của bạn sẽ nhận được một publicToken, dùng publicToken này để lấy accessToken cho phân quyền.
-
Bây giờ bạn đã có thể gọi API gửi thông điệp.
Gọi API
Tạo phân quyền cho TVAN
- CURL
- Javascript (Axios)
curl --location 'https://sandbox.bankhub.dev/grant/token' \
--header 'X-BankHub-Api-Version: 2023-01-01' \
--header 'x-client-id: <CLIENT_ID_HERE>' \
--header 'x-secret-key: <SECRET_KEY_HERE>' \
--header 'Content-Type: application/json' \
--data '{
"scopes": "invoice,tvan",
"language": "vi",
"redirectUri": "https://your-domain.vn/link",
"fiServiceId": "6d325840-00d7-11f1-af82-fa163e5398eb"
}'
const axios = require('axios');
const data = JSON.stringify({
"scopes": "invoice,tvan",
"language": "vi",
"redirectUri": "https://your-domain.vn/link",
"fiServiceId": "6d325840-00d7-11f1-af82-fa163e5398eb"
});
const config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://sandbox.bankhub.dev/grant/token',
headers: {
'X-BankHub-Api-Version': '2023-01-01',
'x-client-id': '<CLIENT_ID_HERE>',
'x-secret-key': '<SECRET_KEY_HERE>',
'Content-Type': 'application/json',
},
data: data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
thông tin
Xem chi tiết API, tại đây
Lấy accessToken từ publicToken
- CURL
- Javascript (Axios)
curl --location 'https://sandbox.bankhub.dev/grant/exchange' \
--header 'X-BankHub-Api-Version: 2023-01-01' \
--header 'x-client-id: <CLIENT_ID_HERE>' \
--header 'x-secret-key: <SECRET_KEY_HERE>' \
--header 'Content-Type: application/json' \
--data '{
"publicToken": "bdbde2bad-7685-4f95-987c-71309a4a3"
}'
const axios = require('axios');
const data = JSON.stringify({
"publicToken": "bdbde2bad-7685-4f95-987c-71309a4a3"
});
const config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://sandbox.bankhub.dev/grant/exchange',
headers: {
'X-BankHub-Api-Version': '2023-01-01',
'x-client-id': '<CLIENT_ID_HERE>',
'x-secret-key': '<SECRET_KEY_HERE>',
'Content-Type': 'application/json'
},
data: data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
thông tin
Xem chi tiết API, tại đây
API gửi thông điệp hóa đơn điện tử tới hệ thống TVAN để xử lý và chuyển tiếp tới cơ quan thuế.
- CURL
- Javascript (Axios)
curl --location 'https://sandbox.bankhub.dev/tvan/send' \
--header 'X-BankHub-Api-Version: 2023-01-01' \
--header 'Authorization: <ACCESS_TOKEN_HERE>' \
--header 'x-client-id: <CLIENT_ID_HERE>' \
--header 'x-secret-key: <SECRET_KEY_HERE>'
--data-raw '{
"xmlData": [
{
"xml": "<HDon></HDon>"
}
],
"xmlCount": 1,
"messageTypeCode": 206
}'
const axios = require('axios');
let data = JSON.stringify({
"xmlData": [
{
"xml": "<HDon></HDon>"
}
],
"xmlCount": 1,
"messageTypeCode": 206
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://sandbox.bankhub.dev/tvan/send',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-client-id': '<x-client-id>',
'x-secret-key': '<x-client-id>',
'Authorization': '<x-client-id>'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
thông tin
Xem chi tiết API, tại đây