ホームページ > バックエンド開発 > Python チュートリアル > zip.zax Sales Tax API を Python アプリに統合する

zip.zax Sales Tax API を Python アプリに統合する

Susan Sarandon
リリース: 2024-12-21 02:24:10
オリジナル
485 人が閲覧しました

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

正確な消費税計算が必要なアプリケーションを構築している場合、zip.tax API は統合に最適なツールです。このガイドでは、Python アプリケーションで zip.tax API を設定して使用する方法を説明します。

前提条件

始める前に、以下のものがあることを確認してください:

  • Python の基礎知識
  • Python 開発環境がセットアップされました。
  • zip.tax の API キー

ステップ 1: 必要なライブラリをインストールする

HTTP リクエストを行うには、Python の標準リクエスト パッケージを使用します。さらに、JSON 応答の解析には json を使用します。

ステップ 2: Python プロジェクトをセットアップする

新しいプロジェクト ディレクトリを作成し、新しいモジュールを初期化します:

mkdir ziptax-python && cd ziptax-python
ログイン後にコピー

ステップ 3: コードを書く

これは、消費税情報を zip.tax API にクエリする単純な Python アプリケーションの完全な例です。

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()
ログイン後にコピー

コードの説明

  1. API リクエスト: get_sales_tax 関数は、API キーとアドレスを使用して URL を構築し、GET リクエストを作成し、レスポンスを解析します。
  2. 応答の解析: 消費税の詳細に簡単にアクセスできるように、応答の JSON はアンマーシャリングされます。
  3. 表示結果: main 関数は、指定された住所コードの正規化された住所、緯度/経度、および消費税率を出力します。ここで任意の応答値を使用して、必要なデータを出力できます。

ステップ 4: アプリケーションを実行する

コードをファイル (main.py など) に保存し、プログラムを実行します。

python main.py
ログイン後にコピー

次のような出力が表示されるはずです:

Normalized Address: 200 Spectrum Center Dr, Irvine, CA 92618-5003, United States
Address Lat/Lng: 33.652530, -117.747940
Rate: 7.75%
ログイン後にコピー

結論

zip.tax API を Python アプリケーションに統合するのは簡単です。このガイドに従うことで、住所に基づいた正確な消費税情報を使用してアプリケーションを強化できます。詳細については、公式ドキュメントを参照してください。

ご質問やフィードバックがございましたら、お気軽に以下にコメントを残してください。コーディングを楽しんでください!

以上がzip.zax Sales Tax API を Python アプリに統合するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート