Bài viết/Nhà phát triển

Lấy giá vàng mỗi gram bằng Python (24K, 22K, 18K)

Lấy giá vàng mỗi gram cho 24K, 22K và 18K bằng Python, không cần API key, rồi tính tiền an toàn với Decimal.

Nhà phát triển
Lấy giá vàng mỗi gram bằng Python (24K, 22K, 18K)

Nếu ứng dụng cần giá vàng mỗi gram, hãy gọi trực tiếp thang độ tinh khiết từ endpoint công khai /v1/carat. Một yêu cầu trả về giá trị 24K, 22K, 21K, 20K, 18K, 16K, 14K và 10K theo đồng tiền đã chọn. Không cần API key để thử.

Lấy giá vàng mỗi gram bằng Python

Ví dụ chỉ dùng thư viện chuẩn và đọc giá bằng Decimal để tránh sai số số thực nhị phân khi tính tiền.

import json
from decimal import Decimal
from urllib.parse import urlencode
from urllib.request import Request, urlopen

url = "https://api.goldprice.dev/v1/carat?" + urlencode({"currency": "USD"})
with urlopen(Request(url, headers={"Accept": "application/json"}), timeout=10) as response:
    payload = json.load(response)

prices = {
    "currency": payload["currency"],
    "timestamp": payload["timestamp"],
    "24k": Decimal(payload["price_gram_24k"]),
    "22k": Decimal(payload["price_gram_22k"]),
    "18k": Decimal(payload["price_gram_18k"]),
}

Đổi USD thành EUR, GBP, INR, IDR, AED, JPY hoặc đồng tiền được hỗ trợ khác. Hãy lưu cả timestamp vì đây là thời điểm quan sát giá.

Tính giá trị của món vàng

Với món vàng 18K nặng 12,5 gram, nhân giá 18K mỗi gram với khối lượng rồi chỉ làm tròn kết quả cuối cùng một lần.

from decimal import Decimal, ROUND_HALF_UP

weight = Decimal("12.5")
value = (weight * prices["18k"]).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)

Endpoint đã biểu diễn giá mỗi gram theo độ chính xác của đơn vị tiền tệ nhỏ nhất. Kết quả là giá trị chỉ báo của phần vàng, không phải giá bán lẻ hay giá thu mua. Tiền công, đá quý, thuế, premium, chi phí tinh luyện và khấu trừ thu mua được tính riêng.

Cách API quy đổi gram và tuổi vàng

API đổi giá XAU sang đồng tiền đã chọn, chia giá mỗi ounce troy cho 31.1034768, rồi nhân với tỷ lệ tinh khiết như 22 / 24 hoặc 18 / 24.

Danh sách kiểm tra production

  • Giữ số tiền dưới dạng Decimal.
  • Lưu timestamp cùng giá.
  • Cache phản hồi thành công theo độ mới cần thiết.
  • Không thay lần làm mới thất bại bằng số 0 hoặc timestamp mới.
  • Ghi rõ đây là giá chỉ báo, không phải giá thanh toán.
  • Chỉ giữ API key tài khoản trên máy chủ.

Xem hợp đồng endpoint đầy đủ hoặc dùng API lịch sử cho OHLC hằng ngày.

hướng dẫn liên quan

Nhà phát triển

Tạo bảng theo dõi danh mục vàng trong Google Sheets

Nhập mẫu danh mục vàng vào Google Sheets, cập nhật một mức giá tham chiếu và tính giá trị ước tính, chi phí cùng mức thay đổi cho từng khoản nắm giữ.

Đọc →
Nhà phát triển

Thêm widget giá vàng trực tiếp vào WordPress

Thêm widget giá vàng trực tiếp miễn phí vào WordPress bằng một iframe. Dùng được với Gutenberg và Elementor, không cần API key hay plugin.

Đọc →
Nhà phát triển

Xây máy tính giá trang sức vàng bằng JavaScript

Xây máy tính giá trang sức từ giá vàng trực tiếp theo gram và tuổi vàng, với phép tính thập phân chính xác, cache, biên lợi nhuận và giới hạn định giá rõ ràng.

Đọc →

goldprice.dev

Giá vàng trực tiếp, dữ liệu OHLC lịch sử và tổng hợp nhiều nguồn qua REST và SSE.