Rumah > pembangunan bahagian belakang > Tutorial Python > Sepadukan API Cukai Jualan zip.zax dalam Apl Python Anda

Sepadukan API Cukai Jualan zip.zax dalam Apl Python Anda

Susan Sarandon
Lepaskan: 2024-12-21 02:24:10
asal
492 orang telah melayarinya

Integrate the zip.zax Sales Tax API in Your Python App

Jika anda sedang membina aplikasi yang memerlukan pengiraan cukai jualan yang tepat, zip.tax API ialah alat yang sangat baik untuk disepadukan. Panduan ini membimbing anda melalui cara menyediakan dan menggunakan API zip.tax dalam aplikasi Python.

Prasyarat

Sebelum bermula, pastikan anda mempunyai perkara berikut:

  • Pengetahuan asas Python.
  • Persekitaran pembangunan Python disediakan.
  • Kunci API daripada zip.tax.

Langkah 1: Pasang Perpustakaan Diperlukan

Untuk membuat permintaan HTTP, kami akan menggunakan pakej permintaan standard Python. Selain itu, kami akan menggunakan json untuk menghuraikan respons JSON.

Langkah 2: Sediakan Projek Python Anda

Buat direktori projek baharu dan mulakan modul baharu:

mkdir ziptax-python && cd ziptax-python
Salin selepas log masuk

Langkah 3: Tulis Kod

Berikut ialah contoh lengkap aplikasi Python mudah yang menanyakan zip.tax API untuk maklumat cukai jualan.

import requests
import json

class Response:
    def __init__(self, data):
        self.version = data.get("version")
        self.r_code = data.get("rCode")
        self.results = [Result(result) for result in data.get("results", [])]
        self.address_detail = AddressDetail(data.get("addressDetail", {}))

class Result:
    def __init__(self, data):
        self.geo_postal_code = data.get("geoPostalCode")
        self.geo_city = data.get("geoCity")
        self.geo_county = data.get("geoCounty")
        self.geo_state = data.get("geoState")
        self.tax_sales = data.get("taxSales")
        self.tax_use = data.get("taxUse")
        self.txb_service = data.get("txbService")
        self.txb_freight = data.get("txbFreight")
        self.state_sales_tax = data.get("stateSalesTax")
        self.state_use_tax = data.get("stateUseTax")
        self.city_sales_tax = data.get("citySalesTax")
        self.city_use_tax = data.get("cityUseTax")
        self.city_tax_code = data.get("cityTaxCode")
        self.county_sales_tax = data.get("countySalesTax")
        self.county_use_tax = data.get("countyUseTax")
        self.county_tax_code = data.get("countyTaxCode")
        self.district_sales_tax = data.get("districtSalesTax")
        self.district_use_tax = data.get("districtUseTax")
        self.district1_code = data.get("district1Code")
        self.district1_sales_tax = data.get("district1SalesTax")
        self.district1_use_tax = data.get("district1UseTax")
        self.district2_code = data.get("district2Code")
        self.district2_sales_tax = data.get("district2SalesTax")
        self.district2_use_tax = data.get("district2UseTax")
        self.district3_code = data.get("district3Code")
        self.district3_sales_tax = data.get("district3SalesTax")
        self.district3_use_tax = data.get("district3UseTax")
        self.district4_code = data.get("district4Code")
        self.district4_sales_tax = data.get("district4SalesTax")
        self.district4_use_tax = data.get("district4UseTax")
        self.district5_code = data.get("district5Code")
        self.district5_sales_tax = data.get("district5SalesTax")
        self.district5_use_tax = data.get("district5UseTax")
        self.origin_destination = data.get("originDestination")

class AddressDetail:
    def __init__(self, data):
        self.normalized_address = data.get("normalizedAddress")
        self.incorporated = data.get("incorporated")
        self.geo_lat = data.get("geoLat")
        self.geo_lng = data.get("geoLng")

def get_sales_tax(address, api_key):
    try:
        api_url = f"https://api.zip-tax.com/request/v50?key={api_key}&address={requests.utils.quote(address)}"
        response = requests.get(api_url)

        if response.status_code != 200:
            raise Exception(f"Unexpected status code: {response.status_code}")

        response_data = response.json()
        return Response(response_data)
    except Exception as e:
        print(f"Error fetching sales tax: {e}")
        return None

def main():
    api_key = "your_api_key_here"  # Replace with your actual API key
    address = "200 Spectrum Center Dr, Irvine, CA 92618"  # Example Address

    tax_info = get_sales_tax(address, api_key)

    if tax_info:
        print(f"Normalized Address: {tax_info.address_detail.normalized_address}")
        print(f"Address Lat/Lng: {tax_info.address_detail.geo_lat}, {tax_info.address_detail.geo_lng}")
        if tax_info.results:
            print(f"Rate: {tax_info.results[0].tax_sales * 100:.2f}%")

if __name__ == "__main__":
    main()
Salin selepas log masuk

Penjelasan Kod

  1. Permintaan API: Fungsi get_sales_tax membina URL dengan kunci API dan alamat, membuat permintaan GET dan menghuraikan respons.
  2. Penghuraian Respons: JSON respons tidak dikawal untuk akses mudah kepada butiran cukai jualan.
  3. Hasil Paparan: Fungsi utama mencetak alamat biasa, lat/lng dan kadar cukai jualan untuk kod alamat yang ditentukan. Anda boleh menggunakan mana-mana nilai respons di sini untuk mengeluarkan data yang anda perlukan.

Langkah 4: Jalankan Aplikasi

Simpan kod ke fail (cth., main.py), kemudian jalankan atur cara:

python main.py
Salin selepas log masuk

Anda sepatutnya melihat output yang serupa dengan ini:

Normalized Address: 200 Spectrum Center Dr, Irvine, CA 92618-5003, United States
Address Lat/Lng: 33.652530, -117.747940
Rate: 7.75%
Salin selepas log masuk

Kesimpulan

Mengintegrasikan API zip.tax ke dalam aplikasi Python anda adalah mudah. Dengan mengikuti panduan ini, anda boleh meningkatkan aplikasi anda dengan maklumat cukai jualan yang tepat berdasarkan alamat. Untuk butiran lanjut, rujuk dokumentasi rasmi.

Jika anda mempunyai sebarang soalan atau maklum balas, sila tinggalkan komen di bawah. Selamat mengekod!

Atas ialah kandungan terperinci Sepadukan API Cukai Jualan zip.zax dalam Apl Python Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan